[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

5008.0. "How to use multiple shareable images" by svrav1.au.oracle.com::MBRADLEY (I was dropped on my head as a baby. What's your excuse?) Fri Feb 07 1997 00:02

I have a customer who has mulitple shareable images combine together to 
build their application. Some programs are RDML and some are SQL. The 
images aren't linked together necessarily, but rather they use 
lib$find_image_symbol and lib$callg to call into them.

They followed the directions for shareable image options files, and also 
built a stub shareable image that is compiled /INITIALISE_HANDLES. Each 
other shareable image is linked against the stub image to make sure the 
database hadnles etc are resolved to the same address by the linker.

All real shareable iamges are compiled /noinit, and linked against the 
stub. Kinda like:-

                       STUB.SCO      /INIT linked /SHARE
                      /   |   \
                     /    |    \
                   S1     S2 ...Sn    /NOINIT linked /SHARE
                     \    |     /
                      \   |    /
                         PROG         USes lib$callg to call into S1...Sn

$ HELP SQLMOD COMMAND_LINE ARGUMENTS INIT shows .....

           Specifies whether handle values in the module should be
           initialized to zero. You must initialize handles to build shared
           images. If you need to run RDBPRE and RDML applications in SQL,
           specify INITIALIZE_HANDLES.
 
           The default setting is INITIALIZE_HANDLES.

I would expect errors from the linker if multiple shareable iamges in the 
same application was compiled /INIT.

What should they really be doing here?

Thanks,

Mark.
T.RTitleUserPersonal
Name
DateLines