Contact: fumanchu@aminus.org

Log in as guest/geniusql to create tickets

Changeset 124

Show
Ignore:
Timestamp:
08/09/07 18:45:42
Author:
fumanchu
Message:

Removed parameter cruft (paramterization did not provide any performance benefit).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/ast/geniusql/astwalk.py

    r123 r124  
    7878    dstar_args = None 
    7979    _root = None 
    80 ##    parameters = None 
    8180     
    8281    def __init__(self, root=None, args=None, kwargs=None, 
     
    8786        self.star_args = star_args 
    8887        self.dstar_args = dstar_args 
    89 ##        self.parameters = [] 
    9088     
    9189    def _get_root(self): 
     
    9391    def _set_root(self, root): 
    9492        self._root = root 
    95 ##        # re-calc parameters 
    96 ##        self.parameters = [] 
    97 ##        if root and isinstance(root, ast.Node): 
    98 ##            def walk(node): 
    99 ##                if isinstance(node, Parameter): 
    100 ##                    node.paramindex = len(self.parameters) 
    101 ##                    self.parameters.append(node.value) 
    102 ##                for child in node.getChildNodes(): 
    103 ##                    walk(child) 
    104 ##            walk(root) 
    10593    root = property(_get_root, _set_root, "The root node of the AST") 
    10694     
     
    10997                (self.root, self.args, self.kwargs, 
    11098                 self.star_args, self.dstar_args)) 
    111  
    112  
    113 class Parameter(ast.Node): 
    114     """A substitute Node for Const. Doesn't report its value in repr.""" 
    115      
    116     paramindex = None 
    117      
    118     def __init__(self, value, lineno=None): 
    119         self.value = value 
    120         self.lineno = lineno 
    121      
    122     def getChildren(self): 
    123         return self.value, self.paramindex 
    124      
    125     def getChildNodes(self): 
    126         return () 
    127      
    128     def __repr__(self): 
    129         return "Parameter()" 
    13099 
    131100 
  • branches/ast/geniusql/deparse.py

    r123 r124  
    11import datetime 
    2 from types import FunctionType 
     2from types import FunctionType, NoneType 
    33from geniusql import logic, astwalk 
    44 
     
    129129    sql_bin_op = dict([(v, v) for v in astwalk.codewalk.binary_repr.itervalues()]) 
    130130     
    131     none_expr = SQLExpression("NULL", "expr0", None, type(None)
     131    none_expr = SQLExpression("NULL", "expr0", None, NoneType
    132132     
    133133    def __init__(self, tables, expr, typeset): 
     
    439439    like_escapes = [("%", r"\%"), ("_", r"\_")] 
    440440     
    441     def escape_like(self, value): 
     441    def escape_like(self, sql): 
    442442        """Prepare a string value for use in a LIKE comparison.""" 
    443         if not isinstance(value, str): 
    444             value = value.encode(self.encoding) 
    445443        # Notice we strip leading and trailing quote-marks. 
    446         value = value.strip("'\"") 
     444        sql = sql.strip("'\"") 
    447445        for pat, repl in self.like_escapes: 
    448             value = value.replace(pat, repl) 
    449         return value 
     446            sql = sql.replace(pat, repl) 
     447        return sql 
    450448     
    451449    def attr_startswith(self, tos, arg):