mirror of
https://github.com/SOCI/soci.git
synced 2025-12-30 17:50:07 -06:00
We need to read the entire contents of the CLOB in Oracle backend and not just the number of bytes corresponding to its length in characters as returned by OCILobGetLength() because this may (and will) be strictly less than its full size in bytes for any encoding using multiple bytes per character, such as the de facto standard UTF-8. Also make reading CLOBs more efficient by doing what Oracle documentation suggests and using the LOB chunk size for reading. Finally, add a unit test checking that using non-ASCII strings in UTF-8 (which had to be enabled for the CI) with CLOBs does work. This commit is best viewed ignoring whitespace-only changes.