Method: PgQuery.parse
- Defined in:
- lib/pg_query/parse.rb
.parse(query) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/pg_query/parse.rb', line 2 def self.parse(query) result, stderr = parse_protobuf(query) begin result = PgQuery::ParseResult.decode(result) rescue Google::Protobuf::ParseError => e raise PgQuery::ParseError.new(format('Failed to parse tree: %s', e.), __FILE__, __LINE__, -1) end warnings = [] stderr.each_line do |line| next unless line[/^WARNING/] warnings << line.strip end PgQuery::ParserResult.new(query, result, warnings) end |