= SQLTree
SQLTree is a pure Ruby library to represent SQL queries with a syntax tree
for inspection and modification.
The library can parse an SQL query (a string) to represent the query using
a syntax tree, and it can generate an SQL query from a syntax tree. The syntax
tree ca be used to inspect to query, or to modify it.
This library is currently in the early stages. This means that the API is not
yet stable and not all SQL constructs are implemented yet.
== Installation
The SQLTree library is distributed as a gem. To install:
gem install sql_tree
Or, add gem 'sql_tree' to your project's Gemfile and run bundle install.
== Usage
Consider the following example:
require 'sql_tree'
tree = SQLTree["SELECT * FROM table WHERE field = 'value'"]
where = SQLTree::Node::Expression["username = 'user' AND password = MD5('$secret')"]
tree.where = where # replace WHERE expression
puts tree.to_sql
"SELECT * FROM "table" WHERE (("username" = 'user') AND ("password" = MD5('$secret')))"
== Additional information
This library is written by Willem van Bergen and is MIT licensed (see the
LICENSE file).