MCPcopy Create free account
hub / github.com/ByConity/ByConity / parseDatabaseAndTableName

Function parseDatabaseAndTableName

src/Parsers/parseDatabaseAndTableName.cpp:10–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8{
9
10bool parseDatabaseAndTableName(IParser::Pos & pos, Expected & expected, String & database_str, String & table_str, bool rewrite_db)
11{
12 ParserToken s_dot(TokenType::Dot);
13 ParserIdentifier table_parser;
14
15 ASTPtr database;
16 ASTPtr table;
17
18 database_str = "";
19 table_str = "";
20
21 if (!table_parser.parse(pos, database, expected))
22 return false;
23
24 if (s_dot.ignore(pos))
25 {
26 if (!table_parser.parse(pos, table, expected))
27 {
28 database_str = "";
29 return false;
30 }
31 if (rewrite_db)
32 tryRewriteCnchDatabaseName(database, pos.getContext());
33
34 tryGetIdentifierNameInto(database, database_str);
35 tryGetIdentifierNameInto(table, table_str);
36 }
37 else
38 {
39 database_str = "";
40 tryGetIdentifierNameInto(database, table_str);
41 }
42
43 return true;
44}
45
46
47bool parseDatabaseAndTableNameOrAsterisks(IParser::Pos & pos, Expected & expected, String & database, bool & any_database, String & table, bool & any_table)

Callers 11

parseImplMethod · 0.85
parseImplMethod · 0.85
parseDBAndTableNameFunction · 0.85
parseImplMethod · 0.85
parseImplMethod · 0.85
parseImplMethod · 0.85
parseImplMethod · 0.85
parseImplMethod · 0.85
aeolusCheckFunction · 0.85
getTargetServerFunction · 0.85

Calls 5

tryGetIdentifierNameIntoFunction · 0.70
parseMethod · 0.45
ignoreMethod · 0.45
getContextMethod · 0.45

Tested by

no test coverage detected