questdb / py-questdb-client

Python client for QuestDB InfluxDB Line Protocol
https://py-questdb-client.readthedocs.io
Apache License 2.0
50 stars 8 forks source link

Columns of type long256 are not supported #19

Closed damiendr closed 1 year ago

damiendr commented 2 years ago

There doesn't seem to be a way to pass values for long256 columns at the moment:

buffer.row(mytable, columns={col256=<very_large_int>})
src/questdb/ingress.pyx in questdb.ingress.Buffer.row()
src/questdb/ingress.pyx in questdb.ingress.Buffer._row()
src/questdb/ingress.pyx in questdb.ingress.Buffer._row()
src/questdb/ingress.pyx in questdb.ingress.Buffer._column()
OverflowError: Python int too large to convert to C long

Maybe this could be implemented by checking the value of integer arguments and using the 0x1234i syntax when appropriate, or via some Long256 wrapper?

amunra commented 2 years ago

Hello!

LONG256 has a few limitations within the database: It can only support equality comparisons (no arithmetic) and it has been mainly added for storing cryptographic hashes.

What's your use case out of curiosity?

pswu11 commented 2 years ago

Hi @damiendr in case you're not aware, we also have a public community for questdb users: https://slack.questdb.io/

amunra commented 1 year ago

Hi @damiendr I'm closing the ticket for now as (to the best of my knowledge) we haven't heard back. I'm happy to reopen this ticket if there's further demand for the feature.