Project

sql_tree

0.01
No commit activity in last 3 years
No release in over 3 years
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.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 2
 Project Readme

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