summaryrefslogtreecommitdiff
path: root/databases/tarantool/files/patch-test_lib_sql.py
diff options
context:
space:
mode:
authorEitan Adler <eadler@FreeBSD.org>2012-01-02 15:41:28 +0000
committerEitan Adler <eadler@FreeBSD.org>2012-01-02 15:41:28 +0000
commit4ca7312e0e4f57600720f8e2c8ef343d5b03920a (patch)
tree26979d4606efbbd4c17c134fbb041aa7ebe768da /databases/tarantool/files/patch-test_lib_sql.py
parent- update to 2.0.1 (diff)
Tarantool/Box, or simply Tarantool, is a high performance key/value
storage server. The code is available for free under the terms of BSD license. Supported platforms are GNU/Linux and FreeBSD. WWW: http://tarantool.org/ PR: ports/163213 Submitted by: Gvozdikov Veniamin <g.veniamin@googlemail.com>
Diffstat (limited to 'databases/tarantool/files/patch-test_lib_sql.py')
-rw-r--r--databases/tarantool/files/patch-test_lib_sql.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/databases/tarantool/files/patch-test_lib_sql.py b/databases/tarantool/files/patch-test_lib_sql.py
new file mode 100644
index 000000000000..30b56f1df11e
--- /dev/null
+++ b/databases/tarantool/files/patch-test_lib_sql.py
@@ -0,0 +1,92 @@
+--- test/lib/sql.py.orig 2011-05-14 12:16:32.000000000 +0000
++++ test/lib/sql.py 2011-12-13 00:23:04.673107891 +0000
+@@ -30,8 +30,6 @@
+ ('WHERE', re.compile('where')),
+ ('VALUES', re.compile('values')),
+ ('SET', re.compile('set')),
+- ('OR', re.compile('or')),
+- ('LIMIT', re.compile('limit')),
+ ('END', re.compile('\\s*$')),
+ ]
+ def __init__(self, str,*args,**kw):
+@@ -76,16 +74,16 @@
+ ident = self.ident(_context)
+ SET = self._scan('SET', context=_context)
+ update_list = self.update_list(_context)
+- opt_simple_where = self.opt_simple_where(_context)
+- return sql_ast.StatementUpdate(ident, update_list, opt_simple_where)
++ opt_where = self.opt_where(_context)
++ return sql_ast.StatementUpdate(ident, update_list, opt_where)
+
+ def delete(self, _parent=None):
+ _context = self.Context(_parent, self._scanner, 'delete', [])
+ DELETE = self._scan('DELETE', context=_context)
+ FROM = self._scan('FROM', context=_context)
+ ident = self.ident(_context)
+- opt_simple_where = self.opt_simple_where(_context)
+- return sql_ast.StatementDelete(ident, opt_simple_where)
++ opt_where = self.opt_where(_context)
++ return sql_ast.StatementDelete(ident, opt_where)
+
+ def select(self, _parent=None):
+ _context = self.Context(_parent, self._scanner, 'select', [])
+@@ -94,8 +92,7 @@
+ FROM = self._scan('FROM', context=_context)
+ ident = self.ident(_context)
+ opt_where = self.opt_where(_context)
+- opt_limit = self.opt_limit(_context)
+- return sql_ast.StatementSelect(ident, opt_where, opt_limit)
++ return sql_ast.StatementSelect(ident, opt_where)
+
+ def ping(self, _parent=None):
+ _context = self.Context(_parent, self._scanner, 'ping', [])
+@@ -109,8 +106,8 @@
+ constant = self.constant(_context)
+ return (ident, constant)
+
+- def opt_simple_where(self, _parent=None):
+- _context = self.Context(_parent, self._scanner, 'opt_simple_where', [])
++ def opt_where(self, _parent=None):
++ _context = self.Context(_parent, self._scanner, 'opt_where', [])
+ _token = self._peek('WHERE', 'END', context=_context)
+ if _token == 'END':
+ return None
+@@ -119,38 +116,6 @@
+ predicate = self.predicate(_context)
+ return predicate
+
+- def opt_where(self, _parent=None):
+- _context = self.Context(_parent, self._scanner, 'opt_where', [])
+- _token = self._peek('WHERE', 'LIMIT', 'END', context=_context)
+- if _token != 'WHERE':
+- return None
+- else: # == 'WHERE'
+- WHERE = self._scan('WHERE', context=_context)
+- disjunction = self.disjunction(_context)
+- return disjunction
+-
+- def disjunction(self, _parent=None):
+- _context = self.Context(_parent, self._scanner, 'disjunction', [])
+- predicate = self.predicate(_context)
+- disjunction = [predicate]
+- if self._peek('OR', 'LIMIT', 'END', context=_context) == 'OR':
+- while 1:
+- OR = self._scan('OR', context=_context)
+- predicate = self.predicate(_context)
+- disjunction.append(predicate)
+- if self._peek('OR', 'LIMIT', 'END', context=_context) != 'OR': break
+- return disjunction
+-
+- def opt_limit(self, _parent=None):
+- _context = self.Context(_parent, self._scanner, 'opt_limit', [])
+- _token = self._peek('LIMIT', 'END', context=_context)
+- if _token == 'END':
+- return 0xffffffff
+- else: # == 'LIMIT'
+- LIMIT = self._scan('LIMIT', context=_context)
+- NUM = self._scan('NUM', context=_context)
+- return int(NUM)
+-
+ def value_list(self, _parent=None):
+ _context = self.Context(_parent, self._scanner, 'value_list', [])
+ self._scan("'\\('", context=_context)