| 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.
|