Skip to content

Commit

Permalink
Add note on spec
Browse files Browse the repository at this point in the history
  • Loading branch information
ohsayan committed Jan 9, 2024
1 parent 648bcb8 commit b6c5dbb
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions docs/blueql/1.overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ id: overview
title: Overview
---

BlueQL<sup>TM</sup> is Skytable's own query language that very closely follows the design of SQL but with many modern features
and superior security. This document explores a basic overview of BlueQL.
BlueQL<sup>TM</sup> is Skytable's own query language that very closely follows the design of SQL but with many
modern features and superior security. This document explores a basic overview of BlueQL.

Design principles:
- **Simplicity and clarity**: The language shouldn't be overwhelming to understand
Expand All @@ -18,15 +18,20 @@ Just like SQL, BlueQL has three categories of commands/queries inside it:

Jump to [differences from SQL](#differences-from-sql).

## Language specification
:::info
This text is *not* a detailed, formal guide. It's meant for developers and users who want to work with
Skytable. If you need a more formal specification, like a grammar definition, please ask us, and we'll create
it. We haven't published it yet because no one has requested it.
:::

### Identifiers
## Identifiers
Can begin with any ASCII alphabet or an underscore (`_`) and then have any number of alphanumeric characters and/or underscores.

### Keywords
## Keywords

Keywords are identifiers with special meanings and hence can't be used as identifiers in other places. Here's a full-list of
keywords:

```ts
[
"sysctl", "create", "alter", "drop", "use", "inspect", "describe", "insert", "select", "update",
Expand All @@ -38,7 +43,7 @@ keywords:
]
```

### Data types
## Data types

#### Boolean
A boolean value, either `true` or `false`
Expand Down Expand Up @@ -82,7 +87,7 @@ A boolean value, either `true` or `false`
New data types are frequently added, so treat this list as non-exhaustive.
:::

### Literals
## Literals

- Null literal: `null`
- Numeric literals:
Expand All @@ -102,7 +107,7 @@ It is very important for you to know that literals are not allowed everywhere. T
Read below to understand why.
:::
### Parameters
## Parameters
All literals apart from dictionaries and lists must be used as parameters. **BlueQL only allows literals as parameters**. For example, using the Rust client, if you were to run this:
Expand Down Expand Up @@ -133,7 +138,7 @@ source, it becomes a parameter. If you try to not use parameters, the query will
On a final note, BlueQL doesn't support comments of any form also for security reasons.
:::

### Expressions
## Expressions

- `+=`: add RHS to LHS
- Can be used outside arithmetic contexts
Expand Down

0 comments on commit b6c5dbb

Please sign in to comment.