Jindřich Moravec
5ced11c40d
feat: integrate thiserror
2024-01-27 16:34:44 +01:00
Jindřich Moravec
677fd19bec
fix: NUMBER type name
2024-01-27 16:34:23 +01:00
Yuriy Dupyn
6000b1f242
Put parsing details into one module
2024-01-26 19:45:15 +01:00
Maxim Svistunov
61c0a34253
Add parsing (incl. validation)
...
Ensure identifiers start with alphabetical character
Rename parse_variable_name -> parse_column_name
Add DB value parsers and condition parser placeholder
Fix number parser, basic condition parser
Move select parser to select module
Add create statement parser
Move condition parser to common; add delete statement parser
Add drop statement parser
Add insert parser
Add update parser, combine operation parsers into one
Add initial validation, fix compiler warnings
Validation WIP
Allow more spaces in create statement, update TableSchema struct
Add create index parser and validator
Add todo in parse_identifier
Rework the new structure, many other changes
2024-01-26 18:20:45 +01:00
Yuriy Dupyn
143dc0e5ce
Merge branch 'interpreter-iterator' into 'main'
...
Make interpreter return an iterator of rows
See merge request x433485/minisql!7
2024-01-21 08:39:39 +01:00
Yuriy Dupyn
29527e92ff
Merge branch 'operation-separation' into 'main'
...
Make interpreter a library
See merge request x433485/minisql!6
2024-01-21 08:38:53 +01:00
Yuriy Dupyn
ddf17ae0a5
Now interpreter returns an iterator
2024-01-20 15:08:18 +01:00
Yuriy Dupyn
430d092def
Make interpreter a library
2024-01-18 19:25:46 +01:00
Yuriy Dupyn
37f8b7be91
Make schema fields private
2024-01-18 16:35:20 +01:00
Yuriy Dupyn
71d4bd76f0
Merge branch 'interpreter' into 'main'
...
Interpreter
See merge request x433485/minisql!2
2024-01-09 19:19:10 +01:00
Yuriy Dupyn
ba2c1bae6d
Add a comment about potentiall returning reference to id hash-set in fetch_ids_from_index.
2024-01-08 15:20:22 +01:00
Yuriy Dupyn
b04f3d167b
Return reference in index_column.get()
2024-01-08 14:24:30 +01:00
Yuriy Dupyn
f0d29eb399
Make TableSchema struct fields private
2024-01-08 13:56:38 +01:00
Yuriy Dupyn
966c9bf284
Make Table struct fields private
2024-01-08 13:37:09 +01:00
Yuriy Dupyn
0996d0dbe1
Move index update into attach_index
2024-01-08 13:29:49 +01:00
Yuriy Dupyn
2549a4dac1
Merge branch 'main' into interpreter
2024-01-08 13:05:43 +01:00
Jindřich Moravec
bb4c6761f4
Merge branch 'protocol' into 'main'
...
Protocol
See merge request x433485/minisql!4
2024-01-04 22:33:42 +01:00
Jindřich Moravec
df5741224f
docs: data messages documentation
2023-12-31 19:04:40 +01:00
Jindřich Moravec
c61b6021db
docs: handshake documentation
2023-12-31 18:45:50 +01:00
Jindřich Moravec
14b82d1aa5
fix: typos
2023-12-29 17:03:39 +01:00
Yuriy Dupyn
1712bc0e0e
Remove unnecessary import in a test
2023-12-29 08:49:58 +01:00
Yuriy Dupyn
8b9249be36
Test for column index
2023-12-29 08:14:29 +01:00
Yuriy Dupyn
25b26acde0
format & clippy
2023-12-29 07:58:35 +01:00
Yuriy Dupyn
4f2c864d7a
Move DbResult into its own file
2023-12-29 07:49:17 +01:00
Yuriy Dupyn
d87c95f1e1
Move index update from table logic to interpreter
2023-12-29 07:45:40 +01:00
Yuriy Dupyn
e9d3df7a22
Reorganization
2023-12-29 07:39:59 +01:00
Yuriy Dupyn
f7a6cc2549
Make Row a wrapper type
2023-12-29 07:24:46 +01:00
Yuriy Dupyn
bfb5042896
Disentangle table.rs from operation.rs
2023-12-29 06:57:24 +01:00
Yuriy Dupyn
f9b874f302
Simplify select_all and delete_all
2023-12-29 06:33:30 +01:00
Yuriy Dupyn
6b58c3cb9b
Reorganization
2023-12-29 06:03:04 +01:00
Yuriy Dupyn
3c57b0eb6c
Add an example to fn main()
2023-12-28 14:39:36 +01:00
Yuriy Dupyn
5e4abc3cb1
Simplify select_where, delete_where
2023-12-28 14:39:13 +01:00
Yuriy Dupyn
291f90ef03
cleanup
2023-12-28 14:03:38 +01:00
Yuriy Dupyn
14f4fe4f3b
Test delete
2023-12-28 12:56:16 +01:00
Yuriy Dupyn
dc3e9b0077
Add some basic tests
2023-12-28 12:33:00 +01:00
Yuriy Dupyn
e111c4fc61
Implement proper index creation
2023-12-28 10:49:32 +01:00
Yuriy Dupyn
c8e398a238
Implement select_columns
2023-12-28 09:55:42 +01:00
Yuriy Dupyn
bd3dbe2365
Merge remote-tracking branch 'origin/main' into interpreter
2023-12-28 09:37:48 +01:00
Yuriy Dupyn
eb8410718d
Fix typos
2023-12-28 09:27:55 +01:00
Jindřich Moravec
84d9fa2d50
feat(proto): add example server
2023-12-23 23:40:45 +01:00
Jindřich Moravec
0318169876
feat(proto): add example client
2023-12-23 23:40:31 +01:00
Jindřich Moravec
75b067762e
fix(proto): move handshake response instead of borrowing
2023-12-23 01:31:49 +01:00
Jindřich Moravec
a08376766c
chore(proto): crate formatting
2023-12-23 01:28:30 +01:00
Jindřich Moravec
505f59b354
fix(proto): flush written startup message
2023-12-23 01:27:15 +01:00
Jindřich Moravec
c1744711d3
refactor(proto): reuse code in handshakes
2023-12-23 00:52:53 +01:00
Jindřich Moravec
7b2dce4dfb
feat(proto): add client handshake implementation
2023-12-23 00:29:40 +01:00
Jindřich Moravec
df4c4166d9
feat(proto): add methods for sending startup and cancel messages
2023-12-22 23:56:52 +01:00
Jindřich Moravec
7185c10979
feat(proto): add proto crate to workspace
2023-12-15 16:41:02 +01:00
Jindřich Moravec
5804da5761
Merge branch 'main' into protocol
2023-12-15 16:33:16 +01:00
Jindřich Moravec
b97f23764f
refactor(proto): remove anyhow dependency
2023-12-15 16:32:02 +01:00