chdb-io / chdb-go

Go bindings and cli for chDB, an in-process SQL OLAP Engine powered by ClickHouse
https://chdb.io
Apache License 2.0
84 stars 3 forks source link

Added explicit key for using unsafe string reader #11

Closed agoncear-mwb closed 3 months ago

agoncear-mwb commented 4 months ago

In the previous PR, the driver used the unsafe method getStringFromBytes for returning strings to the caller in the Next method. This function was used to prevent memory allocation for strings since it just interprets the underlying byte array as a string and return it. But without an explicit indication from the caller that we should use this method, we should instead return a new allocated string without all the overhead that reusing the byte array implies into the caller.

This PR address this issue and force the user wich want to use the unsafe function, to declare it in the connection parameters while opening the connection. This will make the driver safer and will allow for a safer use from all the users.

auxten commented 3 months ago

LGTM