diff options
| author | 2022-05-02 19:21:22 +0200 | |
|---|---|---|
| committer | 2022-05-02 19:21:22 +0200 | |
| commit | d4bc0c0ee29e5c8b253d80c0fa5f2bbecbaeda39 (patch) | |
| tree | 890e7957ceef912f0569f178b3b953d817b4a9c3 /query.zig | |
| parent | put the TODO comment at the end of the line instead (diff) | |
| download | zig-sqlite-d4bc0c0ee29e5c8b253d80c0fa5f2bbecbaeda39.tar.gz zig-sqlite-d4bc0c0ee29e5c8b253d80c0fa5f2bbecbaeda39.tar.xz zig-sqlite-d4bc0c0ee29e5c8b253d80c0fa5f2bbecbaeda39.zip | |
the '_' character is valid in a named bind parameter
Diffstat (limited to 'query.zig')
| -rw-r--r-- | query.zig | 7 |
1 files changed, 6 insertions, 1 deletions
| @@ -16,7 +16,7 @@ const BindMarker = struct { | |||
| 16 | }; | 16 | }; |
| 17 | 17 | ||
| 18 | fn isNamedIdentifierChar(c: u8) bool { | 18 | fn isNamedIdentifierChar(c: u8) bool { |
| 19 | return std.ascii.isAlpha(c) or std.ascii.isDigit(c); | 19 | return std.ascii.isAlpha(c) or std.ascii.isDigit(c) or c == '_'; |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | pub const ParsedQuery = struct { | 22 | pub const ParsedQuery = struct { |
| @@ -341,6 +341,11 @@ test "parsed query: query bind identifier" { | |||
| 341 | .expected_query = "SELECT id, name, age FROM user WHER age > :ageGT AND age < $ageLT", | 341 | .expected_query = "SELECT id, name, age FROM user WHER age > :ageGT AND age < $ageLT", |
| 342 | .expected_nb_bind_markers = 2, | 342 | .expected_nb_bind_markers = 2, |
| 343 | }, | 343 | }, |
| 344 | .{ | ||
| 345 | .query = "SELECT id, name, age FROM user WHER age > $my_age{i32} AND age < :your_age{i32}", | ||
| 346 | .expected_query = "SELECT id, name, age FROM user WHER age > $my_age AND age < :your_age", | ||
| 347 | .expected_nb_bind_markers = 2, | ||
| 348 | }, | ||
| 344 | }; | 349 | }; |
| 345 | 350 | ||
| 346 | inline for (testCases) |tc| { | 351 | inline for (testCases) |tc| { |