datajoint-python
datajoint-python copied to clipboard
Add `json` data type
trafficstars
- Add support for
jsontype. Useful doc on querying with JSON_VALUE.- [x] insert
- [x] fetch
- [x] projection
- [x] querying
- [x] indexing
- [x] describe
- [ ] documentation
- Proposing here that we should only support
jsontype in MySQL >=8.0 sinceJSON_VALUEapproach is quite useful in returning with specific types, however, it was introduced in 8.x. - Implement using MySQL's approach since it should be compatible with Percona as well. Though there is similar functionality in MariaDB, they've chosen to use
jsonas an alias forlongtext+ check constraint usingJSON_VALID. Due to how different the implementations are, MariaDB won't be supported in our implementation ofjsontype. - Full fetch is supported and partial fetches can be performed by projecting first (since a proper attribute name should be set).
- From MySQL docs, looks like the size upper limit is the same as
longblob(i.e. 4GB) per value. - Other items:
- [x] Replace prints with logs
- [x]
table.progress()defaults to no display - [x]
table.describe()defaults to no display - [x] Optimize database healthcheck in tests
- [x] Fix bug in
test_droptest - [x] Bump version to
0.14.0
- ~~Known gaps:~~
- ~~support for creating indexes. It is possible but there is more needed work to make it compatible with
describe().~~
- ~~support for creating indexes. It is possible but there is more needed work to make it compatible with
Depends on #1052