Sha256: b283a1dd7be83fddc564b011e7e388ab72b9b6754769bc1aaa3c91bd2cee5d68

Contents?: true

Size: 1.12 KB

Versions: 6

Compression:

Stored size: 1.12 KB

Contents

grammar SQLDataTypes
  include SQLPrimitives

  rule datatype
    bit_field /
    numeric_type /
    char_type
  end
  
  rule char_type
    char_field field_size_with_space?
  end
  
  rule char_field
    VARCHAR_KEYWORD
  end

  rule numeric_type
    int_type / decimal_type
  end

  rule decimal_type
    decimal_field field_size_with_space? unsigned? zerofill?
  end

  rule decimal_field
    REAL_KEYWORD    /
    DOUBLE_KEYWORD  /
    FLOAT_KEYWORD   /
    DECIMAL_KEYWORD /
    NUMERIC_KEYWORD
  end

  rule int_type
    int_field int_options
  end

  rule int_field
    TINY_INT_KEYWORD     /
    SMALL_INT_KEYWORD    /
    INTEGER_KEYWORD      /
    INT_KEYWORD          /
    BIG_INT_KEYWORD
  end

  rule int_options
    field_size_with_space? unsigned? zerofill?
  end

  rule bit_field
    "BIT" field_size?
  end

  rule unsigned
    SPACE UNSIGNED_KEYWORD
  end

  rule zerofill
    SPACE ZEROFILL_KEYWORD
  end

  rule field_size_with_space
    SPACE* field_size
  end

  rule field_size
    OPEN_PARENS SPACE* integer SPACE* CLOSE_PARENS /
    OPEN_PARENS SPACE* integer SPACE* COMMA SPACE* integer SPACE* CLOSE_PARENS
  end
end
  

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hipster_sql_to_hbase-0.1.7 lib/sql_parser/sql_datatypes.treetop
hipster_sql_to_hbase-0.1.6 lib/sql_parser/sql_datatypes.treetop
hipster_sql_to_hbase-0.1.5 lib/sql_parser/sql_datatypes.treetop
hipster_sql_to_hbase-0.1.4 lib/sql_parser/sql_datatypes.treetop
hipster_sql_to_hbase-0.1.3 lib/sql_parser/sql_datatypes.treetop
hipster_sql_to_hbase-0.1.2 lib/sql_parser/sql_datatypes.treetop