Sha256: 962b4594e6dc3cd296d750f85ff53a5e1e5c10a144e6706ce55402633ec80374

Contents?: true

Size: 718 Bytes

Versions: 6

Compression:

Stored size: 718 Bytes

Contents

grammar SQLTransaction
  include SQLPrimitives

  rule transaction_statement
    start_transaction / begin / commit / rollback
  end

  rule start_transaction
    "START" SPACE "TRANSACTION" with_consistent_snapshot?
  end

  rule with_consistent_snapshot
    SPACE "WITH" SPACE "CONSISTENT" SPACE "SNAPSHOT"
  end

  rule begin
    "BEGIN" work?
  end

  rule work
    SPACE "WORK"
  end

  rule commit
    "COMMIT" optional_transactional_clauses
  end

  rule optional_transactional_clauses
    work? chain? release?
  end

  rule chain
    SPACE "AND" SPACE ("NO" SPACE)? "CHAIN"
  end

  rule release
    SPACE ("NO" SPACE)? "RELEASE"
  end

  rule rollback
    "ROLLBACK" optional_transactional_clauses
  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_transaction.treetop
hipster_sql_to_hbase-0.1.6 lib/sql_parser/sql_transaction.treetop
hipster_sql_to_hbase-0.1.5 lib/sql_parser/sql_transaction.treetop
hipster_sql_to_hbase-0.1.4 lib/sql_parser/sql_transaction.treetop
hipster_sql_to_hbase-0.1.3 lib/sql_parser/sql_transaction.treetop
hipster_sql_to_hbase-0.1.2 lib/sql_parser/sql_transaction.treetop