Module: YbDDLParser

Defined in:
lib/yb_ddl_parser.rb,
lib/yb_ddl_parser/ast.rb,
lib/yb_ddl_parser/version.rb,
ext/yb_ddl_parser/yb_ddl_parser_ext.c

Defined Under Namespace

Modules: AST, Native Classes: ParseError

Constant Summary collapse

Statement =
AST::Statement
ParseResult =
AST::ParseResult
VERSION =
File.read(File.expand_path("../../VERSION", __dir__)).strip

Class Method Summary collapse

Class Method Details

.parse(sql) ⇒ Object



17
18
19
# File 'lib/yb_ddl_parser.rb', line 17

def self.parse(sql)
  ParseResult.from_hash(Native.parse(sql.to_s))
end

.parse!(sql) ⇒ Object

Raises:



25
26
27
28
29
30
31
# File 'lib/yb_ddl_parser.rb', line 25

def self.parse!(sql)
  result = parse(sql)
  error = result.errors.first
  raise ParseError.new(error.message, position: error.position) if error

  result
end

.parse_one!(sql) ⇒ Object



21
22
23
# File 'lib/yb_ddl_parser.rb', line 21

def self.parse_one!(sql)
  parse!(sql).single_statement!
end