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
Jindřich Moravec
d790337423
chore: cleanup dependencies
2024-01-26 22:16:14 +01:00
Jindřich Moravec
4dfabb8cc0
Revert "tests: asynchronize some interpreter tests"
...
This reverts commit 88fb13325a .
2024-01-26 22:14:09 +01:00
Jindřich Moravec
04311ebe48
feat: server improvements
2024-01-26 22:13:46 +01:00
Yuriy Dupyn
6000b1f242
Put parsing details into one module
2024-01-26 19:45:15 +01:00
Jindřich Moravec
595b47dc06
Merge remote-tracking branch 'origin/parsing' into server-work
...
# Conflicts:
# Cargo.lock
# minisql/src/interpreter.rs
# server/Cargo.toml
# server/src/main.rs
2024-01-26 18:49:22 +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
Jindřich Moravec
4fca7ce12b
fix: small changes
2024-01-25 23:23:18 +01:00
Jindřich Moravec
88fb13325a
tests: asynchronize some interpreter tests
2024-01-25 23:19:37 +01:00
Jindřich Moravec
51ed3bbc5c
feat: finish work on server
2024-01-25 23:07:27 +01:00
Jindřich Moravec
7b79dd69b4
feat: add resettable cancellation token
2024-01-24 23:25:02 +01:00
Jindřich Moravec
4c826923a5
fix: type size bit length
2024-01-23 21:58:00 +01:00
Jindřich Moravec
7773a2585e
feat: add type system encoding to text bytes
2024-01-23 21:55:43 +01:00
Jindřich Moravec
f47fd24232
feat: add thiserror annotations to error
2024-01-23 21:02:13 +01:00
Jindřich Moravec
1d746430d2
feat: return schema and column positions with select
2024-01-23 20:56:07 +01:00
Jindřich Moravec
ebabf50291
feat: support for cancel requests in handshake
2024-01-22 21:59:39 +01:00
Jindřich Moravec
f9fb8f0670
feat: add server cli configuration
2024-01-22 11:18:43 +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