]> git.jsancho.org Git - mojodb.git/blob - dbutils.py
Custom serializer in connection object; default is msgpack
[mojodb.git] / dbutils.py
1 # -*- coding: utf-8 -*-
2 ##############################################################################
3 #
4 #    mojo, a Python library for implementing document based databases
5 #    Copyright (C) 2013-2014 by Javier Sancho Fernandez <jsf at jsancho dot org>
6 #
7 #    This program is free software: you can redistribute it and/or modify
8 #    it under the terms of the GNU General Public License as published by
9 #    the Free Software Foundation, either version 3 of the License, or
10 #    (at your option) any later version.
11 #
12 #    This program is distributed in the hope that it will be useful,
13 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #    GNU General Public License for more details.
16 #
17 #    You should have received a copy of the GNU General Public License
18 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 #
20 ##############################################################################
21
22 class SQLGeneric(object):
23     def sql(self):
24         return ""
25
26
27 class Query(SQLGeneric):
28     def __init__(self, fields, tables, constraints):
29         self.fields = fields
30         self.tables = tables
31         self.constraints = constraints
32
33
34 class Field(SQLGeneric):
35     def __init__(self, table, field_name):
36         self.table = table
37         self.field_name = field_name
38
39
40 class Table(SQLGeneric):
41     def __init__(self, db_name, table_name):
42         self.db_name = db_name
43         self.table_name = table_name
44
45
46 class Constraint(SQLGeneric):
47     def __init__(self, operator, *args):
48         self.operator = operator
49         self.args = args
50
51 class Literal(SQLGeneric):
52     def __init__(self, value):
53         self.value = value