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