-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XMLTYPE as "real" XML #162
Comments
Noted. Historically the XML team hadn't exposed necessary APIs through the Oracle Client C libraries, but that may have been resolved. |
XML APIs seem to be available at least since Oracle instant client 11.2.0.4. I tested it using this code. It is compilable since Oracle instant client SDK 18.3 as it is. Oracle instant client SDK 11.2.0.4 doesn't include necessary header files. However it is compilable by copying The code inserts the following XML and fetches it. The total size is about 640k. <data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
<data>xxxx ... omitted (the size is 64k - 2) ...xxx</data>
</data> Note that the maximum size of one text node seems "64k - 2". If the size (see here) is changed to "64k - 1" or bigger, it crashes by segmentation fault. The 64k limitation may be overcome by Orastream APIs.
|
There might have been some historic 'thunking' issues on Windows, possibly fixed in 18.1 (with various backports). |
I would like to be able to read XMLTYPE data as XML without having to re-parse it from a string. Of course, this would need to be able to return data larger than VARCHAR2(4000) as well.
My use case for this would be through implementation in
rust-oracle
in both Linux and Windows.The text was updated successfully, but these errors were encountered: