473,594 Members | 2,692 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Possible to manually mark routine packages as inoperative in DB2LUW?

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 creates a number of functions during its
installation. A later version of the application introduces changes to
some of these functions and needs to recreate those that were
affected. Now, I cannot drop some of these since they are used by
other functions.

I've been looking for a way of avoiding dropping all dependant before
recreating a function. I was wondering whether dependant functions
associated with inoperative packages would restrict a drop operation
of the function they depend on?
Oct 23 '08 #1
8 2044
mr******@gmail. com wrote:
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 creates a number of functions during its
installation. A later version of the application introduces changes to
some of these functions and needs to recreate those that were
affected. Now, I cannot drop some of these since they are used by
other functions.

I've been looking for a way of avoiding dropping all dependant before
recreating a function. I was wondering whether dependant functions
associated with inoperative packages would restrict a drop operation
of the function they depend on?
I'm somewhat dumbfounded by what you are saying.
In DB2 as of today SQL Functions are inlined, they cannot be
interdependent directly.
The only way to get interdependent SQL Functions is to either go through
an external UDF (with SQL in it) or by CALLing a PROCEDURE in the mix.
That would also be the only objects with packages (inline SQL Funnctions
by definition have none.
It should be no problem to drop the functions that the procedure depnds on.
Do you have a repro scenario?

Cheers
Serge

--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Oct 23 '08 #2
Sorry, I think I've mixed up my terminology or at least, haven't been
particularly clear.

Consider the following situation:

CREATE FUNCTION MYSUM(
i1 INTEGER,
i2 INTEGER)
RETURNS INTEGER
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
CONTAINS SQL
RETURN i1 + i2

CREATE FUNCTION MYFUNC(
i1 INTEGER,
i2 INTEGER)
RETURNS INTEGER
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
CONTAINS SQL
RETURN MYSUM(i1, i2)

Now, if I decide I want to recreate MYSUM, for some reason, then when
I attempt to drop it I am restricted because MYFUNC depends on it.

Is there a mechanism for somehow marking MYFUNC as inoperative (not
sure that you can do this with UDF's?) that will allow me to drop
MYSUM successfully?

Thanks,

Ryan
Oct 23 '08 #3
mr******@gmail. com wrote:
Sorry, I think I've mixed up my terminology or at least, haven't been
particularly clear.

Consider the following situation:

CREATE FUNCTION MYSUM(
i1 INTEGER,
i2 INTEGER)
RETURNS INTEGER
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
CONTAINS SQL
RETURN i1 + i2

CREATE FUNCTION MYFUNC(
i1 INTEGER,
i2 INTEGER)
RETURNS INTEGER
LANGUAGE SQL
DETERMINISTIC
NO EXTERNAL ACTION
CONTAINS SQL
RETURN MYSUM(i1, i2)

Now, if I decide I want to recreate MYSUM, for some reason, then when
I attempt to drop it I am restricted because MYFUNC depends on it.

Is there a mechanism for somehow marking MYFUNC as inoperative (not
sure that you can do this with UDF's?) that will allow me to drop
MYSUM successfully?
You have to drop MYFUNC first.
Are you coming to IOD? If so you want to attend:
2343 SQL PL, All Grown Up
2505 Shifting Shapes: Transforming the Way You Evolve Your DB Schema
2999 You will also like.
Cheers
Serge

--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Oct 23 '08 #4
Thanks for the (as usual) quick and helpful response Serge, this is
pretty much what I expected and implemented in my application upgrade.
I just wanted to confirm that there wasn't some magic hidden somewhere
that would allow us to sidestep the restrictions :)

I'm afraid I won't be attending IOD, it seems like it would have been
a great learning experience.

Thanks again,

Ryan
Oct 24 '08 #5
Ian
Serge Rielau wrote:
You have to drop MYFUNC first.
Are you coming to IOD? If so you want to attend:
2343 SQL PL, All Grown Up
2343, are you sure? I don't see that...
Oct 25 '08 #6
Ian wrote:
Serge Rielau wrote:
>You have to drop MYFUNC first.
Are you coming to IOD? If so you want to attend:
2343 SQL PL, All Grown Up

2343, are you sure? I don't see that...
TLU-2343 SQL PL - All Grown up
2343A Wed, 29/Oct 11:30 AM - 12:30 PM Mandalay Bay North Convention
Center - Islander E

I'll try to find out why it isn't listed yet.

Cheers
serge
--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Oct 25 '08 #7
Serge Rielau wrote:
Ian wrote:
>Serge Rielau wrote:
>>You have to drop MYFUNC first.
Are you coming to IOD? If so you want to attend:
2343 SQL PL, All Grown Up

2343, are you sure? I don't see that...
TLU-2343 SQL PL - All Grown up
2343A Wed, 29/Oct 11:30 AM - 12:30 PM Mandalay Bay North Convention
Center - Islander E

I'll try to find out why it isn't listed yet.
Fixed.

Cheers
Serge

--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Oct 25 '08 #8
Ian
Serge Rielau wrote:
Serge Rielau wrote:
>Ian wrote:
>>Serge Rielau wrote:
You have to drop MYFUNC first.
Are you coming to IOD? If so you want to attend:
2343 SQL PL, All Grown Up

2343, are you sure? I don't see that...
TLU-2343 SQL PL - All Grown up
2343A Wed, 29/Oct 11:30 AM - 12:30 PM Mandalay Bay North Convention
Center - Islander E

I'll try to find out why it isn't listed yet.
Fixed.
Awesome, thanks!
Oct 26 '08 #9

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

Similar topics

2
7046
by: Sibylle Koczian | last post by:
Hello, I've installed Python 2.4 and the win32 extensions, using administrator rights, under Windows XP in "C:\Programme". As this is a directory without spaces I didn't expect any problems. But now I can't _use_ win32com as a normal user, because normal users can't write there: PythonWin 2.4.1 (#65, Mar 30 2005, 09:13:57) on win32. Portions Copyright 1994-2004 Mark Hammond (mhammond@skippinet.com.au) -
4
4011
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 dropping promary key, I could see many packages were invalid in syscat.packages (VALID column).
3
2466
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 command REBIND or something similar? I need this because db2rbind doesn't fix inoperative ('X') packages, and I need a script runnable from SQL console (NOT CLP console!) which fixes all of them at once.
1
2655
by: Brian Tkatch | last post by:
V8.1.6 In order to check if a routine is valid or not, SysCat.Packages must be checked, since SysCat.Routines is nearly always Valid = 'Y'. I chalked it up to DB2's idiosyncrasies (of which there seems to be many) and moved on. However, in order to check SysCat.Packages, the packagename is required, and that is not in SysCat.Routines. So, i checked the newsgroups and found out that the first eight characters of
4
1697
by: Mark | last post by:
Hi, is it possible to declare a delegate inside a routine? E.g private void MySub() { delegate int oAddMe(int n1, int n2); } Or can delegates only be declared with a global scope inside the
0
1749
by: LordHog | last post by:
Hello all, I have a little application that will be used for test environment that utilizes the CAN Messaging. The application will capture and then decode the CAN message that are received. In the API reference material the device will generate an interrupt which the user much provide an interrupt service routine with the entry pointed at the interrupt 0x16 vector ( Address = 0x0083 ). Is it possible to write an interrupt service...
1
2933
by: rAinDeEr | last post by:
Hi, I have started using DB2 UDB ESE v8.2 in Linux recently. I have seen a lot of articles on packages, prepare statement, bind and execute statement. I havent got a clear idea. I have written a few stored procedures but havent used prepare and execute.
4
5596
by: Roger | last post by:
I am getting -805 on SYSLH packages and I have already increase the CLIPKG to 30. I am still getting -805. Is there any db or dbm cfg setting that could cause DB2 to use new SYSLH packages ? Is there any benefit is doing a DB2JDBCBIND on top of the db2 bind with clipgk 30. ? thanks
3
6833
by: Artur | last post by:
(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
0
7947
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8255
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8010
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8242
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6665
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
3868
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
3903
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1486
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1217
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.