Commit graph

69 commits

Author SHA1 Message Date
Yuriy Dupyn
df108f581c Explain why floats are different with respect to indexing 2024-02-01 13:25:43 +01:00
Yuriy Dupyn
8cc5b92808 Remove TODO's about Null. We'll implement Option<T> in another PR 2024-02-01 13:25:09 +01:00
Yuriy Dupyn
845db102c2 cargo format 2024-01-28 22:40:41 +01:00
Yuriy Dupyn
2ba158a0d4 Clippy 2024-01-28 22:08:46 +01:00
Yuriy Dupyn
8eec9c6759 Fix some of the clippy errors 2024-01-28 21:40:43 +01:00
Jindřich Moravec
36bc15ecc5 Merge branch 'main' into empty-select
# Conflicts:
#	server/src/proto_wrapper.rs
2024-01-28 20:53:43 +01:00
Jindřich Moravec
8fc271695a fix: empty select returns header 2024-01-28 20:45:09 +01:00
Yuriy Dupyn
fd03cc2ed4 Merge remote-tracking branch 'origin/main' into validation-cleanup 2024-01-28 20:03:33 +01:00
Yuriy Dupyn
8108b26af5 Renaming 2024-01-28 19:18:43 +01:00
Yuriy Dupyn
ec0a4f2510 Move TablePosition into schema 2024-01-28 18:43:53 +01:00
Yuriy Dupyn
a2180a3e32 Move Column into schema.rs 2024-01-28 18:40:34 +01:00
Jindřich Moravec
02defb3d54 chore: min rust version for minisql crate 2024-01-28 18:33:51 +01:00
Yuriy Dupyn
0ec02eeef8 ColumnName ~> Column 2024-01-28 18:29:22 +01:00
Jindřich Moravec
6ed6e5c816 Merge branch 'main' into 'validation-tests'
# Conflicts:
#   minisql/src/schema.rs
2024-01-28 17:57:47 +01:00
Yuriy Dupyn
377c19cf32 Disallow indexing of non-indexable columns 2024-01-28 17:20:50 +01:00
Yuriy Dupyn
7b5b2bf9f3 Improve Create Table 2024-01-28 17:14:02 +01:00
Jindřich Moravec
6bf4e34006 Merge branch 'main' into persistence-2-electric-boogaloo
# Conflicts:
#	Cargo.lock
#	minisql/Cargo.toml
#	minisql/src/internals/row.rs
#	minisql/src/interpreter.rs
#	minisql/src/schema.rs
#	minisql/src/type_system.rs
2024-01-28 15:37:19 +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
900608b2f4 Merge remote-tracking branch 'origin/main' into optimize-operation 2024-01-28 00:26:56 +01:00
Yuriy Dupyn
fdfdaa9fc0 Return table schema in SELECT response 2024-01-27 23:42:03 +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
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
Yuriy Dupyn
cf76cc4d10 Restore schema fields to private 2024-01-27 18:11:12 +01:00
Yuriy Dupyn
9999d67b8f Cleanup validation.rs 2024-01-27 17:14:11 +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
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
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
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
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
Jindřich Moravec
14b82d1aa5 fix: typos 2023-12-29 17:03:39 +01:00