Skip to content
This repository was archived by the owner on Dec 18, 2025. It is now read-only.

Commit 04d1033

Browse files
committed
fix
1 parent a4fb22f commit 04d1033

4 files changed

Lines changed: 68 additions & 75 deletions

File tree

src/oblsm/client/cliutil/parser.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ RC ObLsmCliCmdTokenizer::parse_string(string &res)
3737
}
3838

3939
if (out_of_range()) {
40-
return RC::UNEXPECTED_END_OF_STRING;
40+
return RC::SQL_SYNTAX;
4141
}
4242
p_++;
4343

@@ -51,7 +51,7 @@ RC ObLsmCliCmdTokenizer::next()
5151

5252
skip_blank_space();
5353
if (out_of_range()) {
54-
return RC::INPUT_EOF;
54+
return RC::RECORD_EOF;
5555
}
5656

5757
// e.g. scan - "key"
@@ -86,7 +86,7 @@ RC ObLsmCliCmdTokenizer::next()
8686
auto iter = token_map_.find(current);
8787
if (iter == token_map_.end()) {
8888
token_type = TokenType::INVALID;
89-
return RC::INVALID_TOKEN;
89+
return RC::INVALID_ARGUMENT;
9090
}
9191
cmd = iter->second;
9292

@@ -103,7 +103,7 @@ RC ObLsmCliCmdParser::parse(string_view command)
103103
}
104104

105105
if (tokenizer_.token_type != TokenType::COMMAND) {
106-
return RC::SYNTAX_ERROR;
106+
return RC::SQL_SYNTAX;
107107
}
108108
result.cmd = tokenizer_.cmd;
109109

@@ -112,7 +112,7 @@ RC ObLsmCliCmdParser::parse(string_view command)
112112
rc = tokenizer_.next();
113113
if (OB_FAIL(rc) || tokenizer_.token_type != TokenType::STRING) {
114114
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::OPEN);
115-
return RC::SYNTAX_ERROR;
115+
return RC::SQL_SYNTAX;
116116
}
117117
result.args[0] = tokenizer_.str;
118118
break;
@@ -121,7 +121,7 @@ RC ObLsmCliCmdParser::parse(string_view command)
121121
rc = tokenizer_.next();
122122
if (OB_FAIL(rc) || tokenizer_.token_type != TokenType::STRING) {
123123
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::SET);
124-
return RC::SYNTAX_ERROR;
124+
return RC::SQL_SYNTAX;
125125
}
126126
result.args[i] = std::move(tokenizer_.str);
127127
}
@@ -130,15 +130,15 @@ RC ObLsmCliCmdParser::parse(string_view command)
130130
rc = tokenizer_.next();
131131
if (OB_FAIL(rc) || tokenizer_.token_type != TokenType::STRING) {
132132
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::GET);
133-
return RC::SYNTAX_ERROR;
133+
return RC::SQL_SYNTAX;
134134
}
135135
result.args[0] = tokenizer_.str;
136136
break;
137137
case ObLsmCliCmdType::DELETE:
138138
rc = tokenizer_.next();
139139
if (OB_FAIL(rc) || tokenizer_.token_type != TokenType::STRING) {
140140
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::DELETE);
141-
return RC::SYNTAX_ERROR;
141+
return RC::SQL_SYNTAX;
142142
}
143143
result.args[0] = tokenizer_.str;
144144
break;
@@ -147,7 +147,7 @@ RC ObLsmCliCmdParser::parse(string_view command)
147147
rc = tokenizer_.next();
148148
if (OB_FAIL(rc)) {
149149
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::SCAN);
150-
return RC::SYNTAX_ERROR;
150+
return RC::SQL_SYNTAX;
151151
}
152152

153153
if (tokenizer_.token_type == TokenType::BOUND) {
@@ -156,7 +156,7 @@ RC ObLsmCliCmdParser::parse(string_view command)
156156
result.args[i] = std::move(tokenizer_.str);
157157
} else {
158158
result.error = ObLsmCliUtil::cmd_usage(ObLsmCliCmdType::SCAN);
159-
return RC::SYNTAX_ERROR;
159+
return RC::SQL_SYNTAX;
160160
}
161161
}
162162
break;

unittest/observer/mvcc_trx_log_test.cpp

Lines changed: 30 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ TEST(MvccTrxLog, wal)
8989
trx->start_if_need();
9090

9191
for (const string &table_name : table_names) {
92-
Table *table = db->find_table(table_name.c_str());
92+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
9393
ASSERT_NE(table, nullptr);
9494

9595
Record record;
@@ -108,7 +108,7 @@ TEST(MvccTrxLog, wal)
108108
trx_kit.destroy_trx(trx);
109109
};
110110

111-
ASSERT_EQ(0, executor.execute(trx_task));
111+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
112112
}
113113

114114
ASSERT_EQ(0, executor.shutdown());
@@ -133,19 +133,17 @@ TEST(MvccTrxLog, wal)
133133
Trx *trx2 = db2->trx_kit().create_trx(db2->log_handler());
134134
for (const string &table_name : table_names2) {
135135

136-
Table *table2 = db2->find_table(table_name.c_str());
136+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
137137
ASSERT_NE(table2, nullptr);
138138

139-
RecordScanner *scanner2 = nullptr;
139+
RecordFileScanner scanner2;
140140
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
141141
int count2 = 0;
142142
RC rc = RC::SUCCESS;
143143
Record record;
144-
while (OB_SUCC(rc = scanner2->next(record))) {
144+
while (OB_SUCC(rc = scanner2.next(record))) {
145145
count2++;
146146
}
147-
delete scanner2;
148-
scanner2 = nullptr;
149147

150148
ASSERT_EQ(insert_num, count2);
151149
}
@@ -213,7 +211,7 @@ TEST(MvccTrxLog, wal2)
213211
trx->start_if_need();
214212

215213
for (const string &table_name : table_names) {
216-
Table *table = db->find_table(table_name.c_str());
214+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
217215
ASSERT_NE(table, nullptr);
218216

219217
Record record;
@@ -232,7 +230,7 @@ TEST(MvccTrxLog, wal2)
232230
trx_kit.destroy_trx(trx);
233231
};
234232

235-
ASSERT_EQ(0, executor.execute(trx_task));
233+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
236234
}
237235

238236
LOG_INFO("waiting for all tasks to be handled");
@@ -262,7 +260,7 @@ TEST(MvccTrxLog, wal2)
262260
trx->start_if_need();
263261

264262
for (const string &table_name : all_table_names) {
265-
Table *table = db->find_table(table_name.c_str());
263+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
266264
ASSERT_NE(table, nullptr);
267265

268266
Record record;
@@ -280,7 +278,7 @@ TEST(MvccTrxLog, wal2)
280278
trx_kit.destroy_trx(trx);
281279
};
282280

283-
ASSERT_EQ(0, executor.execute(trx_task));
281+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
284282
}
285283

286284
ASSERT_EQ(0, executor.shutdown());
@@ -304,38 +302,34 @@ TEST(MvccTrxLog, wal2)
304302
// count each table's record number and take a check
305303
for (const string &table_name : table_names) {
306304

307-
Table *table2 = db2->find_table(table_name.c_str());
305+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
308306
ASSERT_NE(table2, nullptr);
309307

310-
RecordScanner* scanner2;
308+
RecordFileScanner scanner2;
311309
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
312310
int count2 = 0;
313311
RC rc = RC::SUCCESS;
314312
Record record;
315-
while (OB_SUCC(rc = scanner2->next(record))) {
313+
while (OB_SUCC(rc = scanner2.next(record))) {
316314
count2++;
317315
}
318-
delete scanner2;
319-
scanner2 = nullptr;
320316

321317
ASSERT_EQ(insert_num + insert_num2, count2);
322318
}
323319

324320
for (const string &table_name : table_names_part2) {
325321

326-
Table *table2 = db2->find_table(table_name.c_str());
322+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
327323
ASSERT_NE(table2, nullptr);
328324

329-
RecordScanner* scanner2;
325+
RecordFileScanner scanner2;
330326
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
331327
int count2 = 0;
332328
RC rc = RC::SUCCESS;
333329
Record record;
334-
while (OB_SUCC(rc = scanner2->next(record))) {
330+
while (OB_SUCC(rc = scanner2.next(record))) {
335331
count2++;
336332
}
337-
delete scanner2;
338-
scanner2 = nullptr;
339333

340334
ASSERT_EQ(insert_num2, count2);
341335
}
@@ -402,7 +396,7 @@ TEST(MvccTrxLog, wal_rollback)
402396
trx->start_if_need();
403397

404398
for (const string &table_name : table_names) {
405-
Table *table = db->find_table(table_name.c_str());
399+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
406400
ASSERT_NE(table, nullptr);
407401

408402
Record record;
@@ -420,7 +414,7 @@ TEST(MvccTrxLog, wal_rollback)
420414
ASSERT_EQ(RC::SUCCESS, trx->rollback());
421415
};
422416

423-
ASSERT_EQ(0, executor.execute(trx_task));
417+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
424418
}
425419

426420
ASSERT_EQ(0, executor.shutdown());
@@ -446,21 +440,19 @@ TEST(MvccTrxLog, wal_rollback)
446440
trx->start_if_need();
447441
for (const string &table_name : table_names2) {
448442

449-
Table *table2 = db2->find_table(table_name.c_str());
443+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
450444
ASSERT_NE(table2, nullptr);
451445

452-
RecordScanner* scanner2;
446+
RecordFileScanner scanner2;
453447
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
454448
int visible_count = 0;
455449
Record record;
456450
RC rc = RC::SUCCESS;
457-
while (OB_SUCC(rc = scanner2->next(record))) {
451+
while (OB_SUCC(rc = scanner2.next(record))) {
458452
if (OB_SUCC(trx->visit_record(table2, record, ReadWriteMode::READ_ONLY))) {
459453
visible_count++;
460454
}
461455
}
462-
delete scanner2;
463-
scanner2 = nullptr;
464456

465457
ASSERT_EQ(0, visible_count);
466458
}
@@ -528,7 +520,7 @@ TEST(MvccTrxLog, wal_rollback_half)
528520
trx->start_if_need();
529521

530522
for (const string &table_name : table_names) {
531-
Table *table = db->find_table(table_name.c_str());
523+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
532524
ASSERT_NE(table, nullptr);
533525

534526
Record record;
@@ -550,7 +542,7 @@ TEST(MvccTrxLog, wal_rollback_half)
550542
}
551543
};
552544

553-
ASSERT_EQ(0, executor.execute(trx_task));
545+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
554546
}
555547

556548
ASSERT_EQ(0, executor.shutdown());
@@ -576,21 +568,19 @@ TEST(MvccTrxLog, wal_rollback_half)
576568
trx->start_if_need();
577569
for (const string &table_name : table_names2) {
578570

579-
Table *table2 = db2->find_table(table_name.c_str());
571+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
580572
ASSERT_NE(table2, nullptr);
581573

582-
RecordScanner* scanner2;
574+
RecordFileScanner scanner2;
583575
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
584576
int visible_count = 0;
585577
Record record;
586578
RC rc = RC::SUCCESS;
587-
while (OB_SUCC(rc = scanner2->next(record))) {
579+
while (OB_SUCC(rc = scanner2.next(record))) {
588580
if (OB_SUCC(trx->visit_record(table2, record, ReadWriteMode::READ_ONLY))) {
589581
visible_count++;
590582
}
591583
}
592-
delete scanner2;
593-
scanner2 = nullptr;
594584

595585
// ASSERT_EQ(insert_num, count);
596586
ASSERT_EQ(insert_num / 2, visible_count);
@@ -658,7 +648,7 @@ TEST(MvccTrxLog, wal_rollback_abnormal)
658648
trx->start_if_need();
659649

660650
for (const string &table_name : table_names) {
661-
Table *table = db->find_table(table_name.c_str());
651+
Table *table = static_cast<Table *>(db->find_table(table_name.c_str()));
662652
ASSERT_NE(table, nullptr);
663653

664654
Record record;
@@ -679,7 +669,7 @@ TEST(MvccTrxLog, wal_rollback_abnormal)
679669
trx_kit.destroy_trx(trx);
680670
};
681671

682-
ASSERT_EQ(0, executor.execute(trx_task));
672+
ASSERT_EQ(0, executor.execute(function<void()>(trx_task)));
683673
}
684674

685675
ASSERT_EQ(0, executor.shutdown());
@@ -705,21 +695,19 @@ TEST(MvccTrxLog, wal_rollback_abnormal)
705695
trx->start_if_need();
706696
for (const string &table_name : table_names2) {
707697

708-
Table *table2 = db2->find_table(table_name.c_str());
698+
Table *table2 = static_cast<Table *>(db2->find_table(table_name.c_str()));
709699
ASSERT_NE(table2, nullptr);
710700

711-
RecordScanner* scanner2;
701+
RecordFileScanner scanner2;
712702
ASSERT_EQ(RC::SUCCESS, table2->get_record_scanner(scanner2, nullptr, ReadWriteMode::READ_ONLY));
713703
int visible_count = 0;
714704
Record record;
715705
RC rc = RC::SUCCESS;
716-
while (OB_SUCC(rc = scanner2->next(record))) {
706+
while (OB_SUCC(rc = scanner2.next(record))) {
717707
if (OB_SUCC(trx->visit_record(table2, record, ReadWriteMode::READ_ONLY))) {
718708
visible_count++;
719709
}
720710
}
721-
delete scanner2;
722-
scanner2 = nullptr;
723711

724712
ASSERT_EQ(visible_count, insert_num / 2);
725713
}

0 commit comments

Comments
 (0)