So I've done more tests.

With preparedStatement you can actually insert binary data but I haven't been 
able to retrieve it (same issue of cstring data getting truncated on select 
when using either getValue or getRow).

tiny_sqlite is able to do this with the minor issue that you have store your 
data into a seq[byte].

After having played around with buffer and seq[byte] / string, I think Nim has 
room to grow regarding the handling of binary data.

Most notable things that I think would help :

1\. Not having a way to get a string representation of a openArray[byte] / 
openArray[char] and vice-versa. It creates unnecessary copyMem simply to change 
your data format.

2\. Not having a ByteStream type makes using binary protocol harder. A stream 
could help with 1. as well.

3\. Forcing cstring conversion in SQLite API without the possibilities of using 
openArray[byte] instead makes working with binary data & BLOB more complicated.

I'm curious if there are any ongoing discussion on these topics ? Is this 
something that could be implemented on the standard lib or should it be an 
external module ?

Reply via email to