Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal planner, finally #42

Merged
merged 45 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
a0d1957
fix: ExecutionContext in Runtime
can-keklik Nov 22, 2024
216a2ea
fix: Pass interpreter via ref
can-keklik Nov 22, 2024
601007e
fix: fmt
can-keklik Nov 22, 2024
9ded2ed
feat: Projection
can-keklik Nov 24, 2024
d247bbf
feat: Order
can-keklik Nov 24, 2024
2cd4b13
fix: Planner standardization
can-keklik Nov 25, 2024
f1cd898
fix: Even more nitpicking for better style
can-keklik Nov 25, 2024
0ebe152
fix: Regulate AST node equality
can-keklik Nov 26, 2024
39fa60e
fix: fmt
can-keklik Nov 26, 2024
cb10ba3
fix: clippy
can-keklik Nov 26, 2024
6695866
fix: Some tests
can-keklik Nov 26, 2024
8b12ca9
fix: Proper hashing for AST
can-keklik Nov 26, 2024
4670637
fix: Improved tests with hash
can-keklik Nov 26, 2024
e846bf3
fix: Test organization
can-keklik Nov 26, 2024
d1bece7
fix: Stmt hash/partialeq tests
can-keklik Nov 26, 2024
ff4cf0b
feat: Expression source type in sql from
can-keklik Nov 27, 2024
759e74f
fix: Test fixes
can-keklik Nov 28, 2024
198cbec
feat: Scoping in planner
can-keklik Nov 28, 2024
28f36eb
fix: Minor refactoring
can-keklik Nov 29, 2024
764c9de
fix: fmt
can-keklik Nov 29, 2024
3852320
feat: From tests
can-keklik Dec 1, 2024
211a662
fix: Refactored plan
can-keklik Dec 1, 2024
037480d
feat: Minimal expression building
can-keklik Dec 1, 2024
11974a1
fix: fmt
can-keklik Dec 1, 2024
4397a78
fix: Test cases
can-keklik Dec 1, 2024
c8c681a
fix: Expr walk return type
can-keklik Dec 2, 2024
78d702d
feat: More comprehensive test handling
can-keklik Dec 2, 2024
3bcb6c1
fix: fmt
can-keklik Dec 2, 2024
c60ee97
fix: clippy
can-keklik Dec 2, 2024
68faa68
fix: Between fix
can-keklik Dec 4, 2024
4f6212c
feat: Introduced FieldPath expression type
can-keklik Dec 5, 2024
1f291df
fix: Pattern matching cleanup
can-keklik Dec 5, 2024
b54a5af
fix: fmt
can-keklik Dec 5, 2024
7ad4cfc
feat: Streamlined path parsing
can-keklik Dec 5, 2024
fac95ce
fix: Reference passing
can-keklik Dec 5, 2024
2306361
fix: Process projection expressions
can-keklik Dec 5, 2024
213b438
fix: Exec tests
can-keklik Dec 5, 2024
61736a2
fix: Interpreter tests moved
can-keklik Dec 6, 2024
abe97ff
fix: Function tests
can-keklik Dec 6, 2024
2ebb599
fix: Function definitions revised
can-keklik Dec 6, 2024
885b05c
fix: Block tests
can-keklik Dec 6, 2024
e5fc576
fix: More test refactoring
can-keklik Dec 6, 2024
eca370e
fix: Better test harness
can-keklik Dec 6, 2024
08c9336
fix: Moved test helpers to runtime
can-keklik Dec 6, 2024
3b61fa5
chore: README update
can-keklik Dec 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,24 @@ Lykia is a document database management system built for educational purposes. T
- ACID compliance
- Replication

## Roadmap
## Primary goals

- [x] Core scripting language + DML/DDL SQL
- [x] A minimal standard library
- [x] Runtime
- [x] Playground app
- [ ] Query binding and planning (in progress)
- [ ] LSM storage engine (based on [mini-lsm](https://github.com/lykia-rs/mini-lsm))
- [ ] MVCC for transaction management (based on [mini-lsm](https://github.com/lykia-rs/mini-lsm))
- [ ] Plan optimization
- [x] Modular architecture for core and surrounding components
- [ ] Query planning and binding (in progress)
- [ ] Persistent storage engine
- [ ] Multi-version concurrency control
- [ ] Query optimization

## Secondary goals

## More ambitious roadmap:
- [x] Playground app

- [ ] Basic replication with Raft
## Advanced

- [ ] Replication with Raft
- [ ] JIT execution for expression evaluation

## Getting Started
To use Lykia, you can download the latest release from the GitHub releases page.
Expand Down
3 changes: 2 additions & 1 deletion lykiadb-lang/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ phf = { version = "0.11", default-features = false, features = ["macros"] }
rustc-hash = "1.1.0"
serde = { version = "1.0.188", features=["derive", "rc"] }
serde_json = "1.0.105"
assert-json-diff = "2.0.2"
assert-json-diff = "2.0.2"
derivative = "2.2.0"
Loading
Loading