preprocesses SQL queries to make them modular
[![Build Status](https://img.shields.io/travis/bmintz/querypp/master.svg?label=tests)](https://travis-ci.org/bmintz/querypp) [![Coverage Status](https://coveralls.io/repos/github/bmintz/querypp/badge.svg?branch=master)](https://coveralls.io/github/bmintz/querypp?branch=master)
querypp preprocesses SQL queries in order to “parameterize” them. It also includes a loader which loads many queries from a file, delimited by – :name query_name lines.
-  Although it is trivially adapted to other languages with line comments,
- as the only SQL-specific assumption is the comment syntax.
Take an example:
` SELECT * FROM users -- :param profiles LEFT JOIN profiles USING (user_id) -- :param login_history LEFT JOIN login_history USING (profile_id) -- :endparam -- :endparam -- :param user_id WHERE user_id = $1 `
- A Query object can be called:
- with no parameters to return the entire query
- with one or more parameters to return the query with only those parameters.
In this case, q(‘profiles’, ‘user_id’) would return the query with the login_history JOIN removed.
After moving all my SQL queries to separate files (using the load_sql function), I noticed that some of them were being duplicated except for one extra clause. I created this to allow me to deduplicate such queries.
Public domain, see [COPYING](/COPYING)
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size querypp-0.0.1.post1.tar.gz (4.2 kB)||File type Source||Python version None||Upload date||Hashes View hashes|