473,394 Members | 1,674 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Inoperative packages vs. invalid packages

(DB2 9) Inoperative packages must be explicitly rebound, but invalid
packages can be rebound automatically. Do you know what is the
difference?

Example:

create function f1
create procedure p1, that is using f1

If I recreate function f1, then when executing p1 automatically I got
an error SQL0572N, Package "DB2ADMIN.P0014410" is inoperative. This
error is very painful when using developer workbench. I have to leave
gui -- one should expect to do this automatically by DB2 or DWB.

If I create 2 procedures, p1 which executes p2; Recreating p2 can make
the p1 ackage invalid, but procedure p1 will run, bacause the package
will be automatically rebound.
-- Artur Wronski

Jun 22 '07 #1
3 6800
Artur wrote:
(DB2 9) Inoperative packages must be explicitly rebound, but invalid
packages can be rebound automatically. Do you know what is the
difference?
When a package is inoperative the user has to intervene to decide
whether the package should be rebound with conservative or non
conservative semantics. Especially in the context of functions which
have rich overloading capabilities there is significant reason to
believe that the package may behave differently after a non-conservative
rebind because a different function could be picked. (changes in
authorizations, other matches along PATH etc...)
The most prominent example for the difference between conservative and
non-conservative rebind is SELECT *. Any subsequently added column is
not visible until the package is rebound non conservatively (i.e.
explicitly).

Now, you will find that improvements to ALTER TABLE in DB2 9 have
started to poke holes into this thinking. I.e. when you change a column
type DB2 will auto-revalidate (non conservative) triggers, SQL Functions
and Views.
I think we can expect non-conservative, implicit revalidation in the
future.

Thanks for bringing this up. It confirms the path I'm pushing.

Cheers
Serge
--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Jun 23 '07 #2
On 23 Cze, 14:29, Serge Rielau <srie...@ca.ibm.comwrote:
Artur wrote:
(DB2 9) Inoperative packages must be explicitly rebound, but invalid
packages can be rebound automatically. Do you know what is the
difference?

When a package is inoperative the user has to intervene to decide
whether the package should be rebound with conservative or non
conservative semantics. Especially in the context of functions which
have rich overloading capabilities there is significant reason to
believe that the package may behave differently after a non-conservative
rebind because a different function could be picked. (changes in
authorizations, other matches along PATH etc...)
The most prominent example for the difference between conservative and
non-conservative rebind is SELECT *. Any subsequently added column is
not visible until the package is rebound non conservatively (i.e.
explicitly).

Now, you will find that improvements to ALTER TABLE in DB2 9 have
started to poke holes into this thinking. I.e. when you change a column
type DB2 will auto-revalidate (non conservative) triggers, SQL Functions
and Views.
I think we can expect non-conservative, implicit revalidation in the
future.

Thanks for bringing this up. It confirms the path I'm pushing.

Cheers
Serge
--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Serge, Thanks.
Keep pushing ;-)

-- Artur

Jun 23 '07 #3
Keep pushing ;-)

Especially for the cases where udf is recreated -- the only option is
to rebind with resolve any. If this is the only option - should be
done implicitly.

-- Artur

Jun 23 '07 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Debian User | last post by:
With redhat deciding go make some real money from the fruits of their labour, management decided to try out debian. This leads me to my possible future problem: is there a way to create debian...
2
by: Peter Saffrey | last post by:
(apologies for starting a new thread - Google can't retrieve the other message for some reason) Yes, /usr/lib/python/site-packages is in sys.path. This series of commands should explain what I...
1
by: NKrishnan | last post by:
Hi, We are using oracle 9i and weblogic 7 sp2. The following is the problem. The package A depends on package B. If B is recompiled then package A get invalidated. So far so good. If you are...
0
by: Rich Burridge | last post by:
Hi, I work in the Accessibility Program Office at Sun Microsystems. I'm part of a team that is using Python to create a screen reader called Orca, that'll help blind people (and people with low...
0
by: Kumar | last post by:
Need urgent help.... I wanted update one table which has a primary key and also has few dependents. I dropped Primary key before update sothat it won't affect the dependent tables. After...
7
by: Anthony Robinson | last post by:
Have been encountering an odd issue. Every now and again, certain packages of stored procedures just become invalid. I'm aware that dropping or altering an underlying table would render a package...
3
by: Gustavo Randich | last post by:
Hello, Is there a way to revalidate (rebind) all inoperative packages (SYSCAT.PACKAGES.VALID = 'X') via a stored procedure that scans invalid packages from SYSCAT.PACKAGES and execute the CLP...
0
by: giovanni gherdovich | last post by:
Hello, first of all: Is this the right place to ask plastek-related questions? I'm trying to make plastex work on my Ubuntu Dapper Drake. For LaTeX, I have the all-in-one package tetex.
8
by: mryangza | last post by:
Hi all, Is there a mechanism for manually marking routine packages as inoperative in DB2LUW? The problem I'm trying to solve is one of recreating interdependent functions. My application...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.