Skip to content

Commit 2df44b3

Browse files
committed
fix: suppress unused parameter warnings, add doubled single-quote escaping
- Mark unused `first` parameter in 12 Tier 2 extractors as /* first */ - Handle '' (doubled single-quote) escape in scan_single_quoted_string() - Fix unused variable warning in AllocateAligned test - Build now produces zero warnings with -Wall -Wextra
1 parent 00ff816 commit 2df44b3

3 files changed

Lines changed: 22 additions & 14 deletions

File tree

include/sql_parser/tokenizer.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,15 @@ class Tokenizer {
176176
Token scan_single_quoted_string() {
177177
++cursor_; // skip opening quote
178178
const char* content_start = cursor_;
179-
while (cursor_ < end_ && *cursor_ != '\'') {
179+
while (cursor_ < end_) {
180+
if (*cursor_ == '\'') {
181+
// Check for doubled single-quote escape ('')
182+
if (cursor_ + 1 < end_ && *(cursor_ + 1) == '\'') {
183+
cursor_ += 2; // skip both quotes
184+
continue;
185+
}
186+
break; // end of string
187+
}
180188
if (*cursor_ == '\\') {
181189
++cursor_; // skip escaped char
182190
if (cursor_ < end_) ++cursor_;

src/sql_parser/parser.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ void Parser<D>::scan_to_end(ParseResult& result) {
127127
// ---- Tier 2 Extractors ----
128128

129129
template <Dialect D>
130-
ParseResult Parser<D>::extract_insert(const Token& first) {
130+
ParseResult Parser<D>::extract_insert(const Token& /* first */) {
131131
ParseResult r;
132132
r.status = ParseResult::OK;
133133
r.stmt_type = StmtType::INSERT;
@@ -146,7 +146,7 @@ ParseResult Parser<D>::extract_insert(const Token& first) {
146146
}
147147

148148
template <Dialect D>
149-
ParseResult Parser<D>::extract_update(const Token& first) {
149+
ParseResult Parser<D>::extract_update(const Token& /* first */) {
150150
ParseResult r;
151151
r.status = ParseResult::OK;
152152
r.stmt_type = StmtType::UPDATE;
@@ -165,7 +165,7 @@ ParseResult Parser<D>::extract_update(const Token& first) {
165165
}
166166

167167
template <Dialect D>
168-
ParseResult Parser<D>::extract_delete(const Token& first) {
168+
ParseResult Parser<D>::extract_delete(const Token& /* first */) {
169169
ParseResult r;
170170
r.status = ParseResult::OK;
171171
r.stmt_type = StmtType::DELETE_STMT;
@@ -191,7 +191,7 @@ ParseResult Parser<D>::extract_delete(const Token& first) {
191191
}
192192

193193
template <Dialect D>
194-
ParseResult Parser<D>::extract_replace(const Token& first) {
194+
ParseResult Parser<D>::extract_replace(const Token& /* first */) {
195195
ParseResult r;
196196
r.status = ParseResult::OK;
197197
r.stmt_type = StmtType::REPLACE;
@@ -240,7 +240,7 @@ ParseResult Parser<D>::extract_transaction(const Token& first) {
240240
}
241241

242242
template <Dialect D>
243-
ParseResult Parser<D>::extract_use(const Token& first) {
243+
ParseResult Parser<D>::extract_use(const Token& /* first */) {
244244
ParseResult r;
245245
r.status = ParseResult::OK;
246246
r.stmt_type = StmtType::USE;
@@ -252,7 +252,7 @@ ParseResult Parser<D>::extract_use(const Token& first) {
252252
}
253253

254254
template <Dialect D>
255-
ParseResult Parser<D>::extract_show(const Token& first) {
255+
ParseResult Parser<D>::extract_show(const Token& /* first */) {
256256
ParseResult r;
257257
r.status = ParseResult::OK;
258258
r.stmt_type = StmtType::SHOW;
@@ -261,7 +261,7 @@ ParseResult Parser<D>::extract_show(const Token& first) {
261261
}
262262

263263
template <Dialect D>
264-
ParseResult Parser<D>::extract_prepare(const Token& first) {
264+
ParseResult Parser<D>::extract_prepare(const Token& /* first */) {
265265
ParseResult r;
266266
r.status = ParseResult::OK;
267267
r.stmt_type = StmtType::PREPARE;
@@ -270,7 +270,7 @@ ParseResult Parser<D>::extract_prepare(const Token& first) {
270270
}
271271

272272
template <Dialect D>
273-
ParseResult Parser<D>::extract_execute(const Token& first) {
273+
ParseResult Parser<D>::extract_execute(const Token& /* first */) {
274274
ParseResult r;
275275
r.status = ParseResult::OK;
276276
r.stmt_type = StmtType::EXECUTE;
@@ -279,7 +279,7 @@ ParseResult Parser<D>::extract_execute(const Token& first) {
279279
}
280280

281281
template <Dialect D>
282-
ParseResult Parser<D>::extract_deallocate(const Token& first) {
282+
ParseResult Parser<D>::extract_deallocate(const Token& /* first */) {
283283
ParseResult r;
284284
r.status = ParseResult::OK;
285285
r.stmt_type = StmtType::DEALLOCATE;
@@ -353,7 +353,7 @@ ParseResult Parser<D>::extract_lock(const Token& first) {
353353
}
354354

355355
template <Dialect D>
356-
ParseResult Parser<D>::extract_load(const Token& first) {
356+
ParseResult Parser<D>::extract_load(const Token& /* first */) {
357357
ParseResult r;
358358
r.status = ParseResult::OK;
359359
r.stmt_type = StmtType::LOAD_DATA;
@@ -362,7 +362,7 @@ ParseResult Parser<D>::extract_load(const Token& first) {
362362
}
363363

364364
template <Dialect D>
365-
ParseResult Parser<D>::extract_reset(const Token& first) {
365+
ParseResult Parser<D>::extract_reset(const Token& /* first */) {
366366
ParseResult r;
367367
r.status = ParseResult::OK;
368368
r.stmt_type = StmtType::RESET;
@@ -371,7 +371,7 @@ ParseResult Parser<D>::extract_reset(const Token& first) {
371371
}
372372

373373
template <Dialect D>
374-
ParseResult Parser<D>::extract_unknown(const Token& first) {
374+
ParseResult Parser<D>::extract_unknown(const Token& /* first */) {
375375
ParseResult r;
376376
r.status = ParseResult::OK;
377377
r.stmt_type = StmtType::UNKNOWN;

tests/test_arena.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ TEST(ArenaTest, AllocateAndReset) {
1919

2020
TEST(ArenaTest, AllocateAligned) {
2121
Arena arena(4096);
22-
void* p1 = arena.allocate(1);
22+
(void)arena.allocate(1); // advance cursor by 1 byte
2323
void* p2 = arena.allocate(8);
2424
EXPECT_EQ(reinterpret_cast<uintptr_t>(p2) % 8, 0u);
2525
}

0 commit comments

Comments
 (0)