Re: using host arrays in PRO*C
Date: 1995/08/15
Message-ID: <sberDDDL66.Hxr_at_netcom.com>#1/1
Thank you for replying to my post at comp.databases.oracle.
Frankly, my post was intentionally offensive, I was trying to trigger a response from somebody knowledgeable at Oracle, because I could not get any intelligent answers from the technical support.
According to the PRO*C manual page 192 declaring host arrays in Declare Section is required only if MODE=ANSI.
The following fragment
void test()
{
int arr[100];
EXEC SQL DELETE FROM compounds WHERE ckey = :arr;
}
compiled in PRO*C does not have 100 assigned to anything in the generated code.
Based on your email, I know now, that it will delete only one row, since
sqlstm.iters = 1.
The rest of your response is almost as unreasonable and offensive as my original post. Using C was not my decision and actually we are using C++, but PRO*C 2.0, does not support C++, so I had to write the interface in C. Loss of support of C++ in PRO*C 2.0 comparing to 1.7 is not something Oracle should be proud of.
FYI, there is an unreliable way of determining the size of an array on the heap, the standard UNIX V malloc stores the size in the word just above the segment.
Thanks again,
Shneor Berezin, SMTS, Molecular Simulations Inc., shneor_at_ba.msi.com
Received on Tue Aug 15 1995 - 00:00:00 CEST