multiprocessio / datastation

App to easily query, script, and visualize data from every database, file, and API.
https://datastation.multiprocess.io
Other
2.9k stars 112 forks source link

Flatten all objects being used in database panels #145

Closed eatonphil closed 2 years ago

eatonphil commented 2 years ago

Currently any objects pulled into database panels have nested fields skipped. That's not ideal since there are plenty of good reasons for nested structures.

This will require bringing the Go port of shape completely up to date with the original JavaScript implementation since the Go shape library completely skips nested fields while the JS one does not.

Once we know about nested fields in the shape the DB panels can do the collapse when they ingest panels.

This means you'd be able to query like SELECT "x.y.z" FROM DM_getPanel('My JSON rows'). You'll need to quote the field though with dots in it because the column name will literally have dots in it which would conflict with the natural SQL parser unless the column is escaped.

Required for https://github.com/multiprocessio/dsq/issues/10