| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
- Updated documentation for JSON class
|
|
|
|
|
| |
- Added support for additional operators
- Made return as json default (rather than text)
|
|
|
|
| |
- Removed unneeded import of psycopg2.extensions
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixed reference to HSTORE
- Corrected spelling of SQLAlchemy
sqlalchemy/dialects/postgresql/psycopg2:
- Added psycopg2 specific wrapper type for JSON which uses inherent json deserialization facilities
- Added code to detect and utilize the JSON wrapper if psycopg2 >= 2.5
test/dialect/postgresql/test_types:
- removed reference to use_native_hstore
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
- Added import references to JSON class
sqlalchemy/dialects/postgresql/base.py:
- Added visitor method for JSON class
sqlalchemy/dialects/postgresql/pgjson (new):
- JSON class, supports automatic serialization and deserialization of json data, as well as basic json operators.
|
|
|
|
| |
"is disconnect" codes with cx_oracle. [ticket:2864]
|
|
|
|
|
| |
quote signs. Note that this is backwards-incompatible for existing
workarounds that manually escape the single quotes. [ticket:2878]
|
|
|
|
|
| |
- get PG dialect to work around "no nonexistent binds" rule for now,
though we might want to reconsider this behavior
|
|\
| |
| | |
More fixes for cross references and reducing warnings (3rd wave)
|
| | |
|
| |
| |
| |
| |
| | |
- implement Query with_for_update()
- rework docs and tests
|
| |
| |
| |
| |
| |
| | |
- move out tests, dialect specific out of compiler, compiler tests use new API,
legacy API tests in test_selecatble
- add support for adaptation of ForUpdateArg, alias support in compilers
|
| | |
|
|\ \
| | |
| | |
| | | |
for_update_of
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
self.decimal_return_scale
so that __repr__() is maintained (for alembic tests)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Python ``Decimal`` via string is now configurable. The
flag ``decimal_return_scale`` is now supported by all :class:`.Numeric`
and :class:`.Float` types, which will ensure this many digits are taken
from the native floating point value when it is converted to string.
If not present, the type will make use of the value of ``.scale``, if
the type supports this setting and it is non-None. Otherwise the original
default length of 10 is used. [ticket:2867]
|
| |/
|/|
| |
| |
| | |
(e.g. for a ``CAST`` or similar) would incorrectly render ``None CHAR``
or similar. [ticket:2870]
|
|/
|
|
|
|
| |
https://bitbucket.org/zzzeek/sqlalchemy_informixdb
- remove informix, maxdb, access symbols from tests etc.
|
|
|
|
|
|
| |
when using the pypostgresql adapter, which returns these values
as lists vs. psycopg2's return type of string.
[ticket:2855]
|
|
|
|
|
| |
if the synonym and the table were in different remote schemas.
Patch to fix courtesy Kyle Derr. [ticket:2853]
|
|
|
|
|
|
| |
this complements the work in :ticket:`2183` where we begin to support
reflection of foreign key options such as ON UPDATE/ON DELETE
cascade. [ticket:2839]
|
|\ |
|
| |
| |
| |
| | |
exposes it
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
e.g. values that are normally bound parameters but due to context must
be rendered as strings, typically within DDL constructs such as
CHECK constraints and indexes (note that "literal bind" values
become used by DDL as of :ticket:`2742`). A new method
:meth:`.TypeEngine.literal_processor` serves as the base, and
:meth:`.TypeDecorator.process_literal_param` is added to allow wrapping
of a native literal rendering method. [ticket:2838]
- enhance _get_colparams so that we can send flags like literal_binds into
INSERT statements
- add support in PG for inspecting standard_conforming_strings
- add a new series of roundtrip tests based on INSERT of literal plus SELECT
for basic literal rendering in dialect suite
|
| | |
|
| |
| |
| |
| |
| |
| | |
server default for a column; this code was original from
PG system views which truncated the string for readability.
[ticket:2844]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
of :class:`.ForeignKeyConstraint` is silently ignored on the MySQL
backend, will be reverted as of 0.9; this keyword will now render again, raising
errors on MySQL as it is not understood - the same behavior will also
apply to the ``initially`` keyword. In 0.8, the keywords will remain
ignored but a warning is emitted. Additionally, the ``match`` keyword
now raises a :class:`.CompileError` on 0.9 and emits a warning on 0.8;
this keyword is not only silently ignored by MySQL but also breaks
the ON UPDATE/ON DELETE options.
To use a :class:`.ForeignKeyConstraint`
that does not render or renders differently on MySQL, use a custom
compilation option. An example of this usage has been added to the
documentation, see :ref:`mysql_foreign_keys`.
[ticket:2721] [ticket:2839]
|
| |
| |
| |
| |
| |
| | |
type is used on a primary key autoincrement column, based on server
version detection of Postgresql version 9.2 or greater.
[ticket:2840]
|
| |
| |
| |
| |
| |
| |
| | |
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]
|
| |
| |
| |
| |
| |
| | |
query string to override those defaults set up in the connect,
including "buffered" and "raise_on_warnings".
[ticket:2515]
|
| |
| |
| |
| |
| | |
rendered in the column list of a CREATE INDEX statement.
[ticket:2742]
|
|/
|
|
|
|
|
|
| |
mssql to ensure that any literal SQL expression values are
rendered directly as literals, instead of as bound parameters,
within a CREATE INDEX statement. [ticket:2742]
- don't need expression_as_ddl(); literal_binds and include_table
take care of this functionality.
|
|
|
|
| |
- use match with a .* preceding instead of search
|
|
|
|
|
| |
Convert to re.search to eliminate the restriction on only matching the
beginning of the string
|
| |
|
|
|
|
| |
- cx_oracle dialect doesn't use normal col names, lets just not rely on that for now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of relying upon various ``quote=True`` flags being passed around,
these flags are converted into rich string objects with quoting information
included at the point at which they are passed to common schema constructs
like :class:`.Table`, :class:`.Column`, etc. This solves the issue
of various methods that don't correctly honor the "quote" flag such
as :meth:`.Engine.has_table` and related methods. The :class:`.quoted_name`
object is a string subclass that can also be used explicitly if needed;
the object will hold onto the quoting preferences passed and will
also bypass the "name normalization" performed by dialects that
standardize on uppercase symbols, such as Oracle, Firebird and DB2.
The upshot is that the "uppercase" backends can now work with force-quoted
names, such as lowercase-quoted names and new reserved words.
[ticket:2812]
|
| |
|
|
|
|
| |
courtesy Hajime Nakagami.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Hanno Schlichting. Also in 0.8.3, 0.7.11.
[ticket:2791]
|
| |
|
|
|
|
|
|
|
| |
regexp apparently were not fully implemented correctly; while the
arguments were accepted, in practice they would have no effect;
this has been fixed. Also in 0.8.3.
[ticket:2781]
|