skytable / skytable

Skytable is a modern scalable NoSQL database with BlueQL, designed for performance, scalability and flexibility. Skytable gives you spaces, models, data types, complex collections and more to build powerful experiences

Home Page:https://skytable.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tracking issue: Implement BlueQL for DDL

ohsayan opened this issue · comments

commented

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 succeeds create keyspace <keyspace>
    • create model <name>(declaration) succeeds create table <table> keymap(declaration)
    • all other queries remain the same
  • types:
    • str becomes string
    • binstr becomes binary
  • The entity syntax changes to support future selector queries
    • use ks:tbl becomes use 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".

commented

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.