Skip to content

jasonallen/sql_tree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 can 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 on Gemcutter.org. To install:

gem install sql_tree --source http://gemcutter.org

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

About

A pure Ruby library to represent SQL queries with a syntax tree for inspection and modification.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%