| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructs are now importable from the "from sqlalchemy" namespace,
just like every other Core construct.
- The implicit conversion of strings to :func:`.text` constructs
when passed to most builder methods of :func:`.select` as
well as :class:`.Query` now emits a warning with just the
plain string sent. The textual conversion still proceeds normally,
however. The only method that accepts a string without a warning
are the "label reference" methods like order_by(), group_by();
these functions will now at compile time attempt to resolve a single
string argument to a column or label expression present in the
selectable; if none is located, the expression still renders, but
you get the warning again. The rationale here is that the implicit
conversion from string to text is more unexpected than not these days,
and it is better that the user send more direction to the Core / ORM
when passing a raw string as to what direction should be taken.
Core/ORM tutorials have been updated to go more in depth as to how text
is handled.
fixes #2992
|
| | |
|
| |
|
|
|
|
|
|
|
| |
N occurrences of a parameterized string. This allows parameterized
warnings that can refer to their arguments to be delivered a fixed
number of times until allowing Python warning filters to squelch them,
and prevents memory from growing unbounded within Python's
warning registries.
fixes #3178
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
such that it has less chance of interfering with a joinload() in the
very rare circumstance that an object points to itself; in this
scenario, the object refers to itself while loading its attributes
which can cause a mixup between loaders. The use case of
"object points to itself" is not fully supported, but the fix also
removes some overhead so for now is part of testing.
fixes #3145
|
| | |
|
| |
|
|
| |
they can be used under xdist
|
| |
|
|
| |
- guard against some potential pytest snarkiness
|
| | |
|
| |
|
|
| |
are a little more crazy under xdist mode
|
| | |
|
| |\
| |
| |
| |
| | |
Conflicts:
doc/build/changelog/changelog_10.rst
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- return a list of dicts like other methods do
- don't combine 'schema' with 'name', leave them separate
- support '*' argument so that we can retrieve cross-schema
if needed
- remove "conn" argument
- use bound parameters for 'schema' in SQL
- order by schema, name, label
- adapt _load_enums changes to column reflection
- changelog
- module docs for get_enums()
- add drop of enums to --dropfirst
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
| |
- ensure non-tests wont run
|
| |
|
|
| |
- keep sqlite as memory even with parallel for now
|
| |
|
|
| |
simplify tox again now that we can exclude tests more easily
|
| | |
|
| |\
| |
| |
| |
| | |
Conflicts:
lib/sqlalchemy/engine/url.py
|
| | |
| |
| |
| | |
rules, better message formatting
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
| |
- be specific as to what occurred when we collect stray gc
|
| |
|
|
| |
sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
|
| |
|
|
| |
to get all flake8 passing
|
| | |
|
| |
|
|
|
| |
distutils appropriately, and errors would be emitted at the end
of the test suite.
|
| |
|
|
|
|
|
| |
fix that is updated more comprehensively in 1.0 via :ticket:`3061`.
The fix in :ticket:`3060` unfortunately produces a new issue whereby
an eager load of a many-to-one attribute can produce an event
that is interpreted into an attribute change.
|
| |\ |
|
| | |
| |
| | |
Wrong Type (TEXT) being used in StringTest
|
| | |
| |
| |
| |
| |
| | |
that might take one of multiple directions; apply this to test_delete_unloaded_m2o
which is now illustrating multiple paths due to #3060/#3061, though still doing the
right thing.
|
| | |
| |
| |
| | |
- implement for SQL server, use window functions when simple limit/offset not available
|
| |/
|
|
|
|
|
|
|
| |
Removed ungrammatical apostrophes from documentation, replacing
"it's" with "its" where appropriate (but in a few cases with "it is"
when that read better).
While doing that, I also fixed a couple of minor typos etc.
as I noticed them.
|
| |
|
|
| |
Found using: https://github.com/intgr/topy
|
| |
|
|
|
|
| |
greater
part of #2830
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
it for DELETE would fail to target the correct row for DELETE.
Then to compound matters, basic "number of rows matched" checks were
not being performed. Both issues are fixed, however note that the
"rows matched" check requires so-called "sane multi-row count"
functionality; the DBAPI's executemany() method must count up the
rows matched by individual statements and SQLAlchemy's dialect must
mark this feature as supported, currently applies to some mysql dialects,
psycopg2, sqlite only. fixes #3006
- Enabled "sane multi-row count" checking for the psycopg2 DBAPI, as
this seems to be supported as of psycopg2 2.0.9.
|
| |
|
|
|
|
|
|
|
|
|
| |
"supports unicode statements" flag is now False, so that SQLAlchemy
will encode the *SQL string* (note: *not* the parameters)
to bytes before sending to the database. This seems to allow
all unicode-related tests to pass for mysql-connector, including those
that use non-ascii table/column names, as well as some tests for the
TEXT type using unicode under cursor.executemany().
- other mysql-connector fixes; latest version seems to do better on
function call counts
|
| |
|
|
|
| |
Conflicts:
lib/sqlalchemy/testing/suite/test_types.py
|
| |
|
|
|
| |
- move the logic to determine "test id" into plugin_base
- update callcounts
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|