From 27ba11cf40b0891548c2c63c5329552744ddcbe2 Mon Sep 17 00:00:00 2001 From: Salvo 'LtWorf' Tomaselli Date: Sun, 17 Feb 2013 22:46:56 +0100 Subject: [PATCH] first stub of new API --- relational/query.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 relational/query.py diff --git a/relational/query.py b/relational/query.py new file mode 100644 index 0000000..33a95ac --- /dev/null +++ b/relational/query.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Relational +# Copyright (C) 2008 Salvo "LtWorf" Tomaselli +# +# Relational is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# author Salvo "LtWorf" Tomaselli +# +# This module provides a classes to represent queries + +import parser + +class TypeException(Exception): + pass + +class Query(object): + def __init__(self,query): + + if not isinstance(query,unicode): + raise TypeException('Expected unicode') + + self.query = query + self.tree = parser.tree(query) + #TODO self.query_code = parser + + self.optimized = None + self.optimized_query = None + self.optimized_code = None \ No newline at end of file