| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Inspection API already supports reflection of table
indexes information and those also include unique
constraints (at least for PostgreSQL and MySQL).
But it could be actually useful to distinguish between
indexes and plain unique constraints (though both are
implemented in the same way internally in RDBMS).
This change adds a new method to Inspection API - get_unique_constraints()
and implements it for SQLite, PostgreSQL and MySQL dialects.
|
|\
| |
| | |
Makes gaerdbms for App Engine use local MySQL server when running in dev_appserver2
|
| | |
|
| | |
|
| |
| |
| |
| | |
dev_appserver2.
|
| |
| |
| |
| | |
- use an isinstance() check, concerned a TypeError might be indiscriminate
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, one can specify the prefix length for an index
column using 'mysql_length' keyword argument when creating
an Index instance. But in case of composite indexes the
prefix length value is applied only to the last column.
Extend the existing API in way so that 'mysql_length' argument
value can be either:
- an integer specifying the same prefix length value
for each column of an index
- a (column_name --> integer value) mapping specifying
the prefix length value for each column of an index
separately
Fixes issue #2704.
|
|
|
|
|
|
|
|
| |
:class:`.ForeignKeyConstraint` will not render the ``DEFERRABLE`` keyword
on the MySQL dialect. For a long time we left this in place because
a non-deferrable foreign key would act very differently than a deferrable
one, but some environments just disable FKs on MySQL, so we'll be less
opinionated here. [ticket:2721]
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
on the apparent string message sent in the exception; tested
against mysqlconnector 1.0.9.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
closes [ticket:1552]
|
| | |
|
|/
|
|
| |
- went through examples/ and cleaned out excess list() calls
|
|
|
|
| |
- just do a fetchone() here, no need for len() etc.
|
|\ |
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Python 3, including some important decode/bytes steps.
Issues remain with BLOB types due to driver issues.
Courtesy Ben Trofatter.
- start using util.py3k, we will eventually remove the
sa2to3 fixer entirely
|
|\ \ \ \
| |_|_|/
|/| | |
| | | | |
Fixed PyMySQL problems for Python 2.x and mitigated some issues with Python 3.x
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
dialect.
Added workaround for pymysql3 return a bytes object when queried for isolation level.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
googleappengine v1.7.5 changed the exception format to be
incompatible with MySQLDialect_gaerdbms#_extract_error_code
This fix works for both old- and new-style exceptions.
Changes causing the breakage:
/trunk/python/google/storage/speckle/python/api/rdbms.py
at
https://code.google.com/p/googleappengine/source/detail?r=318
|
|/
|
|
|
| |
you get "import test" as what it tries to run with
setup.py test
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
to import rdbms_apiproxy vs. rdbms_googleapi to work
on both dev and production platforms. Also now honors the
``instance`` attribute. Courtesy Sean Lynch.
[ticket:2649]
|
|
|
|
|
|
|
|
|
|
|
|
| |
:class:`.SchemaType` ``inherit_schema``. When set to ``True``,
the type will set its ``schema`` attribute of that of the
:class:`.Table` to which it is associated. This also occurs
during a :meth:`.Table.tometadata` operation; the :class:`.SchemaType`
is now copied in all cases when :meth:`.Table.tometadata` happens,
and if ``inherit_schema=True``, the type will take on the new
schema name passed to the method. The ``schema`` is important
when used with the Postgresql backend, as the type results in
a ``CREATE TYPE`` statement. [ticket:2657]
|
| |
|
|
|
|
|
|
|
|
| |
functions, in addition to straight columns. Common modifiers
include using ``somecolumn.desc()`` for a descending index and
``func.lower(somecolumn)`` for a case-insensitive index, depending on the
capabilities of the target backend.
[ticket:695]
|
|
|
|
| |
is not maintainable
|
| |
|
|
|
|
| |
object has no attribute 'group'
|
| |
|
|
|
|
|
| |
an INSERT that's used in executemany() as opposed to one which has a VALUES
clause with multiple entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some databases support this syntax for inserts:
INSERT INTO table (id, name) VALUES
('v1', 'v2'),
('v3', 'v4');
which greatly increases INSERT speed.
It is now possible to pass a list of lists/tuples/dictionaries as
the values param to the Insert construct. We convert it to a flat
dictionary so we can continue using bind params. The above query
will be converted to:
INSERT INTO table (id, name) VALUES
(:id, :name),
(:id0, :name0);
Currently only supported on postgresql, mysql and sqlite.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
whereas the other do_rollback_twophase(), savepoint etc. work with
:class:`.Connection`. the context on these are different as twophase/savepoint
are available at the :class:`.Connection` level, whereas commit/rollback are needed
at a lower level as well. Rename the argument to "dbapi_connection" when the conneciton
is in fact the DBAPI interface.
- start thinking about being able to track "autocommit" vs. "commit", but not sure
we have a need for this yet.
- have Pool call out to a Dialect for all rollback/commit/close operations now. Pool
no longer calls DBAPI methods directly. May use this for a workaround for [ticket:2611]
- add a new Pool event reset() to allow the pool's reset of the connection to be intercepted.
- remove methods in Informix dialect which appear to be hardcoding some isolation
settings on new Transaction only; the isolation API should be implemented for Informix.
also removed "flag" for transaction commit/rollback being not available; this should
be based on server/DBAPI version and we will need someone with test access in order
to help determine how this should work
|
| |
|