MCPcopy Index your code
hub / github.com/webpy/webpy / SQLParam

Class SQLParam

web/db.py:82–125  ·  view source on GitHub ↗

Parameter in SQLQuery. >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam("joe")]) >>> q >>> q.query() 'SELECT * FROM test WHERE name=%s' >>> q.values() ['joe']

Source from the content-addressed store, hash-verified

80
81
82class SQLParam:
83 """
84 Parameter in SQLQuery.
85
86 >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam("joe")])
87 >>> q
88 <sql: "SELECT * FROM test WHERE name='joe'">
89 >>> q.query()
90 'SELECT * FROM test WHERE name=%s'
91 >>> q.values()
92 ['joe']
93 """
94
95 __slots__ = ["value"]
96
97 def __init__(self, value):
98 self.value = value
99
100 def get_marker(self, paramstyle="pyformat"):
101 if paramstyle == "qmark":
102 return "?"
103 elif paramstyle == "numeric":
104 return ":1"
105 elif paramstyle is None or paramstyle in ["format", "pyformat"]:
106 return "%s"
107 raise UnknownParamstyle(paramstyle)
108
109 def sqlquery(self):
110 return SQLQuery([self])
111
112 def __add__(self, other):
113 return self.sqlquery() + other
114
115 def __radd__(self, other):
116 return other + self.sqlquery()
117
118 def __str__(self):
119 return str(self.value)
120
121 def __eq__(self, other):
122 return isinstance(other, SQLParam) and other.value == self.value
123
124 def __repr__(self):
125 return "<param: %s>" % repr(self.value)
126
127
128sqlparam = SQLParam

Callers 2

sql_clausesMethod · 0.85
multiple_insertMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected