| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
behavior as that of :class:`.mysql.ENUM`. Quotes are not required when
setting up the value, but quotes that are present will be auto-detected
along with a warning. This also helps with Alembic where
the SET type doesn't render with quotes. [ticket:2817]
|
|
|
|
| |
- callcount
|
|
|
|
|
|
| |
--write-profiles is set
- some sqlite callcounts
|
|
|
|
|
| |
- modernize test for that
- use py3k compatible next() in test_returning/test_versioning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the import structure of many core modules.
``sqlalchemy.schema`` and ``sqlalchemy.types``
remain in the top-level package, but are now just lists of names
that pull from within ``sqlalchemy.sql``. Their implementations
are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``,
``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was
moved from ``sqlalchemy.engine``. ``sqlalchemy.sql.expression`` is also
a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``,
``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``.
Most of the "factory" functions
used to create SQL expression objects have been moved to classmethods
or constructors, which are exposed in ``sqlalchemy.sql.expression``
using a programmatic system. Care has been taken such that all the
original import namespaces remain intact and there should be no impact
on any existing applications. The rationale here was to break out these
very large modules into smaller ones, provide more manageable lists
of function names, to greatly reduce "import cycles" and clarify the
up-front importing of names, and to remove the need for redundant
functions and documentation throughout the expression package.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ideas in general:
- pypy2.1 w/ sqlite3 is the first DBAPI we're seeing returning
unicode in cursor.description without being py3k. add a new on-connect
check for this, if we get back a u"", just don't do description decoding,
should be OK for now.
- the set tests in test_collection were assuming the two sets would be ordered
the same when it tested pop(), can't really assume that.
- test_serializer gets worse and worse, pickle is just not really viable here,
ding out pypy
- pypy2.1b2 seems to allow cursor.lastrowid to work (or we changed something?)
- pool._threadconns.current() is a weakref, it can be None
- another one of those logging.handlers imports
|
| |
|
|
|
|
|
|
|
|
|
|
| |
:meth:`.Insert.from_select`. Given a list of columns and
a selectable, renders ``INSERT INTO (table) (columns) SELECT ..``.
While this feature is highlighted as part of 0.9 it is also
backported to 0.8.3. [ticket:722]
- The :func:`.update`, :func:`.insert`, and :func:`.delete` constructs
will now interpret ORM entities as FROM clauses to be operated upon,
in the same way that select() already does. Also in 0.8.3.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
actual mock objects from the mock library. I'd like to use mock
for new tests so we might as well use it in obvious places.
- use unittest.mock in py3.3
- changelog
- add a note to README.unittests
- add tests_require in setup.py
- have tests import from sqlalchemy.testing.mock
- apply usage of mock to one of the event tests. we can be using
this approach all over the place.
|
|
|
|
| |
we log this now so it apparently happens a bunch
|
|
|
|
|
|
| |
Reflection of indexes must preserve the order of columns.
Fixes issue 2767.
|
|\
| |
| | |
Fix unique constraints reflection in SQLite and PostgreSQL
|
| |
| |
| |
| | |
Reflection of unique constraints must preserve the order of columns.
|
| |
| |
| |
| |
| |
| |
| | |
If SQLite keywords are used as column names, they are
quoted. The code parsing the information about table
unique constraints should be modified so that it properly
removes double-quotes from column names.
|
| |
| |
| |
| |
| |
| | |
Call eq_() in a loop instead of comparing two lists
directly. This makes it much easier to find out which
element is not equal to the reference value.
|
|/
|
|
|
| |
A few tests use u'' unicode literals which are not
supported in Python versions 3.1 and 3.2.
|
|
|
|
|
|
| |
- version (0.9 for now)
- changelog
- move the test into the test suite so that all dialects can take advantage of it
|
| |
|
|\
| |
| |
| |
| |
| | |
Conflicts:
test/profiles.txt
test/sql/test_selectable.py
|
| | |
|
| | |
|
|\ \ |
|
| |/
| |
| |
| |
| | |
- restore the rollback cleanup handler, pg8000 is mostly obsolete
as a dialect and the firebird drivers need it
|
|\ \
| |/ |
|
| |
| |
| |
| | |
- rewrite all profiles, we'll review the diffs to see if anything is too far out
|
| |
| |
| |
| | |
as possible
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
- went through examples/ and cleaned out excess list() calls
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
subclass could insert the row for the "sub" table
before the parent table, if the two tables had no
ForeignKey constraints set up between them.
Also in 0.7.11. [ticket:2689]
- fix a glitch in the assertsql.CompiledSQL fixture regarding
when a multiparam compiledSQL is used within an AllOf
- add a new utility function randomize_unitofwork() which
does the function of --reversetop
|
|
|
|
|
| |
you get "import test" as what it tries to run with
setup.py test
|
| |
|
|
|
|
|
|
| |
"test_needs_autoincrement"
- get the assumption of "1" for "first sequence item" to be dialect configured
|
|
|
|
|
|
| |
- other cleanup
- don't need compat.decimal, that approach never panned out. hopefully
outside libs aren't pulling it in, they shouldn't be
|
| |
|
|
|
|
| |
- mysql doesn't reset table counter here so test differently
|
| |
|
|
|
|
| |
- get test_naturalpks to be more generalized
|
|
|
|
| |
- start filling in default versions of remaining requirements that are still only in test/
|
| |
|
| |
|
|
|
|
| |
- add suite tests for basic explicit Sequence support, result-row column access (tests that name_normalize is set correctly among many other things)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to a DBLINK remote database; while the syntax has been present in the
Oracle dialect for some time, up until now it has never been tested.
The syntax has been tested against a sample database linking to itself,
however there's still some uncertainty as to what should be used for the
"owner" when querying the remote database for table information.
Currently, the value of "username" from user_db_links is used to
match the "owner". [ticket:2619]
|
|
|
|
|
| |
an INSERT that's used in executemany() as opposed to one which has a VALUES
clause with multiple entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- update "not supported" messages for empty inserts, mutlivalue inserts
- rework the ValuesBase approach for multiple value sets so that stmt.parameters
does store a list for multiple values; the _has_multiple_parameters flag now indicates
which of the two modes the statement is within. it now raises exceptions if a subsequent
call to values() attempts to call a ValuesBase with one mode in the style of the other
mode; that is, you can't switch a single- or multi- valued ValuesBase to the other mode,
and also if a multiple value is passed simultaneously with a kwargs set.
Added tests for these error conditions
- Calling values() multiple times in multivalue mode now extends the parameter list to
include the new parameter sets.
- add error/test if multiple *args were passed to ValuesBase.values()
- rework the compiler approach for multivalue inserts, back to where
_get_colparams() returns the same list of (column, value) as before, thereby
maintaining the identical number of append() and other calls when multivalue
is not enabled. In the case of multivalue, it makes a last-minute switch to return
a list of lists instead of the single list. As it constructs the additional lists, the inline
defaults and other calculated default parameters of the first parameter
set are copied into the newly generated lists so that these features continue
to function for a multivalue insert. Multivalue inserts now add no additional
function calls to the compilation for regular insert constructs.
- parameter lists for multivalue inserts now includes an integer index for all
parameter sets.
- add detailed documentation for ValuesBase.values(), including careful wording
to describe the difference between multiple values and an executemany() call.
- add a test for multivalue insert + returning - it works !
- remove the very old/never used "postgresql_returning"/"firebird_returning" flags.
|