ClickHouse/dbms/include/DB/Parsers/ParserInsertQuery.h

33 lines
1.0 KiB
C++
Raw Normal View History

2011-10-30 05:19:41 +00:00
#pragma once
#include <DB/Parsers/IParserBase.h>
namespace DB
{
/** Варианты:
*
* Обычный вариант:
2012-12-11 20:32:08 +00:00
* INSERT INTO [db.]table (c1, c2, c3) VALUES (v11, v12, v13), (v21, v22, v23), ...
* INSERT INTO [db.]table VALUES (v11, v12, v13), (v21, v22, v23), ...
2011-10-30 05:19:41 +00:00
*
2011-10-31 06:37:12 +00:00
* Вставка данных в произвольном формате.
* Сами данные идут после перевода строки, если он есть, или после всех пробельных символов, иначе.
2012-12-11 20:32:08 +00:00
* INSERT INTO [db.]table (c1, c2, c3) FORMAT format \n ...
* INSERT INTO [db.]table FORMAT format \n ...
2011-10-30 05:19:41 +00:00
*
* Вставка результата выполнения SELECT запроса.
2012-12-11 20:32:08 +00:00
* INSERT INTO [db.]table (c1, c2, c3) SELECT ...
* INSERT INTO [db.]table SELECT ...
2011-10-30 05:19:41 +00:00
*/
class ParserInsertQuery : public IParserBase
{
protected:
const char * getName() const { return "INSERT query"; }
bool parseImpl(Pos & pos, Pos end, ASTPtr & node, Pos & max_parsed_pos, Expected & expected);
2011-10-30 05:19:41 +00:00
};
}