| 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.
|
|
|
|
|
| |
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
|
|
|
|
|
| |
- 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]
|
|
|
|
|
|
| |
when using the pypostgresql adapter, which returns these values
as lists vs. psycopg2's return type of string.
[ticket:2855]
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]
|
| |
| |
| |
| |
| |
| | |
type is used on a primary key autoincrement column, based on server
version detection of Postgresql version 9.2 or greater.
[ticket:2840]
|
| |
| |
| |
| |
| | |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
| |
Postgresql dialect to no longer inject a hardcoded ``::timestamp``
or similar cast into the given expression, as this interfered
with types such as timezone-aware datetimes, but also
does not appear to be at all necessary with modern versions
of psycopg2. Also in 0.8.2.
[ticket:2740]
|
|
|
|
|
|
|
| |
backslashed quotes would not be escaped correctly when
using the "non native" (i.e. non-psycopg2) means
of translating HSTORE data. Patch courtesy Ryan Kelly.
[ticket:2766]
|
|
|
|
|
|
| |
Reflection of indexes must preserve the order of columns.
Fixes issue 2767.
|
|
|
|
| |
Reflection of unique constraints must preserve the order of columns.
|
| |
|
|
|
|
| |
- some whitespace
|
|\
| |
| | |
Support for Postgres range types.
|
| | |
|
| | |
|
| |
| |
| |
| | |
http://www.postgresql.org/docs/9.2/interactive/functions-range.html
|
| | |
|
| | |
|
| |
| |
| |
| | |
- docs
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
One can use this to emit statements, which can not be
executed within a transaction (e. g. CREATE DATABASE):
from sqlalchemy import create_engine
eng = create_engine('postgresql://test:test@localhost/test')
conn = eng.connect().execution_options(isolation_level='AUTOCOMMIT')
conn.execute('CREATE DATABASE test2;')
Fixes issue #2072.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
lib/sqlalchemy/dialects/postgresql/hstore.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/compat.py
|
| |
| |
| |
| | |
- fix test
|
| | |
|
| |
| |
| |
| |
| | |
add unicode encoding for py2k for the non-native hstore, pullreq for
native psycopg2 support coming....
|
| | |
|
| | |
|