Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Outdated, replaced by a much more complete SQL toolkit: https://github.com/wvanbergen/sql_toolkit
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
tasks
.gitignore
.infinity_test
.travis.yml
Gemfile
LICENSE
README.rdoc
Rakefile
sql_tree.gemspec

README.rdoc

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).

Something went wrong with that request. Please try again.