diff --git a/benchmark.zig b/benchmark.zig index 7ddf2ab..7b53a41 100644 --- a/benchmark.zig +++ b/benchmark.zig @@ -1,7 +1,7 @@ const std = @import("std"); const dtype = @import("dtype"); const DBEngine = @import("src/cli/core.zig"); -const ziqlParser = @import("src/ziql/core.zig"); +const ziqlParser = @import("src/parser/core.zig"); const ZipponError = @import("error").ZipponError; const names = [_][]const u8{ "Alice", "Bob", "Charlie", "Dave", "Eve" }; @@ -29,7 +29,7 @@ pub fn myLog( } pub fn main() !void { - const to_test = [_]usize{ 500, 50_000, 5_000_000 }; + const to_test = [_]usize{ 500, 50_000, 1_000_000 }; var line_buffer: [1024 * 1024]u8 = undefined; for (to_test) |users_count| { var db_engine = DBEngine.init("benchmarkDB", "schema/benchmark"); @@ -57,29 +57,19 @@ pub fn main() !void { var writer = array.writer(); try writer.print( - "ADD User (name = '{s}', email='{s}')", + "ADD User (name = '{s}', email='{s}', orders=none)", .{ names[rng.uintAtMost(usize, names.len - 1)], emails[rng.uintAtMost(usize, emails.len - 1)], - rng.uintAtMost(usize, 100), - scores[rng.uintAtMost(usize, scores.len - 1)], - dates[rng.uintAtMost(usize, dates.len - 1)], - times[rng.uintAtMost(usize, times.len - 1)], - datetimes[rng.uintAtMost(usize, datetimes.len - 1)], }, ); for (users_count - 1) |_| { try writer.print( - "('{s}', '{s}', {d}, [ {d} ], none, none, {s}, {s}, {s})", + "('{s}', '{s}', none)", .{ names[rng.uintAtMost(usize, names.len - 1)], emails[rng.uintAtMost(usize, emails.len - 1)], - rng.uintAtMost(usize, 100), - scores[rng.uintAtMost(usize, scores.len - 1)], - dates[rng.uintAtMost(usize, dates.len - 1)], - times[rng.uintAtMost(usize, times.len - 1)], - datetimes[rng.uintAtMost(usize, datetimes.len - 1)], }, ); } @@ -119,10 +109,6 @@ pub fn main() !void { "GRAB User [1] {}", "GRAB User [name] {}", "GRAB User {name = 'Charlie'}", - "GRAB User {age > 30}", - "GRAB User {bday > 2000/01/01}", - "GRAB User {age > 30 AND name = 'Charlie' AND bday > 2000/01/01}", - "GRAB User {best_friend IN {name = 'Charlie'}}", "DELETE User {}", }; diff --git a/src/cli/core.zig b/src/cli/core.zig index 291890a..f038ba3 100644 --- a/src/cli/core.zig +++ b/src/cli/core.zig @@ -5,7 +5,7 @@ const Allocator = std.mem.Allocator; const FileEngine = @import("../file/core.zig"); const SchemaEngine = @import("../schema/core.zig"); const ThreadEngine = @import("../thread/engine.zig"); -const ziqlParser = @import("../ziql/core.zig"); +const ziqlParser = @import("../parser/core.zig"); const setLogPath = @import("../main.zig").setLogPath; const log = std.log.scoped(.cli); diff --git a/src/ziql/core.zig b/src/parser/core.zig similarity index 96% rename from src/ziql/core.zig rename to src/parser/core.zig index eb78322..1a7c770 100644 --- a/src/ziql/core.zig +++ b/src/parser/core.zig @@ -64,14 +64,14 @@ pub const State = enum { add_array_to_map, }; -pub const Parser = @This(); +pub const Self = @This(); -pub usingnamespace @import("parser/comparison.zig"); -pub usingnamespace @import("parser/condition.zig"); -pub usingnamespace @import("parser/newData.zig"); -pub usingnamespace @import("parser/value.zig"); -pub usingnamespace @import("parser/filter.zig"); -pub usingnamespace @import("parser/additionalData.zig"); +pub usingnamespace @import("parts/comparison.zig"); +pub usingnamespace @import("parts/condition.zig"); +pub usingnamespace @import("parts/newData.zig"); +pub usingnamespace @import("parts/value.zig"); +pub usingnamespace @import("parts/filter.zig"); +pub usingnamespace @import("parts/additionalData.zig"); pub usingnamespace @import("utils.zig"); var toker: Tokenizer = undefined; @@ -80,14 +80,14 @@ toker: *Tokenizer = undefined, file_engine: *FileEngine, schema_engine: *SchemaEngine, -pub fn init(file_engine: *FileEngine, schema_engine: *SchemaEngine) Parser { - return Parser{ +pub fn init(file_engine: *FileEngine, schema_engine: *SchemaEngine) Self { + return Self{ .file_engine = file_engine, .schema_engine = schema_engine, }; } -pub fn parse(self: *Parser, buffer: [:0]const u8) ZipponError!void { +pub fn parse(self: *Self, buffer: [:0]const u8) ZipponError!void { var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); defer arena.deinit(); const allocator = arena.allocator(); diff --git a/src/ziql/parser/additionalData.zig b/src/parser/parts/additionalData.zig similarity index 100% rename from src/ziql/parser/additionalData.zig rename to src/parser/parts/additionalData.zig diff --git a/src/ziql/parser/comparison.zig b/src/parser/parts/comparison.zig similarity index 100% rename from src/ziql/parser/comparison.zig rename to src/parser/parts/comparison.zig diff --git a/src/ziql/parser/condition.zig b/src/parser/parts/condition.zig similarity index 100% rename from src/ziql/parser/condition.zig rename to src/parser/parts/condition.zig diff --git a/src/ziql/parser/filter.zig b/src/parser/parts/filter.zig similarity index 100% rename from src/ziql/parser/filter.zig rename to src/parser/parts/filter.zig diff --git a/src/ziql/parser/newData.zig b/src/parser/parts/newData.zig similarity index 100% rename from src/ziql/parser/newData.zig rename to src/parser/parts/newData.zig diff --git a/src/ziql/parser/value.zig b/src/parser/parts/value.zig similarity index 100% rename from src/ziql/parser/value.zig rename to src/parser/parts/value.zig diff --git a/src/ziql/tokenizer.zig b/src/parser/tokenizer.zig similarity index 100% rename from src/ziql/tokenizer.zig rename to src/parser/tokenizer.zig diff --git a/src/ziql/utils.zig b/src/parser/utils.zig similarity index 100% rename from src/ziql/utils.zig rename to src/parser/utils.zig diff --git a/test.zig b/test.zig index 4758058..8153aac 100644 --- a/test.zig +++ b/test.zig @@ -1,8 +1,8 @@ const std = @import("std"); const Allocator = std.mem.Allocator; -const Parser = @import("src/ziqlParser.zig").Parser; -const Tokenizer = @import("src/tokenizers/ziql.zig").Tokenizer; -const DBEngine = @import("src/main.zig").DBEngine; +const Parser = @import("src/parser/core.zig").Parser; +const Tokenizer = @import("src/parser/tokenizer.zig").Tokenizer; +const DBEngine = @import("src/cli/core.zig"); const ZipponError = @import("error").ZipponError; const DB = struct {