From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: converting pointer to value
Date: Thu, 4 Mar 2021 22:27:04 +0100 [thread overview]
Message-ID: <s1rjb4$mh9$1@gioia.aioe.org> (raw)
In-Reply-To: f0cfc37e-d37f-4489-b79b-6b7f55e86359n@googlegroups.com
On 2021-03-04 20:38, Shark8 wrote:
> On Thursday, March 4, 2021 at 10:35:01 AM UTC-7, Dmitry A. Kazakov wrote:
>> On 2021-03-04 17:55, Shark8 wrote:
>>
>>>> type SQLPOINTER is private;
>>> ....
>>>> private
>>>> type SQLPOINTER is new System.Storage_Elements.Integer_Address;
>>>
>>> And here we have SQLPOINTER, which is private, but which is something of the same representation that Integer_Address has; let's assume that the ADDRESS type is implementation-defined, and a private type.
>> SQLPOINTER is System.Address.
>
> Which is implementation-defined.
No, it defined this way
typedef void * SQLPOINTER;
so for all purposes it is System.Address.
> None of that addresses the issue that he asked: "how to get the Pvalue as an SQLRETURN?"
OK, then the answer is you don't.
As the rule QDBC does not overlay different types. There are special
pointer values though, like 1 etc. Integer_Address can be used to encode
them. They are constants.
P.S. I think the OP refers to SQLParamData/SQLPutData mechanism. There
is no overloading either. It works this way:
prepare
bind to special "address" value, 1, I believe
execute
if SQLParamData = need_data then
loop
SQLPutData (next chunk)
end loop;
end if;
I do not think it is worth using, unless the data are so big that they
are not in the memory, or read from a stream chunk by chunk etc. Clearly
it is a very expensive method. A normal bind would be a better choice
for most applications.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2021-03-04 21:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 15:59 converting pointer to value Björn Lundin
2021-03-04 16:50 ` Dmitry A. Kazakov
2021-03-05 7:06 ` Björn Lundin
2021-03-05 7:44 ` Dmitry A. Kazakov
2021-03-05 9:10 ` Björn Lundin
2021-03-04 16:55 ` Shark8
2021-03-04 17:35 ` Dmitry A. Kazakov
2021-03-04 19:38 ` Shark8
2021-03-04 21:27 ` Dmitry A. Kazakov [this message]
2021-03-05 8:58 ` Björn Lundin
2021-03-05 8:54 ` Björn Lundin
2021-03-05 11:02 ` Björn Lundin
2021-03-05 11:57 ` Björn Lundin
2021-03-05 14:00 ` Dmitry A. Kazakov
2021-03-09 12:07 ` [SOLVED] " Björn Lundin
2021-03-04 20:09 ` Simon Wright
2021-03-04 21:00 ` Shark8
2021-03-05 8:59 ` Björn Lundin
2021-03-05 7:10 ` Björn Lundin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox