Commit graph

171 commits

Author SHA1 Message Date
Yuriy Dupyn
4a099468b2 Rename validate_create ~> validate_create_table, and expose only what is necessary 2024-01-28 15:32:12 +01:00
Yuriy Dupyn
12c91ce70e Rename column_position ~> column variables, and introduce runtime error AttemptToIndexAlreadyIndexedColumn 2024-01-28 15:27:03 +01:00
Yuriy Dupyn
052236d892 Add some tests for Validation 2024-01-28 15:09:27 +01:00
Yuriy Dupyn
10ba1dd3e4 Merge branch 'optimize-operation' into 'main'
Introduce new simplified Operation type for Interpreter

See merge request x433485/minisql!10
2024-01-28 10:31:21 +01:00
Yuriy Dupyn
900608b2f4 Merge remote-tracking branch 'origin/main' into optimize-operation 2024-01-28 00:26:56 +01:00
Jindřich Moravec
b2263599cc Merge branch 'server-work' into 'main'
Server work

See merge request x433485/minisql!9
2024-01-27 23:47:46 +01:00
Yuriy Dupyn
fdfdaa9fc0 Return table schema in SELECT response 2024-01-27 23:42:03 +01:00
Yuriy Dupyn
80c4ff220e Merge branch 'main' into optimize-operation 2024-01-27 23:17:55 +01:00
Yuriy Dupyn
11dc992476 Cleanup 2024-01-27 22:46:19 +01:00
Yuriy Dupyn
9771a89716 Use RawQuerySyntax for parsing 2024-01-27 21:47:33 +01:00
Yuriy Dupyn
562e732138 Validation now outputs a Validated Interpreter Operation 2024-01-27 21:22:00 +01:00
Jindřich Moravec
08b10636c2 refactor: cleanup logging 2024-01-27 20:03:36 +01:00
Jindřich Moravec
9f3dbe3fdb chore: remove unused import 2024-01-27 19:45:21 +01:00
Jindřich Moravec
76a5be0b79 feat: server cleanup 2024-01-27 19:44:53 +01:00
Jindřich Moravec
e87b11f19f Merge branch 'main' into server-work 2024-01-27 19:04:05 +01:00
Jindřich Moravec
5d925290e3 feat: add serde support 2024-01-27 19:02:11 +01:00
Yuriy Dupyn
935d9814ae Introduce new simplified Operation type for Interpreter 2024-01-27 18:54:54 +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
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