summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
...
| * | - changelogMike Bayer2014-10-211-0/+10
| | |
| * | - Reversing a change that was made in 0.9, the "singleton" natureMike Bayer2014-10-192-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | of the "constants" :func:`.null`, :func:`.true`, and :func:`.false` has been reverted. These functions returning a "singleton" object had the effect that different instances would be treated as the same regardless of lexical use, which in particular would impact the rendering of the columns clause of a SELECT statement. fixes #3170
| * | - Fixed bug where :meth:`.Session.expunge` would not fully detachMike Bayer2014-10-192-0/+46
| | | | | | | | | | | | | | | | | | | | | the given object if the object had been subject to a delete operation that was flushed, but not committed. This would also affect related operations like :func:`.make_transient`. fixes #3139
| * | - A warning is emitted in the case of multiple relationships thatticket_3230Mike Bayer2014-10-192-4/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ultimately will populate a foreign key column in conflict with another, where the relationships are attempting to copy values from different source columns. This occurs in the case where composite foreign keys with overlapping columns are mapped to relationships that each refer to a different referenced column. A new documentation section illustrates the example as well as how to overcome the issue by specifying "foreign" columns specifically on a per-relationship basis. fixes #3230
| * | - Exception messages have been spiffed up a bit. The SQL statementMike Bayer2014-10-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and parameters are not displayed if None, reducing confusion for error messages that weren't related to a statement. The full module and classname for the DBAPI-level exception is displayed, making it clear that this is a wrapped DBAPI exception. The statement and parameters themselves are bounded within a bracketed sections to better isolate them from the error message and from each other. fixes #3172
| * | - The :meth:`.Query.update` method will now convert string keyMike Bayer2014-10-162-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | names in the given dictionary of values into mapped attribute names against the mapped class being updated. Previously, string names were taken in directly and passed to the core update statement without any means to resolve against the mapped entity. Support for synonyms and hybrid attributes as the subject attributes of :meth:`.Query.update` are also supported. fixes #3228
| * | - Improvements to the mechanism used by :class:`.Session` to locateMike Bayer2014-10-142-0/+55
| | | | | | | | | | | | | | | | | | | | | "binds" (e.g. engines to use), such engines can be associated with mixin classes, concrete subclasses, as well as a wider variety of table metadata such as joined inheritance tables. fixes #3035
| * | - The ``__module__`` attribute is now set for all those SQL andMike Bayer2014-10-141-0/+9
| | | | | | | | | | | | | | | | | | | | | ORM functions that are derived as "public factory" symbols, which should assist with documentation tools being able to report on the target module. fixes #3218
| * | - merge 0.9.8 release dateMike Bayer2014-10-131-0/+1
| | |
| * | - Mysqlconnector as of version 2.0, probably as a side effect ofMike Bayer2014-10-121-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the python 3 merge, now does not expect percent signs (e.g. as used as the modulus operator and others) to be doubled, even when using the "pyformat" bound parameter format (this change is not documented by Mysqlconnector). The dialect now checks for py2k and for mysqlconnector less than version 2.0 when detecting if the modulus operator should be rendered as ``%%`` or ``%``. - Unicode SQL is now passed for MySQLconnector version 2.0 and above; for Py2k and MySQL < 2.0, strings are encoded. Note that mysqlconnector as of 2.0.1 appears to have a bug with unicode DDL on py2k, so the tests here are skipping until we observe it's fixed. - take out profiling on mysqlconnector, callcounts vary too much with its current development speed
| * | - Fixed long-standing bug in Oracle dialect where bound parameterMike Bayer2014-10-111-0/+9
| | | | | | | | | | | | | | | | | | names that started with numbers would not be quoted, as Oracle doesn't like numerics in bound parameter names. fixes #2138
| * | - :meth:`.Insert.from_select` now includes Python and SQL-expressionMike Bayer2014-10-103-1/+46
| | | | | | | | | | | | | | | | | | | | | defaults if otherwise unspecified; the limitation where non- server column defaults aren't included in an INSERT FROM SELECT is now lifted and these expressions are rendered as constants into the SELECT statement.
| * | - add a migration note for ref #3222Mike Bayer2014-10-092-0/+65
| | |
| * | - The ON clause rendered when using :meth:`.Query.join`,Mike Bayer2014-10-091-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :meth:`.Query.outerjoin`, or the standalone :func:`.orm.join` / :func:`.orm.outerjoin` functions to a single-inheritance subclass will now include the "single table criteria" in the ON clause even if the ON clause is otherwise hand-rolled; it is now added to the criteria using AND, the same way as if joining to a single-table target using relationship or similar. fixes #3222
| * | - Fixed bug where a fair number of SQL elements withinMike Bayer2014-10-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | the sql package would fail to ``__repr__()`` successfully, due to a missing ``description`` attribute that would then invoke a recursion overflow when an internal AttributeError would then re-invoke ``__repr__()``. fixes #3195
| * | - Fixed "'NoneType' object has no attribute 'concrete'" errorMike Bayer2014-10-061-0/+9
| | | | | | | | | | | | | | | | | | when using :class:`.AbstractConcreteBase` in conjunction with a subclass that declares ``__abstract__``. fixes #3185
| * | - The execution options passed to an :class:`.Engine` either viaMike Bayer2014-10-061-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :paramref:`.create_engine.execution_options` or :meth:`.Engine.update_execution_options` are not passed to the special :class:`.Connection` used to initialize the dialect within the "first connect" event; dialects will usually perform their own queries in this phase, and none of the current available options should be applied here. In particular, the "autocommit" option was causing an attempt to autocommit within this initial connect which would fail with an AttributeError due to the non-standard state of the :class:`.Connection`. fixes #3200
| * | - move some things that are features to the featuresMike Bayer2014-10-041-213/+213
| | |
| * | - use provide_metadata for new unique constraint / index testsMike Bayer2014-10-042-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add a test for PG reflection of unique index without any unique constraint - for PG, don't include 'duplicates_constraint' in the entry if the index does not actually mirror a constraint - use a distinct method for unique constraint reflection within table - catch unique constraint not implemented condition; this may be within some dialects and also is expected to be supported by Alembic tests - migration + changelogs for #3184 - add individual doc notes as well to MySQL, Postgreql fixes #3184
| * | - changelog, migration for pr github:134Mike Bayer2014-10-043-0/+33
| | |
| * | - rework tests for attached databases into individual tests,Mike Bayer2014-09-291-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test both memory and file-based - When selecting from a UNION using an attached database file, the pysqlite driver reports column names in cursor.description as 'dbname.tablename.colname', instead of 'tablename.colname' as it normally does for a UNION (note that it's supposed to just be 'colname' for both, but we work around it). The column translation logic here has been adjusted to retrieve the rightmost token, rather than the second token, so it works in both cases. Workaround courtesy Tony Roberts. fixes #3211
| * | - A revisit to this issue first patched in 0.9.5, apparentlyMike Bayer2014-09-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | psycopg2's ``.closed`` accessor is not as reliable as we assumed, so we have added an explicit check for the exception messages "SSL SYSCALL error: Bad file descriptor" and "SSL SYSCALL error: EOF detected" when detecting an is-disconnect scenario. We will continue to consult psycopg2's connection.closed as a first check. fixes #3021
| * | - Fixed bug where a "branched" connection, that is the kind you getMike Bayer2014-09-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | when you call :meth:`.Connection.connect`, would not share transaction status with the parent. The architecture of branching has been tweaked a bit so that the branched connection defers to the parent for all transactional status and operations. fixes #3190
| * | - Fixed bug where a "branched" connection, that is the kind you getMike Bayer2014-09-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | when you call :meth:`.Connection.connect`, would not share invalidation status with the parent. The architecture of branching has been tweaked a bit so that the branched connection defers to the parent for all invalidation status and operations. fixes #3215
| * | - add explicit warning re: polymorphic_on, cascading is not supportedMike Bayer2014-09-261-0/+6
| | | | | | | | | | | | at this time. ref #3214
| * | - refactor of declarative, break up into indiviudal methodsMike Bayer2014-09-253-1/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that are now affixed to _MapperConfig - declarative now creates column copies ahead of time so that they are ready to go for a declared_attr - overhaul of declared_attr; memoization, cascading modifier - A relationship set up with :class:`.declared_attr` on a :class:`.AbstractConcreteBase` base class will now be configured on the abstract base mapping automatically, in addition to being set up on descendant concrete classes as usual. fixes #2670 - The :class:`.declared_attr` construct has newly improved behaviors and features in conjunction with declarative. The decorated function will now have access to the final column copies present on the local mixin when invoked, and will also be invoked exactly once for each mapped class, the returned result being memoized. A new modifier :attr:`.declared_attr.cascading` is added as well. fixes #3150 - the original plan for #3150 has been scaled back; by copying mixin columns up front and memoizing, we don't actually need the "map properties later" thing. - full docs + migration notes
| * | - convert to spacesMike Bayer2014-09-251-191/+191
| | |
| * | - The :mod:`sqlalchemy.ext.automap` extension will now setMike Bayer2014-09-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``cascade="all, delete-orphan"`` automatically on a one-to-many relationship/backref where the foreign key is detected as containing one or more non-nullable columns. This argument is present in the keywords passed to :func:`.automap.generate_relationship` in this case and can still be overridden. Additionally, if the :class:`.ForeignKeyConstraint` specifies ``ondelete="CASCADE"`` for a non-nullable or ``ondelete="SET NULL"`` for a nullable set of columns, the argument ``passive_deletes=True`` is also added to the relationship. Note that not all backends support reflection of ondelete, but backends that do include Postgresql and MySQL. fixes #3210
| * | - Fixed bug that affected generally the same classes of eventMike Bayer2014-09-181-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as that of :ticket:`3199`, when the ``named=True`` parameter would be used. Some events would fail to register, and others would not invoke the event arguments correctly, generally in the case of when an event was "wrapped" for adaption in some other way. The "named" mechanics have been rearranged to not interfere with the argument signature expected by internal wrapper functions. fixes #3197
| * | - Fixed an unlikely race condition observed in some exotic end-userMike Bayer2014-09-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | setups, where the attempt to check for "duplicate class name" in declarative would hit upon a not-totally-cleaned-up weak reference related to some other class being removed; the check here now ensures the weakref still references an object before calling upon it further. fixes #3208
| * | - Fixed bug that affected many classes of event, particularlyMike Bayer2014-09-181-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ORM events but also engine events, where the usual logic of "de duplicating" a redundant call to :func:`.event.listen` with the same arguments would fail, for those events where the listener function is wrapped. An assertion would be hit within registry.py. This assertion has now been integrated into the deduplication check, with the added bonus of a simpler means of checking deduplication across the board. fixes #3199
| * | - Added new method :meth:`.Select.with_statement_hint` and ORMMike Bayer2014-09-181-0/+8
| | | | | | | | | | | | | | | | | | method :meth:`.Query.with_statement_hint` to support statement-level hints that are not specific to a table. fixes #3206
| * | - Added support for the Oracle table option ON COMMIT. This is beingMike Bayer2014-09-172-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | kept separate from Postgresql's ON COMMIT for now even though ON COMMIT is in the SQL standard; the option is still very specific to temp tables and we eventually would provide a more first class temporary table feature. - oracle can apparently do get_temp_table_names() too, so implement that, fix its get_table_names(), and add it to #3204. fixes #3204 again.
| * | - changelog for #3203; fixes #3203Mike Bayer2014-09-171-0/+14
| | |
| * | - Added :meth:`.Inspector.get_temp_table_names` andMike Bayer2014-09-172-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :meth:`.Inspector.get_temp_view_names`; currently, only the SQLite dialect supports these methods. The return of temporary table and view names has been **removed** from SQLite's version of :meth:`.Inspector.get_table_names` and :meth:`.Inspector.get_view_names`; other database backends cannot support this information (such as MySQL), and the scope of operation is different in that the tables can be local to a session and typically aren't supported in remote schemas. fixes #3204
| * | Merge branch 'pr128'Mike Bayer2014-09-172-0/+45
| |\ \
| | * | - repair get_foreign_table_names() for PGInsp/dialect levelpr128Mike Bayer2014-09-172-0/+45
| | | | | | | | | | | | | | | | | | | | - repair get_view_names() - changelog + migration note
| * | | - Fixed the version string detection in the pymssql dialect toMike Bayer2014-09-161-0/+9
| |/ / | | | | | | | | | | | | | | | work with Microsoft SQL Azure, which changes the word "SQL Server" to "SQL Azure". fixes #3151
| * | Merge pull request #138 from BY-jk/mastermike bayer2014-09-161-0/+1
| |\ \ | | | | | | | | Added EXASolution dialect to documentation
| | * | Added EXASolution dialect to documentationpr/138Jan2014-09-161-0/+1
| | | |
* | | | Merge branch 'master' into ticket_3100Mike Bayer2014-09-158-4/+217
|\ \ \ \ | |/ / /
| * | | Updated documenation for engines.rstpr/135Jim Hokanson2014-09-141-1/+6
| | | | | | | | | | | | Clarified connecting to absolute path for sqlite using Windows.
| * | | - Fixed warning that would emit when a complex self-referentialMike Bayer2014-09-111-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | primaryjoin contained functions, while at the same time remote_side was specified; the warning would suggest setting "remote side". It now only emits if remote_side isn't present. fixes #3194
| * | | - Fixed bug in ordering list where the order of items would beMike Bayer2014-09-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thrown off during a collection replace event, if the reorder_on_append flag were set to True. The fix ensures that the ordering list only impacts the list that is explicitly associated with the object. fixes #3191
| * | | - for whatever reason, Insert.values() with multi values wasn'tMike Bayer2014-09-092-0/+28
| | | | | | | | | | | | | | | | in the 0.8 migration, so let's just add that
| * | | - Added new event handlers :meth:`.AttributeEvents.init_collection`Mike Bayer2014-09-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and :meth:`.AttributeEvents.dispose_collection`, which track when a collection is first associated with an instance and when it is replaced. These handlers supersede the :meth:`.collection.linker` annotation. The old hook remains supported through an event adapter.
| * | | - mako_layout isn't used, remove itMike Bayer2014-09-072-4/+4
| | | | | | | | | | | | | | | | - to check for epub look at "builder"
| * | | Merge pull request #133 from hiaselhans/doc_epubmike bayer2014-09-072-1/+8
| |\ \ \ | | | | | | | | | | Docs: use layout.mako only when mako_layout=='html'
| | * | | Docs: use the base layout when mako_layout=='epub'pr/133hiaselhans2014-09-072-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - https://readthedocs.org/projects/sqlalchemy/downloads/epub/latest/ renders with the full template which is unreadable on e-readers - in the makefile the template-variable mako_layout is set for target: epub which makes mako use only the base layout. - this is the more elegant solution as proposed to #133
| * | | | - changelog and migration for #3188, #3148.Mike Bayer2014-09-072-1/+108
| |/ / / | | | | | | | | | | | | | | | | fixes #3188 fixes #3148