Commit graph

91 commits

Author SHA1 Message Date
Jindřich Moravec
5d925290e3 feat: add serde support 2024-01-27 19:02:11 +01:00
Jindřich Moravec
f398faa6aa Merge branch 'parsing' into 'main'
Add parsing (incl. validation)

See merge request x433485/minisql!5
2024-01-27 18:50:24 +01:00
Jindřich Moravec
464c0b6698 fix: parse uuid with 'u' prefix 2024-01-27 18:47:43 +01:00
Yuriy Dupyn
cf76cc4d10 Restore schema fields to private 2024-01-27 18:11:12 +01:00
Yuriy Dupyn
4e5959a53a Fix formatting of validation errors 2024-01-27 17:26:00 +01:00
Yuriy Dupyn
f30d749962 Merge remote-tracking branch 'origin/parsing' into parsing 2024-01-27 17:20:17 +01:00
Yuriy Dupyn
9999d67b8f Cleanup validation.rs 2024-01-27 17:14:11 +01:00
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