summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
* - edits, new breakoutsimprove_tocMike Bayer2014-12-171-1371/+0
|
* - most of the reorg into many files with section containersMike Bayer2014-12-161-3/+3
|
* - rework sqlite FK and unique constraint system to combine both PRAGMAMike Bayer2014-12-131-112/+187
| | | | | | and regexp parsing of SQL in order to form a complete picture of constraints + their names. fixes #3244 fixes #3261 - factor various PRAGMA work to be centralized into one call
* - fix unique constraint parsing for sqlite -- may return '' for name, howeverJon Nelson2014-12-131-1/+1
|
* - Added new method :meth:`.Session.invalidate`, functions similarlyMike Bayer2014-12-121-2/+40
| | | | | | | | | | to :meth:`.Session.close`, except also calls :meth:`.Connection.invalidate` on all connections, guaranteeing that they will not be returned to the connection pool. This is useful in situations e.g. dealing with gevent timeouts when it is not safe to use the connection further, even for rollbacks. references #3258
* - fix up query update /delete documentation, make warningsMike Bayer2014-12-101-69/+110
| | | | a lot clearer, partial fixes for #3252
* - keep working on fixing #3266, more cases, more testsMike Bayer2014-12-101-4/+5
|
* - identify another spot where _handle_dbapi_error() needs to do somethingMike Bayer2014-12-081-3/+4
| | | | | differently for the case where it is called in an already-invalidated state; don't call upon self.connection
* - simplify the "noconnection" error handling, settingMike Bayer2014-12-082-18/+20
| | | | | | | _handle_dbapi_exception_noconnection() to only invoke in the case of raw_connection() in the constructor of Connection. in all other cases the Connection proceeds with _handle_dbapi_exception() including revalidate.
* - force the _has_events flag to True on engines, so thatMike Bayer2014-12-081-0/+3
| | | | | profiling is more predictable - restore the profiling from before this change
* - A new series of :class:`.Session` methods which provide hooksMike Bayer2014-12-081-22/+37
| | | | | | | | | | directly into the unit of work's facility for emitting INSERT and UPDATE statements has been created. When used correctly, this expert-oriented system can allow ORM-mappings to be used to generate bulk insert and update statements batched into executemany groups, allowing the statements to proceed at speeds that rival direct use of the Core. fixes #3100
* - add an option for bulk_save -> update to not do historyMike Bayer2014-12-072-13/+28
|
* - fix inheritance persistenceMike Bayer2014-12-073-6/+184
| | | | - start writing docs
* - initial tests for bulkMike Bayer2014-12-071-1/+2
|
* - rework the assert_sql system so that we have a context manager to work with,Mike Bayer2014-12-073-33/+75
| | | | use events that are local to the engine and to the run and are removed afterwards.
* Merge branch 'master' into ticket_3100Mike Bayer2014-12-0737-209/+887
|\
| * - SQL Server 2012 now recommends VARCHAR(max), NVARCHAR(max),Mike Bayer2014-12-062-10/+97
| | | | | | | | | | | | | | VARBINARY(max) for large text/binary types. The MSSQL dialect will now respect this based on version detection, as well as the new ``deprecate_large_types`` flag. fixes #3039
| * - enhance only_on() to work with compound specsMike Bayer2014-12-062-1/+6
| | | | | | | | - fix "temporary_tables" requirement
| * - adjust _revalidate_connection() again such that we pass a _wrap=FalseMike Bayer2014-12-052-21/+30
| | | | | | | | | | | | | | | | | | | | to it, so that we say we will do the wrapping just once right here in _execute_context() / _execute_default(). An adjustment is made to _handle_dbapi_error() to not assume self.__connection in case we are already in an invalidated state further adjustment to 0639c199a547343d62134d2f233225fd2862ec45, 41e7253dee168b8c26c49, #3266
| * - move inner calls to _revalidate_connection() outside of existingMike Bayer2014-12-051-8/+9
| | | | | | | | | | _handle_dbapi_error(); these are now handled already and the reentrant call is not needed / breaks things. Adjustment to 41e7253dee168b8c26c49 /
| * - The SQLite dialect, when using the :class:`.sqlite.DATE`,Mike Bayer2014-12-051-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | :class:`.sqlite.TIME`, or :class:`.sqlite.DATETIME` types, and given a ``storage_format`` that only renders numbers, will render the types in DDL as ``DATE_CHAR``, ``TIME_CHAR``, and ``DATETIME_CHAR``, so that despite the lack of alpha characters in the values, the column will still deliver the "text affinity". Normally this is not needed, as the textual values within the default storage formats already imply text. fixes #3257
| * - document / work around that dialect_options isn't necessarily thereMike Bayer2014-12-052-1/+6
| |
| * - The engine-level error handling and wrapping routines will nowMike Bayer2014-12-055-18/+93
| | | | | | | | | | | | | | | | | | take effect in all engine connection use cases, including when user-custom connect routines are used via the :paramref:`.create_engine.creator` parameter, as well as when the :class:`.Connection` encounters a connection error on revalidation. fixes #3266
| * - New Oracle DDL features for tables, indexes: COMPRESS, BITMAP.Mike Bayer2014-12-042-10/+165
| | | | | | | | | | Patch courtesy Gabor Gombas. fixes #3127
| * - Added support for CTEs under Oracle. This includes some tweaksMike Bayer2014-12-044-61/+138
| | | | | | | | | | | | | | to the aliasing syntax, as well as a new CTE feature :meth:`.CTE.suffix_with`, which is useful for adding in special Oracle-specific directives to the CTE. fixes #3220
| * - Updated the "supports_unicode_statements" flag to True for MySQLdbMike Bayer2014-12-042-3/+2
| | | | | | | | | | | | | | | | | | and Pymysql under Python 2. This refers to the SQL statements themselves, not the parameters, and affects issues such as table and column names using non-ASCII characters. These drivers both appear to support Python 2 Unicode objects without issue in modern versions. fixes #3121
| * - The :meth:`.Operators.match` operator is now handled such that theMike Bayer2014-12-048-9/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | return type is not strictly assumed to be boolean; it now returns a :class:`.Boolean` subclass called :class:`.MatchType`. The type will still produce boolean behavior when used in Python expressions, however the dialect can override its behavior at result time. In the case of MySQL, while the MATCH operator is typically used in a boolean context within an expression, if one actually queries for the value of a match expression, a floating point value is returned; this value is not compatible with SQLAlchemy's C-based boolean processor, so MySQL's result-set behavior now follows that of the :class:`.Float` type. A new operator object ``notmatch_op`` is also added to better allow dialects to define the negation of a match operation. fixes #3263
| * - The :meth:`.PGDialect.has_table` method will now query againstMike Bayer2014-12-042-1/+6
| | | | | | | | | | | | | | | | | | | | | | ``pg_catalog.pg_table_is_visible(c.oid)``, rather than testing for an exact schema match, when the schema name is None; this so that the method will also illustrate that temporary tables are present. Note that this is a behavioral change, as Postgresql allows a non-temporary table to silently overwrite an existing temporary table of the same name, so this changes the behavior of ``checkfirst`` in that unusual scenario. fixes #3264
| * Merge remote-tracking branch 'origin/pr/151' into pr151Mike Bayer2014-12-011-4/+4
| |\
| | * It now calls raise_from_causepr/151Scott Dugas2014-11-031-6/+4
| | | | | | | | | | | | | | | master was updated to call util.raise_from_cause which is better than what I had
| | * Merge branch 'master' into fdbsql-testsScott Dugas2014-11-0358-1403/+3225
| | |\ | | | | | | | | | | | | | | | | Conflicts: lib/sqlalchemy/testing/exclusions.py
| | * | Removed accidental print statementsScott Dugas2014-10-301-2/+0
| | | |
| | * | Forgot to update usage of ex to exc_valueScott Dugas2014-10-231-1/+1
| | | |
| | * | Print useful traceback on errorScott Dugas2014-10-231-4/+6
| | | | | | | | | | | | | | | | | | | | _expect_failure was rethrowing the exception without keeping the traceback, so it was really hard to find out what was actually wrong
| | * | Support additional args/kwargs on cursor methodScott Dugas2014-10-221-4/+6
| | | | | | | | | | | | | | | | | | | | fdbsql has an optional nested kwarg, which is supported in the actual code, but not in the testing proxy
| * | | - Fixed bug in :meth:`.Table.tometadata` method where theMike Bayer2014-11-292-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :class:`.CheckConstraint` associated with a :class:`.Boolean` or :class:`.Enum` type object would be doubled in the target table. The copy process now tracks the production of this constraint object as local to a type object. fixes #3260
| * | | - changelog, improve docstring/test for #3217. fixes #3217Mike Bayer2014-11-261-1/+7
| | | |
| * | | Merge branch 'issue_bb_3217' of ↵Mike Bayer2014-11-261-4/+7
| |\ \ \ | | | | | | | | | | | | | | | https://bitbucket.org/jvanasco/sqlalchemy-alt into pr32
| | * | | * adding 'isouter=False' to sqlalchemy.orm.query.Query ↵jonathan vanasco2014-10-031-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://bitbucket.org/zzzeek/sqlalchemy/issue/3217/make-join-more-standard-or-improve-error) $ python setup.py develop $ pip install nose $ pip install mock $ ./sqla_nose.py test.orm.test_joins ..................................................................................................... ---------------------------------------------------------------------- Ran 101 tests in 1.222s OK $ ./sqla_nose.py test.orm ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................S......................................................................................................................................................................................................................................................................................................................S.......................................................................................................................................................................................................................................................................................................................................................S.......S..S.SSS.SS...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................S................................S..S........................S...........................................................................................SSS.S.........SSSSSSSS......SSSSSSSSS........SS...SS...............S.............................S..............................................................SS..SS..............................................................................................................S. ---------------------------------------------------------------------- Ran 3103 tests in 82.607s OK (SKIP=46)
| * | | | Merged in jvanasco/sqlalchemy-alt/issue_docs_event_statement (pull request #33) Mike Bayer2014-11-261-6/+11
| |\ \ \ \ | | | | | | | | | | | | added docs to clarify that sql statement is already in a dialect
| | * | | | added docs to clarify that sql statement is already in a dialectjonathan vanasco2014-10-171-6/+11
| | |/ / /
| * | | | - use self.parent, not table here as there's an attributeerrorMike Bayer2014-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | trap for self.table that behaves differently in py3k
| * | | | - add a new option --force-write-profiles to rewrite profiles even if theyMike Bayer2014-11-252-3/+10
| | | | | | | | | | | | | | | | | | | | are passing
| * | | | - The behavioral contract of the :attr:`.ForeignKeyConstraint.columns`Mike Bayer2014-11-253-45/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | collection has been made consistent; this attribute is now a :class:`.ColumnCollection` like that of all other constraints and is initialized at the point when the constraint is associated with a :class:`.Table`. fixes #3243
| * | | | - The :meth:`.PropComparator.of_type` modifier has beenMike Bayer2014-11-243-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improved in conjunction with loader directives such as :func:`.joinedload` and :func:`.contains_eager` such that if two :meth:`.PropComparator.of_type` modifiers of the same base type/path are encountered, they will be joined together into a single "polymorphic" entity, rather than replacing the entity of type A with the one of type B. E.g. a joinedload of ``A.b.of_type(BSub1)->BSub1.c`` combined with joinedload of ``A.b.of_type(BSub2)->BSub2.c`` will create a single joinedload of ``A.b.of_type((BSub1, BSub2)) -> BSub1.c, BSub2.c``, without the need for the ``with_polymorphic`` to be explicit in the query. fixes #3256
| * | | | - add some logging to path_registry to help debug eager loadingMike Bayer2014-11-242-0/+13
| | | | | | | | | | | | | | | | | | | | issues
| * | | | - correct this to rewrite a multiple profile line correctlyMike Bayer2014-11-141-1/+5
| | | | |
| * | | | - Fixed a leak which would occur in the unsupported and highlyMike Bayer2014-11-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-recommended use case of replacing a relationship on a fixed mapped class many times, referring to an arbitrarily growing number of target mappers. A warning is emitted when the old relationship is replaced, however if the mapping were already used for querying, the old relationship would still be referenced within some registries. fixes #3251
| * | | | - don't do inline string interpolation when loggingJon Nelson2014-11-112-2/+2
| | | | |
| * | | | - Fixed issue where the columns from a SELECT embedded in anMike Bayer2014-11-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INSERT, either through the values clause or as a "from select", would pollute the column types used in the result set produced by the RETURNING clause when columns from both statements shared the same name, leading to potential errors or mis-adaptation when retrieving the returning rows. fixes #3248