summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
Commit message (Collapse)AuthorAgeFilesLines
...
* - inline some code and turn some instance-level defaults into class levelMike Bayer2010-01-292-36/+53
|
* - the "autocommit" flag on select() and text() as wellMike Bayer2010-01-281-11/+13
| | | | | | as select().autocommit() are deprecated - now call .execution_options(autocommit=True) on either of those constructs, also available directly on Connection and orm.Query.
* - union(), intersect(), except() and other "compound" typesMike Bayer2010-01-251-2/+3
| | | | | | | | | | | | | | | | of statements have more consistent behavior w.r.t. parenthesizing. Each compound element embedded within another will now be grouped with parenthesis - previously, the first compound element in the list would not be grouped, as SQLite doesn't like a statement to start with parenthesis. However, Postgresql in particular has precedence rules regarding INTERSECT, and it is more consistent for parenthesis to be applied equally to all sub-elements. So now, the workaround for SQLite is also what the workaround for PG was previously - when nesting compound elements, the first one usually needs ".alias().select()" called on it to wrap it inside of a subquery. [ticket:1665]
* - Connection has execution_options(), generative methodMike Bayer2010-01-242-9/+10
| | | | | | | | | which accepts keywords that affect how the statement is executed w.r.t. the DBAPI. Currently supports "stream_results", causes psycopg2 to use a server side cursor for that statement. Can also be set upon select() and text() constructs directly as well as ORM Query().
* - move "should_autocommit" to a deferred method. connection wont call it ↵Mike Bayer2010-01-242-10/+18
| | | | if a transaction is in progress.
* - oracle + firebird: "case sensitivity" feature will detect an all-lowercaseMike Bayer2010-01-241-1/+3
| | | | | | case-sensitive column name during reflect and add "quote=True" to the generated Column, so that proper quoting is maintained.
* - the "threadlocal" engine has been rewritten and simplifiedMike Bayer2010-01-242-175/+60
| | | | and now supports SAVEPOINT operations.
* clarify intentMike Bayer2010-01-241-1/+1
|
* fix ResultProxy for SQLite truncated namesGaëtan de Menten2010-01-201-1/+1
|
* moved the metadata step of ResultProxy into a ResultMetaData object. this ↵Mike Bayer2010-01-201-175/+147
| | | | | | | | also replaces PickledResultProxy. Allows RowProxy objects to reference just the metadata they need and provides the "core" of ResultProxy detached from the object itself, allowing ResultProxy implementations to vary more easily. will also enable [ticket:1635]
* - added native INTERVAL type to the dialect. This supportsMike Bayer2010-01-181-3/+4
| | | | | | | | | | | | | | | only the DAY TO SECOND interval type so far due to lack of support in cx_oracle for YEAR TO MONTH. [ticket:1467] - The Interval type includes a "native" flag which controls if native INTERVAL types (postgresql + oracle) are selected if available, or not. "day_precision" and "second_precision" arguments are also added which propagate as appropriately to these native types. Related to [ticket:1467]. - DefaultDialect.type_descriptor moves back to being per-dialect. TypeEngine/TypeDecorator key type impls to the dialect class + server_version_info so that the colspecs dict can be modified per-dialect based on server version. - Fixed TypeDecorator's incorrect usage of _impl_dict
* statement_options -> execution_optionsMike Bayer2010-01-171-2/+2
|
* doc updates partially from [ticket:1651]Mike Bayer2010-01-171-7/+19
|
* - added "statement_options()" to Query, to so options can beMike Bayer2010-01-161-1/+3
| | | | | | | | | | | | | | | | | | | | | passed to the resulting statement. Currently only Select-statements have these options, and the only option used is "stream_results", and the only dialect which knows "stream_results" is psycopg2. - Query.yield_per() will set the "stream_results" statement option automatically. - Added "statement_options()" to Selects, which set statement specific options. These enable e.g. dialect specific options such as whether to enable using server side cursors, etc. - The psycopg2 now respects the statement option "stream_results". This option overrides the connection setting "server_side_cursors". If true, server side cursors will be used for the statement. If false, they will not be used, even if "server_side_cursors" is true on the connection. [ticket:1619] - added a "frozendict" from http://code.activestate.com/recipes/414283/, adding more default collections as immutable class vars on Query, Insert, Select
* - ConnectionProxy now has wrapper methods for all transactionMike Bayer2010-01-161-0/+30
| | | | | | lifecycle events, including begin(), rollback(), commit() begin_nested(), begin_prepared(), prepare(), release_savepoint(), etc.
* happy new yearMike Bayer2010-01-074-4/+4
|
* - have inspector properly return default_schema_name [ticket:1626]Mike Bayer2010-01-031-1/+1
|
* - added _with_options() to Connection. not publicizing this yet.Mike Bayer2009-12-181-3/+21
| | | | | | - updated oursql driver with latest fixes using options. [ticket:1613] - all the MySQL drivers get a shoutout in the docs - marked tests that OurSQL has problems with (only three), passes 100% now
* - The version_id_col feature on mapper() will raise a warning whenMike Bayer2009-12-181-1/+5
| | | | | used with dialects that don't support "rowcount" adequately. [ticket:1569]
* add a warning for unported dialects. considered a full blown ↵Mike Bayer2009-12-061-0/+5
| | | | NotImplementedError but will see if this gets the message across
* - reworked the DDL generation of ENUM and similar to be more platform agnostic.Mike Bayer2009-12-062-0/+24
| | | | | | | Uses a straight CheckConstraint with a generic expression. Preparing for boolean constraint in [ticket:1589] - CheckConstraint now accepts SQL expressions, though support for quoting of values will be very limited. we don't want to get into formatting dates and such.
* - fixed the import for entrypoint-driven dialects toMike Bayer2009-12-051-7/+24
| | | | | not rely upon silly tb_info trick to determine import error status. [ticket:1630]
* - pg8000 + postgresql dialects now check for float/numeric returnMike Bayer2009-11-151-2/+1
| | | | | | | | | | types to more intelligently determine float() vs. Decimal(), [ticket:1567] - since result processing is a hot issue of late, the DBAPI type returned from cursor.description is certainly useful in cases like these to determine an efficient result processor. There's likely other result processors that can make use of it. But, backwards incompat change to result_processor(). Happy major version number..
* scan for autocommit based on text() specific flag, saves isinstance() call ↵Mike Bayer2009-11-101-2/+2
| | | | on each execution.
* - Fixed bug in two-phase transaction whereby commit() methodMike Bayer2009-11-041-2/+1
| | | | | didn't set the full state which allows subsequent close() call to succeed. [ticket:1603]
* fix MySQL initialize to use defaultdialect firstMike Bayer2009-11-031-4/+1
|
* - dialect.get_default_schema_name(connection) is nowMike Bayer2009-11-032-11/+32
| | | | | public via dialect.default_schema_name. [ticket:1571]
* - The psycopg2 dialect now uses psycopg2's "unicode extension"Mike Bayer2009-10-262-9/+27
| | | | | | | | | | | | | | | | | | on all new connections, which allows all String/Text/etc. types to skip the need to post-process bytestrings into unicode (an expensive step due to its volume). Other dialects which return unicode natively (pg8000, zxjdbc) also skip unicode post-processing. - String/Text/Unicode types now skip the unicode() check on each result column value if the dialect has detected the DBAPI as returning Python unicode objects natively. This check is issued on first connect using "SELECT CAST 'some text' AS VARCHAR(10)" or equivalent, then checking if the returned object is a Python unicode. This allows vast performance increases for native-unicode DBAPIs, including pysqlite/sqlite3, psycopg2, and pg8000.
* - ResultProxy internals have been overhauled to greatly reduceMike Bayer2009-10-241-118/+149
| | | | | | | | method call counts when fetching columns that have no type-level processing applied. Provides a 100% speed improvement when fetching large result sets with no unicode conversion. Many thanks to Elixir's Gaëtan de Menten for this dramatic improvement ! [ticket:1586]
* Removed references to sequence in MSSQLMichael Trier2009-10-221-1/+1
| | | | | | | Implicit identities in mssql work the same as implicit sequences on any other dialects. Explicit sequences are enabled through the use of "default=Sequence()". See the MSSQL dialect documentation for more information.
* - Corrected the "has_sequence" query to take current schema,Mike Bayer2009-10-211-2/+2
| | | | | or explicit sequence-stated schema, into account. [ticket:1576]
* - initial MySQL Connector/Python driverMike Bayer2009-10-182-2/+8
| | | | | - support exceptions raised in dialect initialize phase - provide default dialect create_connect_args() method
* - an executemany() now requires that all bound parameterMike Bayer2009-10-151-4/+15
| | | | | | | | | | | | sets require that all keys are present which are present in the first bound parameter set. The structure and behavior of an insert/update statement is very much determined by the first parameter set, including which defaults are going to fire off, and a minimum of guesswork is performed with all the rest so that performance is not impacted. For this reason defaults would otherwise silently "fail" for missing parameters, so this is now guarded against. [ticket:1566]
* - DefaultRunner and subclasses have been removed. The jobMike Bayer2009-10-153-86/+56
| | | | | | | of this object has been simplified and moved into ExecutionContext. Dialects which support sequences should add a `fire_sequence()` method to their execution context implementation. [ticket:1566]
* - RowProxy objects are now pickleable, i.e. the object returnedMike Bayer2009-10-111-5/+60
| | | | | | by result.fetchone(), result.fetchall() etc. - the "named tuple" objects returned when iterating a Query() are now pickleable.
* - the setuptools entrypoint for external dialects is nowMike Bayer2009-10-101-1/+1
| | | | called "sqlalchemy.dialects". external dialects need to be changed to work with 0.6 in any case.
* - boolean, int, and float arguments count as "cache key" values for ↵Mike Bayer2009-10-011-3/+10
| | | | | | inspector info_cache() - added awareness of sqlite implicit auto indexes [ticket:1551]
* - distill contextual parameters for the purpose of default functions into ↵Mike Bayer2009-09-031-7/+5
| | | | | | context.current_parameters - metadata docs continued
* - Inserting NULL into a primary key + foreign key columnMike Bayer2009-08-311-1/+1
| | | | | | | | | | | will allow the "not null constraint" error to raise, not an attempt to execute a nonexistent "col_id_seq" sequence. [ticket:1516] - autoincrement SELECT statements, i.e. those which select from a procedure that modifies rows, now work with server-side cursor mode (the named cursor isn't used for such statements.)
* use *args with log.debug()/log.info(), [ticket:1520]Mike Bayer2009-08-261-4/+4
|
* fix up oracle tests, returning is on by defaultMike Bayer2009-08-081-4/+1
|
* merge 0.6 series to trunk.Mike Bayer2009-08-068-343/+1278
|
* changed reference to PostgreSQL in docs.rel_0_5_5Mike Bayer2009-07-131-1/+1
|
* removed needless "thread" imports from utilMike Bayer2009-05-301-1/+1
|
* - Back-ported the "compiler" extension from SQLA 0.6. Thisrel_0_5_4Mike Bayer2009-05-171-0/+1
| | | | | | | | is a standardized interface which allows the creation of custom ClauseElement subclasses and compilers. In particular it's handy as an alternative to text() when you'd like to build a construct that has database-specific compilations. See the extension docs for details.
* happy new yearMike Bayer2009-01-123-3/+3
|
* - sqlalchemy.sql.expression.Function is now a publicMike Bayer2009-01-021-1/+1
| | | | | | | class. It can be subclassed to provide user-defined SQL functions in an imperative style, including with pre-established behaviors. The postgis.py example illustrates one usage of this.
* Cleanup of r5556. Makes the description_encoding less public since this is aMichael Trier2009-01-021-2/+2
| | | | workaround for the pyodbc dbapi.
* Added a new description_encoding attribute on the dialect.Michael Trier2008-12-302-3/+13
| | | | | This is used for encoding the column name when processing the metadata. This usually defaults to utf-8.
* - RowProxy objects can be used in place of dictionary argumentsMike Bayer2008-12-281-3/+3
| | | | sent to connection.execute() and friends. [ticket:935]