Re:JSONB Has Landed in SQLite
by cryptonector on Wednesday December 06, 2023 @06:26PM
(#38550896)
> The question is whether people think of their database as a processor of data or a storage location for data
If you use the database's JSON type(s) and/or functions, then yes, your database is a JSON processor.
And, yes, your database is not a dumb store, not if it's an RDBMS. The whole point of it is that it's not a dumb store.
Re:JSONB Has Landed in SQLite
by seanhunter on Wednesday December 06, 2023 @02:14PM
(#38548232)
If you're storing it exactly as provided then surely until you know it's actually valid json you want a string, not a json/jsonb column.
> Javascript environments ... guarantee that they'll preserve object key order when JSON is evaluated
Yes, but only for non-integer keys.
Is there such a thing as a non-string JSON key to be evaluated? https://www.json.org/ suggests not.
Yes, in the context of JSON handling by JavaScript. I meant string keys that can be interpreted as non-negative numbers. Those are traversed first, the rest of the keys are coming in insertion order. For example:
> JSON.stringify({'one': 1, '3': 3, 'two': 2, '2': 2, 'three': 3, '1': 1})
'{"1":1,"2":2,"3":3,"one":1,"two":2,"three":3}'
Additionally, Javascript environments (formalized in ES2015), your text editor, and your filesystem all guarantee that they'll preserve object key order when JSON is evaluated. It's not unreasonable that someone would expect this of their database!