| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
introspecting table names.
By default sqlalchemy has always excluded tables in the SYSTEM and SYSAUX tablespaces when introspecting table names.
However, in for example Oracle XE 11g (Express Edition), the SYSTEM tablespace is the default one used for newly created users.
This means that sqlalchemy applications will fail to list tables created for these users unless the settings are changed.
Also, column introspection fails as the table is not found in the list of table names.
In order to prevent adverse effects where the SYSTEM tablespace is not desired, this change simply introduces an `exclude_tablespaces` attribute on the dialect.
Overriding this will allow programs or libraries using sqlalchemy to adjust the list of tablespaces to be excluded.
|
|
|
|
|
|
|
|
|
|
| |
Removed a warning that dates back to 0.4 which emits when a same-named
relationship is placed on two mappers that inherits via joined or
single table inheritance. The warning does not apply to the
current unit of work implementation.
Change-Id: If528ec3a2f4dc60712d9044fd1ec6c4dfbf0eadb
Fixes: #3749
|
|
|
|
| |
Change-Id: Ieba940a998a6aa287864e9748c2995ee4ae5bf54
|
|\ |
|
| |
| |
| |
| |
| |
| | |
And force to use keyword arguments for trivial parameters in index_property
Change-Id: I12a178128182f77a2d06b52d7e36f59a36b45a33
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed bug in new CTE feature for update/insert/delete whereby
an anoymous (e.g. no name passed) :class:`.CTE` construct around
the statement would fail. The Alias base class of CTE checks
for the "named_with_column" attribute in order to detect if
the underlying selectable has a name; UpdateBase now provides
this as False.
Change-Id: I4b0309db21379a4c0cb93085298c86da3cf840e4
Fixes: #3744
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed bug in new CTE feature for update/insert/delete stated
as a CTE inside of an enclosing statement (typically SELECT) whereby
oninsert and onupdate values weren't called upon for the embedded
statement.
This is accomplished by consulting prefetch
for all statements. The collection is also broken into
separate insert/update collections so that we don't need to
consult toplevel self.isinsert to determine if the prefetch
is for an insert or an update. What we don't yet test for
are CTE combinations that have both insert/update in one
statement, though these should now work in theory provided
the underlying database supports such a statement.
Change-Id: I3b6a860e22c86743c91c56a7ec751ff706f66f64
Fixes: #3745
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix improper capture of a loop variable inside a lambda during unbaking
of subquery eager loaders, which would cause the incorrect query
to be invoked.
Fixes: #3743
Change-Id: I995110deb8ee2dae8540486729e1ae64578d28fc
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/290
|
| |
| |
| |
| | |
Change-Id: I2d75b6d9ca533e662bc8160cf5fc52355e5e549e
|
| | |
|
|/ |
|
|
|
|
| |
Change-Id: Ie66d419a5188529a64fcb2e2463c15c26863889f
|
|
|
|
|
|
|
|
|
| |
Add an example of how to use coerce_compared_value()
specific to JSONEncodedDict, as this example class
is frequently dropped into applications.
Change-Id: I61639ac03dc5a37673ee8201b99a3c36ab944f00
Fixes: #3742
|
|
|
|
|
|
| |
(cherry picked from commit e9a1d7bc6a0ae4ec09b6431d23d201654013c6a7)
Change-Id: I5bab3fd6f2ec4986fd6b1049844f3851958d0c66
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This modifies the Oracle ROWNUM limit/offset approach
to accommodate for the "OF" clause in a "FOR UPDATE"
phrase. The column expressions must be added to the selected
subquery if necessary and adapted on the outside.
Change-Id: Ia71b5fc4df6d326e73863f8ae9f96e8f1a5acfc1
Fixes: #3741
|
|/
|
|
|
|
|
| |
It was raising AttributeError for key accessing in dict,
but raising IndexError for index accessing in array.
Change-Id: I58a2252a9e8d7f78cabcefcbe7223a4f3a729115
|
|
|
|
| |
Change-Id: I5ace1a90f36678c006d704b452fbbe8a3eb1cd0a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the dialect impl memoization for TypeDecorator
necessarily keeps the top-level TypeDecorator type
around, since a user-defined type will have bind and result
set processing behavior. For both TypeDecorator and Variant,
PG dialect needs to ensure it's looking at the SQLAlchemy
type to check for SmallInteger / BigInteger.
Fixes: 3739
Change-Id: I2d45fb997f17c6272d6bb826a77d2dba665adae7
(cherry picked from commit 421fa6b8bf9f0c3c5041579c89ec405ce0f5e0b0)
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
Change-Id: Iee0bf9e60a5991bedbe29b305803b4c79ac5c511
(cherry picked from commit 849df799ec4107d0992c8eb0e015b74916aee266)
|
|
|
|
|
|
|
|
|
|
| |
Fixed issue in SQL math negation operator where the type of the
expression would no longer be the numeric type of the original.
This would cause issues where the type determined result set
behaviors.
Change-Id: If0e339614a3686e251235fc94b6f59310c4630a5
Fixes: #3735
|
| |
|
|
|
|
| |
Change-Id: Ie11361147d497c6eb6418cdc850ed277dfbd1de4
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed bug whereby the ``__getstate__`` / ``__setstate__``
methods for sqlalchemy.util.Properties were
non-working due to the transition in the 1.0 series to ``__slots__``.
The issue potentially impacted some third-party applications.
Pull request courtesy Pieter Mulder.
Fixes: #3728
Change-Id: I01ebd425bbfe145747fea2edd0d2d412c74fd84d
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/286
(cherry picked from commit cab57e9bab04fbdea44690c08dff379a29eaab32)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Made a slight behavioral change in the ``sqlalchemy.ext.compiler``
extension, whereby the existing compilation schemes for an established
construct would be removed if that construct was itself didn't already
have its own dedicated ``__visit_name__``. This was a
rare occurrence in 1.0, however in 1.1 :class:`.postgresql.ARRAY`
subclasses :class:`.sqltypes.ARRAY` and has this behavior.
As a result, setting up a compilation handler for another dialect
such as SQLite would render the main :class:`.postgresql.ARRAY`
object no longer compilable.
Fixes: #3732
Change-Id: If2c1ada4eeb09157885888e41f529173902f2b49
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The processing performed by the :class:`.Boolean` datatype for backends
that only feature integer types has been made consistent between the
pure Python and C-extension versions, in that the C-extension version
will accept any integer value from the database as a boolean, not just
zero and one; additionally, non-boolean integer values being sent to
the database are coerced to exactly zero or one, instead of being
passed as the original integer value.
Change-Id: I01e647547fd7047bd549dd70e1fa202c51e8328b
Fixes: #3730
|
|
|
|
|
|
|
|
|
|
|
| |
Dialed back the "order the primary key columns per auto-increment"
described in :ref:`change_mysql_3216` a bit, so that if the
:class:`.PrimaryKeyConstraint` is explicitly defined, the order
of columns is maintained exactly, allowing control of this behavior
when necessary.
Change-Id: I9e7902c57a96c15968a6abf53e319acf15680da0
Fixes: #3726
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rolled back the validation rules a bit in :class:`.Enum` to allow
unknown string values to pass through, unless the flag
``validate_string=True`` is passed to the Enum; any other kind of object is
still of course rejected. While the immediate use
is to allow comparisons to enums with LIKE, the fact that this
use exists indicates there may be more unknown-string-comparsion use
cases than we expected, which hints that perhaps there are some
unknown string-INSERT cases too.
Change-Id: I7d1d79b374a7d47966d410998f77cd19294ab7b0
Fixes: #3725
|
|
|
|
| |
Change-Id: I8815a68dcf6e5d27f3f82b02f939f72d9a412337
|
|
|
|
| |
Change-Id: I5ac6ba8234873fdd19bee6c1decd311a9cb4d55e
|
|
|
|
| |
Change-Id: Ida3ca92b496a1e3ebd761c100201d3660460c2bf
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Allows custom dialects to add keywords after the
CREATE TABLE section.
Change-Id: I6fa66dfcf00ef95122f491a9115410df2746cf88
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Change-Id: Ie96edd05e962663e9ddeeda85b24858caabd3bfd
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/262
|
| |
| |
| |
| | |
Change-Id: Ie4cb4924909d55c5962f66e36cd5325e8e8f0538
|
| |
| |
| |
| | |
Change-Id: I74e369d1d71c98cb0af58dde80b7d535d17cbdf7
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The TABLESAMPLE clause allows randomly selecting an approximate percentage
of rows from a table. At least DB2, Microsoft SQL Server and recent
Postgresql support this standard clause.
Fixes: #3718
Change-Id: I3fb8b9223e12a57100df30876b461884c58d72fa
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/277
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also add doc members for Lateral.
Change-Id: Ic801c296377ce84230139c6a43ecb3e93a852832
|