diff --git a/pglablib/sqlparser/Parser.cpp b/pglablib/sqlparser/Parser.cpp index c8a192b..92e6019 100644 --- a/pglablib/sqlparser/Parser.cpp +++ b/pglablib/sqlparser/Parser.cpp @@ -3,7 +3,11 @@ Parser::Parser(const std::string &input_string) - : InputStream(std::make_unique(input_string)) + : Parser(std::make_unique(input_string)) +{} + +Parser::Parser(std::unique_ptr stream) + : InputStream(std::move(stream)) , CaseFilter(InputStream.get(), true) , Lexer(&CaseFilter) , TokenStream(&Lexer) diff --git a/pglablib/sqlparser/Parser.h b/pglablib/sqlparser/Parser.h index 01b905b..7633252 100644 --- a/pglablib/sqlparser/Parser.h +++ b/pglablib/sqlparser/Parser.h @@ -9,6 +9,7 @@ class Parser { public: Parser(const std::string &input_string); + Parser(std::unique_ptr stream); std::unique_ptr Parse();