From d4bc0c0ee29e5c8b253d80c0fa5f2bbecbaeda39 Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Mon, 2 May 2022 19:21:22 +0200 Subject: the '_' character is valid in a named bind parameter --- query.zig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'query.zig') diff --git a/query.zig b/query.zig index bc1bbc1..45577a1 100644 --- a/query.zig +++ b/query.zig @@ -16,7 +16,7 @@ const BindMarker = struct { }; fn isNamedIdentifierChar(c: u8) bool { - return std.ascii.isAlpha(c) or std.ascii.isDigit(c); + return std.ascii.isAlpha(c) or std.ascii.isDigit(c) or c == '_'; } pub const ParsedQuery = struct { @@ -341,6 +341,11 @@ test "parsed query: query bind identifier" { .expected_query = "SELECT id, name, age FROM user WHER age > :ageGT AND age < $ageLT", .expected_nb_bind_markers = 2, }, + .{ + .query = "SELECT id, name, age FROM user WHER age > $my_age{i32} AND age < :your_age{i32}", + .expected_query = "SELECT id, name, age FROM user WHER age > $my_age AND age < :your_age", + .expected_nb_bind_markers = 2, + }, }; inline for (testCases) |tc| { -- cgit v1.2.3