Tracking issue: Implement BlueQL for DDL
ohsayan opened this issue · comments
This issue tracks the initial BQL impl for DDL (see #263), succeeding the action-based API. This means that you no longer need to 'split' the query across arguments but instead directly run things like "create space myapp"
New semantics
- queries:
create space <space>
: this succeedscreate keyspace <keyspace>
create model <name>(declaration)
succeedscreate table <table> keymap(declaration)
- all other queries remain the same
- types:
str
becomesstring
binstr
becomesbinary
- The entity syntax changes to support future selector queries
use ks:tbl
becomesuse ks.tbl
- We are yet to discuss on the partial entity syntax
BQL keywords
- create
- drop
- inspect
- model
- space
- volatile
- string
- binary
- list
- force
Expect more keywords to be added as we add more features; we will also support escaping identifier names with quotes; this means that if you want to create a model
with the name model
, you would be able to do create model "model"
.
This also brings in support for nested list declarations! However, right at this point the storage engine doesn't support it, so we'll just have to implement the underlying interfaces.