forked from rDrama/rDrama
fds
parent
d0f3ae65e5
commit
e187b7b570
|
@ -1,33 +0,0 @@
|
||||||
from sqlalchemy.ext.compiler import compiles
|
|
||||||
from sqlalchemy.sql.expression import FromClause
|
|
||||||
|
|
||||||
|
|
||||||
class values(FromClause):
|
|
||||||
named_with_column = True
|
|
||||||
|
|
||||||
def __init__(self, columns, *args, **kwargs):
|
|
||||||
self._column_args = columns
|
|
||||||
self.list = args
|
|
||||||
self.alias_name = self.name = kwargs.pop('alias_name', None)
|
|
||||||
|
|
||||||
def _populate_column_collection(self):
|
|
||||||
for c in self._column_args:
|
|
||||||
c._make_proxy(self)
|
|
||||||
|
|
||||||
|
|
||||||
@compiles(values)
|
|
||||||
def compile_values(element, compiler, asfrom=False):
|
|
||||||
columns = element.columns
|
|
||||||
v = "VALUES %s" % ", ".join(
|
|
||||||
"(%s)" % ", ".join(
|
|
||||||
compiler.render_literal_value(elem, column.type)
|
|
||||||
for elem, column in zip(tup, columns))
|
|
||||||
for tup in element.list
|
|
||||||
)
|
|
||||||
if asfrom:
|
|
||||||
if element.alias_name:
|
|
||||||
v = "(%s) AS %s (%s)" % (v, element.alias_name,
|
|
||||||
(", ".join(c.name for c in element.columns)))
|
|
||||||
else:
|
|
||||||
v = "(%s)" % v
|
|
||||||
return v
|
|
Loading…
Reference in New Issue