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