Comments (5)
One benefit of fixed-length 0x00012345
over 12345
is that consumer can order by
it without casting it back to bigints, which can be easily forgotten. This is treating serial
like an opaque type.
If that is not a concern, or we already display serial
in decimal in some other places, using a consistent decimal representation could make crossing referencing much easier.
from risingwave.
I submitted a PR trying to use padded hexadecimal strings in the JSON. It looks ok.
{"_row_id":"0x05cd07777f434000","v":1}
{"_row_id":"0x05cd07758bc9c000","v":2}
from risingwave.
Any progress? @xxchan @shanicky
from risingwave.
Currently, we have supported int64 in protobuf format directly as a native number, but we haven't supported it in JSON and Avro formats. Because we need to use serial
as a key and JSON's handling of large numbers cannot guarantee precision, we need to convert it to a string type. cc @fuyufjh Is this approach okay? Should we convert it directly to a string as "12345"
, or convert it to hexadecimal as "0x12345"
, or perhaps add a prefix like "rw-serial:12345"
? Which option would have the lowest overhead for us in terms of interpretation?
Avro doesn't have this issue, so we can use native int64.
from risingwave.
Agree that the serial
value needs to be converted to string. This because our row_id is almost 100% out of the MAX_SAFE_INTEGER
so that a normal downstream JSON parser may lose precision.
Either plain string "12345" or hexadecimal "0x12345" looks good to me.
from risingwave.
Related Issues (20)
- EOWC: close `RANGE`/`SESSION` window with watermark
- `ALTER TABLE` will refresh previous snapshot values for absent cells
- bug: fail to load workload identity token on azure environment
- cherrypick feat(udf): add metric of UDF memory usage (#16922) to branch release-1.9 HOT 1
- when using external schema, `struct`'s fields are not shown in `describe <table>` HOT 2
- Division by zero exception HOT 7
- e2e test time increased from 15min to 20min in ci HOT 1
- Performance lost after using `BTreeMap` for WITH properties
- hint user when column not found HOT 1
- bug: CI failure: integration test (madsim): progress not within bounds 0.9
- bug(main-cron): pulsar source check: gRPC request to meta service failed: Unknown error HOT 3
- feat: expose dedicated source for table in system catalog rw_sources
- Reclaim space more aggresively for table with vnode table watermark specificed (table with range delete)
- system table for source health status HOT 1
- SSL configurations is not supported for schema registry HOT 2
- Don't let jni_core depends on (the whole) storage crate HOT 2
- dep: try to use either aws-lc-rs or ring
- Rework ci labels
- reorganize directories at the root of the repo
- error in metabase: function has_any_column_privilege does not exist HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from risingwave.