1391 Commits (2f128c2cf2d497c2c099d2eb39e9ddc9a050e173)
 

Author SHA1 Message Date
Sayan Nandan 603ea85e8c
Add index definitions 2 years ago
Sayan Nandan ee32df0916
Add iterator definitions to ME trait 2 years ago
Sayan Nandan a116e49953
Add initial definition of `MemoryEngine` 2 years ago
Sayan Nandan fd22b51183
Use `State` for all other DDL statements 2 years ago
Sayan Nandan 763007a98c
Use `State` for `CREATE` and `ALTER` statements 2 years ago
Sayan Nandan 2756b1d070
Simplify lit to owned data clone 2 years ago
Sayan Nandan 4d140c74fd
Support built-in fn substitution 2 years ago
Sayan Nandan 0f064e1087
Use `State` for more reliable QP 2 years ago
Sayan Nandan 1df6f33032
Remove `RawSlice` usage
This hasn't been an easy task, but I'm finally very happy that we've
gotten rid of all usage instances of `RawSlice` within `engine::ql`.
This is a great feat in terms of codebase cleanup, removing unnecessary
usage of `unsafe` code.

However, this had made lifetimes slightly more complex; for example, we
can no longer directly return from methods that use `&[Token]` since all
returned data is now bound to the same lifetime.

Either way, with some care such issues can be avoided.
2 years ago
Sayan Nandan 255d058793
Add tests for secure list parsing 2 years ago
Sayan Nandan 16fb7a7d1b
Support parameters in DDL queries 2 years ago
Sayan Nandan ce8bba18cd
Add support for parameterization 2 years ago
Sayan Nandan 3257798ee0
Use `LitIR` throughout `dml` 2 years ago
Sayan Nandan 40b4c5042a
Define `QueryInterface` 2 years ago
Sayan Nandan 82f8cea5d1
Fix tests in `tests::dml_tests` 2 years ago
Sayan Nandan 4c5e919954
Store rel expr operands as `LitIR` reprs 2 years ago
Sayan Nandan b918af6d96
Use flags for DT 2 years ago
Sayan Nandan 5d527408cd
Fix number decode algorithm for signed numbers
Also added preliminary tests for the same
2 years ago
Sayan Nandan dae3faf87d
Implement insecure lexer 2 years ago
Sayan Nandan 5a7145fa40
Implement parameterization and remove unsafe literals
Also refactored tests for clarity
2 years ago
Sayan Nandan 79050e5fff
Rename `UnsafeLit` to `SafeLit`
This is more logical due to the inherent meaning of `unsafe`
2 years ago
Sayan Nandan bd0c06652c
Use `where` clauses by default for DML queries
Along with this, here's a summary of other changes:
- `RawSlice` now uses `NonNull` to help the compiler with size opts
- The lexer now allows case insensitive keyword usage (I still DO NOT
particularly approve of it, because enforcing is important)
2 years ago
Sayan Nandan 2dec28d989
Add `where` clause parsing 2 years ago
Sayan Nandan cac7bd4860
Add new keywords 2 years ago
Sayan Nandan 7e5e2838cc
Add support for relational expressions 2 years ago
Sayan Nandan ddba886a0f
Add operating modes 2 years ago
Sayan Nandan d1cba5d8b4
Support signed integers 2 years ago
Sayan Nandan 9d51dc70fe
Make sure we accept all literal types in queries 2 years ago
Sayan Nandan 986cb26ebd
Support `null` in dict and tymeta 2 years ago
Sayan Nandan 173832dd13
Add benches for `drop` 2 years ago
Sayan Nandan c36693afd5
Add benches for `use` and `inspect` 2 years ago
Sayan Nandan 5711fd1089
Improve DDL query parsing
Summary of changes:
- Remaining query parse methods that directly used the `Compiler` were
modified to use token streams instead
- `Entity::parse_from_tokens` to fix assignment to counter instead of
increments
- Allow entity in `drop model`
- `alter model` and `alter space` directly handle space/model names
instead of depending on passing value via args
- Tests added for `drop` and `inspect`
2 years ago
Sayan Nandan 89c6035367
Fix some DDL query implementations
Summary of changes:
- The `drop` queries now use the `DropItem` for drop definitions
- `create model` is now entirely handled by the function in `schema`
- `create space` is now entirely handled by the function in `schema`
- Tests were added for drop (they were never present before)
2 years ago
Sayan Nandan 05b8fe81c0
Add basic benches for `ql`
The benches for the protocol were fixed as well.
2 years ago
Sayan Nandan db35f8a31b
Fix update to allow single entities to be passed 2 years ago
Sayan Nandan 943125116b
Add parsing for delete queries 2 years ago
Sayan Nandan a1c85fb305
Add parsing for update queries 2 years ago
Sayan Nandan ee7196d499
Add parsing for select queries 2 years ago
Sayan Nandan fe3e20ffd7
Fix fuzz tests and use custom uninit structure 2 years ago
Sayan Nandan f695051826
Add parsing for insert statements 2 years ago
Sayan Nandan f69ec88354
Use `Token!` for token shorthand 2 years ago
Sayan Nandan 2d1fdd3417
Keep `UnsafeLit` as a `Lit` variant
Per our language specification, unsafe literals are by their inherent
name literals, hence keep them under this variant. Also, it simplifies
a bunch of implementations. Although I'm sure we can do something for
performance to simply provide an error case when we encounter a
disallowed literal.
2 years ago
Sayan Nandan 9c28c97830
Support unsafe literals 2 years ago
Sayan Nandan e580f2b8d8
Add full support for map-based insert syntax 2 years ago
Sayan Nandan 132633c542
Add tuple syntax parsing 2 years ago
Sayan Nandan 68ed434c96
Add complete list support 2 years ago
Sayan Nandan 7ecec7ffa6
Add inspect statements 2 years ago
Sayan Nandan deed013648
Fix entity parsing 2 years ago
Sayan Nandan 7a5b958402
Support reset syntax 2 years ago
Sayan Nandan 700204913a
Enable adding fields using `alter model` 2 years ago