update windows build to Python 3.7
This commit is contained in:
parent
73105fa71e
commit
ddc59ab92d
5761 changed files with 750298 additions and 213405 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# sql/__init__.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/base.cpython-37.pyc
Normal file
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/base.cpython-37.pyc
Normal file
Binary file not shown.
Binary file not shown.
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/crud.cpython-37.pyc
Normal file
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/crud.cpython-37.pyc
Normal file
Binary file not shown.
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/ddl.cpython-37.pyc
Normal file
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/ddl.cpython-37.pyc
Normal file
Binary file not shown.
Binary file not shown.
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/dml.cpython-37.pyc
Normal file
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/dml.cpython-37.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/util.cpython-37.pyc
Normal file
BIN
Lib/site-packages/sqlalchemy/sql/__pycache__/util.cpython-37.pyc
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
# sql/annotation.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/base.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -449,11 +449,10 @@ class ColumnCollection(util.OrderedProperties):
|
|||
|
||||
"""
|
||||
|
||||
__slots__ = '_all_col_set', '_all_columns'
|
||||
__slots__ = '_all_columns'
|
||||
|
||||
def __init__(self, *columns):
|
||||
super(ColumnCollection, self).__init__()
|
||||
object.__setattr__(self, '_all_col_set', util.column_set())
|
||||
object.__setattr__(self, '_all_columns', [])
|
||||
for c in columns:
|
||||
self.add(c)
|
||||
|
|
@ -482,14 +481,11 @@ class ColumnCollection(util.OrderedProperties):
|
|||
other = self[column.name]
|
||||
if other.name == other.key:
|
||||
remove_col = other
|
||||
self._all_col_set.remove(other)
|
||||
del self._data[other.key]
|
||||
|
||||
if column.key in self._data:
|
||||
remove_col = self._data[column.key]
|
||||
self._all_col_set.remove(remove_col)
|
||||
|
||||
self._all_col_set.add(column)
|
||||
self._data[column.key] = column
|
||||
if remove_col is not None:
|
||||
self._all_columns[:] = [column if c is remove_col
|
||||
|
|
@ -534,7 +530,6 @@ class ColumnCollection(util.OrderedProperties):
|
|||
# in a _make_proxy operation
|
||||
util.memoized_property.reset(value, "proxy_set")
|
||||
|
||||
self._all_col_set.add(value)
|
||||
self._all_columns.append(value)
|
||||
self._data[key] = value
|
||||
|
||||
|
|
@ -543,22 +538,20 @@ class ColumnCollection(util.OrderedProperties):
|
|||
|
||||
def remove(self, column):
|
||||
del self._data[column.key]
|
||||
self._all_col_set.remove(column)
|
||||
self._all_columns[:] = [
|
||||
c for c in self._all_columns if c is not column]
|
||||
|
||||
def update(self, iter):
|
||||
cols = list(iter)
|
||||
all_col_set = set(self._all_columns)
|
||||
self._all_columns.extend(
|
||||
c for label, c in cols if c not in self._all_col_set)
|
||||
self._all_col_set.update(c for label, c in cols)
|
||||
c for label, c in cols if c not in all_col_set)
|
||||
self._data.update((label, c) for label, c in cols)
|
||||
|
||||
def extend(self, iter):
|
||||
cols = list(iter)
|
||||
self._all_columns.extend(c for c in cols if c not in
|
||||
self._all_col_set)
|
||||
self._all_col_set.update(cols)
|
||||
all_col_set = set(self._all_columns)
|
||||
self._all_columns.extend(c for c in cols if c not in all_col_set)
|
||||
self._data.update((c.key, c) for c in cols)
|
||||
|
||||
__hash__ = None
|
||||
|
|
@ -584,22 +577,17 @@ class ColumnCollection(util.OrderedProperties):
|
|||
def __setstate__(self, state):
|
||||
object.__setattr__(self, '_data', state['_data'])
|
||||
object.__setattr__(self, '_all_columns', state['_all_columns'])
|
||||
object.__setattr__(
|
||||
self, '_all_col_set', util.column_set(state['_all_columns']))
|
||||
|
||||
def contains_column(self, col):
|
||||
# this has to be done via set() membership
|
||||
return col in self._all_col_set
|
||||
return col in set(self._all_columns)
|
||||
|
||||
def as_immutable(self):
|
||||
return ImmutableColumnCollection(
|
||||
self._data, self._all_col_set, self._all_columns)
|
||||
return ImmutableColumnCollection(self._data, self._all_columns)
|
||||
|
||||
|
||||
class ImmutableColumnCollection(util.ImmutableProperties, ColumnCollection):
|
||||
def __init__(self, data, colset, all_columns):
|
||||
def __init__(self, data, all_columns):
|
||||
util.ImmutableProperties.__init__(self, data)
|
||||
object.__setattr__(self, '_all_col_set', colset)
|
||||
object.__setattr__(self, '_all_columns', all_columns)
|
||||
|
||||
extend = remove = util.ImmutableProperties._immutable
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/compiler.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -53,7 +53,7 @@ LEGAL_CHARACTERS = re.compile(r'^[A-Z0-9_$]+$', re.I)
|
|||
ILLEGAL_INITIAL_CHARACTERS = set([str(x) for x in range(0, 10)]).union(['$'])
|
||||
|
||||
BIND_PARAMS = re.compile(r'(?<![:\w\$\x5c]):([\w\$]+)(?![:\w\$])', re.UNICODE)
|
||||
BIND_PARAMS_ESC = re.compile(r'\x5c(:[\w\$]+)(?![:\w\$])', re.UNICODE)
|
||||
BIND_PARAMS_ESC = re.compile(r'\x5c(:[\w\$]*)(?![:\w\$])', re.UNICODE)
|
||||
|
||||
BIND_TEMPLATES = {
|
||||
'pyformat': "%%(%(name)s)s",
|
||||
|
|
@ -282,6 +282,7 @@ class _CompileLabel(visitors.Visitable):
|
|||
return self.element.type
|
||||
|
||||
|
||||
|
||||
class SQLCompiler(Compiled):
|
||||
|
||||
"""Default implementation of Compiled.
|
||||
|
|
@ -301,6 +302,8 @@ class SQLCompiler(Compiled):
|
|||
INSERT/UPDATE/DELETE
|
||||
"""
|
||||
|
||||
isplaintext = False
|
||||
|
||||
returning = None
|
||||
"""holds the "returning" collection of columns if
|
||||
the statement is CRUD and defines returning columns
|
||||
|
|
@ -684,6 +687,9 @@ class SQLCompiler(Compiled):
|
|||
else:
|
||||
return self.bindparam_string(name, **kw)
|
||||
|
||||
if not self.stack:
|
||||
self.isplaintext = True
|
||||
|
||||
# un-escape any \:params
|
||||
return BIND_PARAMS_ESC.sub(
|
||||
lambda m: m.group(1),
|
||||
|
|
@ -1998,7 +2004,7 @@ class SQLCompiler(Compiled):
|
|||
text += " " + extra_from_text
|
||||
|
||||
if update_stmt._whereclause is not None:
|
||||
t = self.process(update_stmt._whereclause)
|
||||
t = self.process(update_stmt._whereclause, **kw)
|
||||
if t:
|
||||
text += " WHERE " + t
|
||||
|
||||
|
|
@ -2061,7 +2067,7 @@ class SQLCompiler(Compiled):
|
|||
delete_stmt, delete_stmt._returning)
|
||||
|
||||
if delete_stmt._whereclause is not None:
|
||||
t = delete_stmt._whereclause._compiler_dispatch(self)
|
||||
t = delete_stmt._whereclause._compiler_dispatch(self, **kw)
|
||||
if t:
|
||||
text += " WHERE " + t
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/crud.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -117,14 +117,14 @@ def _get_crud_params(compiler, stmt, **kw):
|
|||
|
||||
def _create_bind_param(
|
||||
compiler, col, value, process=True,
|
||||
required=False, name=None):
|
||||
required=False, name=None, **kw):
|
||||
if name is None:
|
||||
name = col.key
|
||||
bindparam = elements.BindParameter(
|
||||
name, value, type_=col.type, required=required)
|
||||
bindparam._is_crud = True
|
||||
if process:
|
||||
bindparam = bindparam._compiler_dispatch(compiler)
|
||||
bindparam = bindparam._compiler_dispatch(compiler, **kw)
|
||||
return bindparam
|
||||
|
||||
|
||||
|
|
@ -275,7 +275,8 @@ def _append_param_parameter(
|
|||
compiler, c, value, required=value is REQUIRED,
|
||||
name=_col_bind_name(c)
|
||||
if not stmt._has_multi_parameters
|
||||
else "%s_0" % _col_bind_name(c)
|
||||
else "%s_0" % _col_bind_name(c),
|
||||
**kw
|
||||
)
|
||||
else:
|
||||
if isinstance(value, elements.BindParameter) and \
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/ddl.py
|
||||
# Copyright (C) 2009-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2009-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/default_comparator.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -263,6 +263,7 @@ operator_lookup = {
|
|||
"getitem": (_unsupported_impl,),
|
||||
"lshift": (_unsupported_impl,),
|
||||
"rshift": (_unsupported_impl,),
|
||||
"contains": (_unsupported_impl,),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/dml.py
|
||||
# Copyright (C) 2009-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2009-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/elements.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -1336,17 +1336,16 @@ class TextClause(Executable, ClauseElement):
|
|||
for id, name in connection.execute(t):
|
||||
print(id, name)
|
||||
|
||||
The :func:`.text` construct is used internally in cases when
|
||||
a literal string is specified for part of a larger query, such as
|
||||
when a string is specified to the :meth:`.Select.where` method of
|
||||
:class:`.Select`. In those cases, the same
|
||||
bind parameter syntax is applied::
|
||||
The :func:`.text` construct is used in cases when
|
||||
a literal string SQL fragment is specified as part of a larger query,
|
||||
such as for the WHERE clause of a SELECT statement::
|
||||
|
||||
s = select([users.c.id, users.c.name]).where("id=:user_id")
|
||||
s = select([users.c.id, users.c.name]).where(text("id=:user_id"))
|
||||
result = connection.execute(s, user_id=12)
|
||||
|
||||
Using :func:`.text` explicitly usually implies the construction
|
||||
of a full, standalone statement. As such, SQLAlchemy refers
|
||||
:func:`.text` is also used for the construction
|
||||
of a full, standalone statement using plain text.
|
||||
As such, SQLAlchemy refers
|
||||
to it as an :class:`.Executable` object, and it supports
|
||||
the :meth:`Executable.execution_options` method. For example,
|
||||
a :func:`.text` construct that should be subject to "autocommit"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/expression.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/functions.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sqlalchemy/naming.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/operators.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -15,7 +15,7 @@ from .. import util
|
|||
|
||||
from operator import (
|
||||
and_, or_, inv, add, mul, sub, mod, truediv, lt, le, ne, gt, ge, eq, neg,
|
||||
getitem, lshift, rshift
|
||||
getitem, lshift, rshift, contains
|
||||
)
|
||||
|
||||
if util.py2k:
|
||||
|
|
@ -333,6 +333,9 @@ class ColumnOperators(Operators):
|
|||
"""
|
||||
return self.operate(neg)
|
||||
|
||||
def __contains__(self, other):
|
||||
return self.operate(contains, other)
|
||||
|
||||
def __getitem__(self, index):
|
||||
"""Implement the [] operator.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/schema.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/selectable.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/sqltypes.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -876,9 +876,9 @@ class LargeBinary(_Binary):
|
|||
|
||||
"""A type for large binary byte data.
|
||||
|
||||
The Binary type generates BLOB or BYTEA when tables are created,
|
||||
and also converts incoming values using the ``Binary`` callable
|
||||
provided by each DB-API.
|
||||
The :class:`.LargeBinary` type corresponds to a large and/or unlengthed
|
||||
binary type for the target platform, such as BLOB on MySQL and BYTEA for
|
||||
Postgresql. It also handles the necessary conversions for the DBAPI.
|
||||
|
||||
"""
|
||||
|
||||
|
|
@ -889,13 +889,8 @@ class LargeBinary(_Binary):
|
|||
Construct a LargeBinary type.
|
||||
|
||||
:param length: optional, a length for the column for use in
|
||||
DDL statements, for those BLOB types that accept a length
|
||||
(i.e. MySQL). It does *not* produce a *lengthed* BINARY/VARBINARY
|
||||
type - use the BINARY/VARBINARY types specifically for those.
|
||||
May be safely omitted if no ``CREATE
|
||||
TABLE`` will be issued. Certain databases may require a
|
||||
*length* for use in DDL, and will raise an exception when
|
||||
the ``CREATE TABLE`` DDL is issued.
|
||||
DDL statements, for those binary types that accept a length,
|
||||
such as the MySQL BLOB type.
|
||||
|
||||
"""
|
||||
_Binary.__init__(self, length=length)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/types_api.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/util.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# sql/visitors.py
|
||||
# Copyright (C) 2005-2015 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue