Commit Graph

10007 Commits

Author SHA1 Message Date
Mike Bayer 1835be36fc - add autoinc marker for oracle 2015-06-25 11:11:00 -04:00
Mike Bayer 1e2f1f5baa - Fixed a major regression in the 1.0 series where the version_id_counter
feature would cause an object's version counter to be incremented
when there was no net change to the object's row, but instead an object
related to it via relationship (e.g. typically many-to-one)
were associated or de-associated with it, resulting in an UPDATE
statement that updates the object's version counter and nothing else.
In the use case where the relatively recent "server side" and/or
"programmatic/conditional" version counter feature were used
(e.g. setting version_id_generator to False), the bug could cause an
UPDATE without a valid SET clause to be emitted.
fixes #3465
2015-06-24 21:53:15 -04:00
Mike Bayer 00656ae493 - edits to this section 2015-06-22 22:24:07 -04:00
Mike Bayer be2b35f7f2 - add a new FAQ on re-reading of data within a transaction, since
this is definitely something that is asked regularly.
2015-06-22 21:33:40 -04:00
mike bayer ee5bf27eb8 Merge pull request #184 from bnjmn/patch-1
Missing comma in method params for hybrid docs
2015-06-22 17:38:28 -04:00
Benjamin Petersen ebe3e4569f Missing comma in method args 2015-06-22 16:27:56 -04:00
Mike Bayer 78095940a4 - Fixed issue when using :class:.VARBINARY type in conjunction with
an INSERT of NULL + pyodbc; pyodbc requires a special
object be passed in order to persist NULL.  As the :class:`.VARBINARY`
type is now usually the default for :class:`.LargeBinary` due to
🎫`3039`, this issue is partially a regression in 1.0.
The pymssql driver appears to be unaffected.
fixes #3464
2015-06-22 15:24:41 -04:00
Mike Bayer 24f8ab2bc3 - Re-fixed this issue first released in 1.0.5 to fix psycopg2cffi
JSONB support once again, as they suddenly
switched on unconditional decoding of JSONB types in version 2.7.1.
Version detection now specifies 2.7.1 as where we should expect
the DBAPI to do json encoding for us.
fixes #3439
2015-06-22 11:35:02 -04:00
mike bayer cfa296d9cd Merge pull request #183 from renshawbay/master
Fix a tiny typo in test name
2015-06-22 11:25:42 -04:00
Pete Hollobon e3c8eabb28 Fix typo 2015-06-22 14:54:21 +01:00
Mike Bayer 0e84dcc485 - repair that we use db_opts when the url here is different,
as we are using db_opts for the first time with legacy_schema_args
2015-06-19 19:24:10 -04:00
Mike Bayer 61e83ec41b - fixes to the warnings filters 2015-06-19 17:18:03 -04:00
Mike Bayer 7aa2100db3 - more edits, references #3461 2015-06-19 14:54:26 -04:00
Mike Bayer e625d2ea88 - for #3455
- changelog
- versionadded + reflink for new pg storage parameters doc
- pep8ing
- add additional tests to definitely check that the Index object
is created all the way with the opts we want
fixes #3455
2015-06-19 14:10:47 -04:00
Mike Bayer 99ceed3e55 Merge remote-tracking branch 'origin/pr/179' into pr179 2015-06-19 13:45:01 -04:00
Mike Bayer a1b6e9f324 - fix the bullets
- tone down the "never dispose an engine" language
- refer to NullPool for the "I don't like pooling" use case
references #3461
2015-06-19 13:08:47 -04:00
Mike Bayer 9f4149766c - Fixed 1.0 regression where the enhanced behavior of single-inheritance
joins of 🎫`3222` takes place inappropriately
for a JOIN along explicit join criteria with a single-inheritance
subclass that does not make use of any discriminator, resulting
in an additional "AND NULL" clause.
fixes #3462
2015-06-19 12:24:09 -04:00
Mike Bayer 3d78705cf4 - add explciit section on engine disposal, fixes #3461 2015-06-19 11:49:49 -04:00
Mike Bayer 370b237ddb - automap is stable 2015-06-18 13:13:54 -04:00
Mike Bayer 4a25c10e27 - Repaired the :class:.ExcludeConstraint construct to support common
features that other objects like :class:`.Index` now do, that
the column expression may be specified as an arbitrary SQL
expression such as :obj:`.cast` or :obj:`.text`.
fixes #3454
2015-06-16 14:33:53 -04:00
Mike Bayer b861b7537c - add a subsection on how to use Sequence with server_default,
fixes #3453
2015-06-16 13:16:59 -04:00
Mike Bayer de906a2125 - remove the redundant non-max-row-buffer test from the max_row_buffer
test as we implemented that as a separate test.
2015-06-14 16:48:26 -04:00
Mike Bayer 7f7ae03b0d Merge branch 'pr182' 2015-06-14 16:45:01 -04:00
Mike Bayer 9ccdea3a0f - add test cases for pullreq github:182, where we add a new
"max_row_buffer" execution option for BufferedRowResultProxy
- also add documentation, changelog and version notes
- rework the max_row_buffer argument to be interpreted from
the execution options upfront when the BufferedRowResultProxy
is first initialized.
2015-06-14 16:43:16 -04:00
Mike Bayer e15d58695d - Add a new le_() assertion for less than or equals
- fix TablesTest to use the bind that we've returned from setup_bind()
to emit DELETE statements
2015-06-14 16:42:14 -04:00
Morgan McClure a8c6cce404 Added max_row_buffer attribute to the context execution options and use
it to prevent excess memory usage with yield_per
2015-06-13 19:27:55 -07:00
Mike Bayer 92ac4a9f88 - revert this change which was inadvertently included in the
fix for #3451
2015-06-13 20:47:18 -04:00
Mike Bayer bcbfcca236 - restore the approach we have for pk_params, but in order
to suit #3451 exclude these columns from the "params"
dictionary in the first place, revises pr github:181
2015-06-13 20:27:06 -04:00
Mike Bayer 2497d559dd - add changelog for #3451, with 09485d7331 fixes #3451
- also add a bulk_insert_mappings test
2015-06-13 20:15:17 -04:00
Morgan McClure 235165d546 BufferedRowResultProxy should stop growing at 100 2015-06-13 13:59:27 -07:00
Patrick Hayes 09485d7331 Fix primary key behaviour in bulk_update
Suppose you have a model class with a primary key.

Base = declarative_base()
class User(Base):
  id = Column(BigInteger, primary_key=True)
  name = Column(String)

Previously, running
`bulk_update_mappings(User, {'id': 1, 'name': 'hello'})`
would emit the following:

```UPDATE users SET id=1, name='hello' WHERE id=1```

This is contrary to the stated behaviour, where primary keys are omitted
from the SET clause. Furthermore, this behaviour is harmful, as it
can cause the db engine to lock over-aggresively (at least in Postgres).

With this change, the emitted SQL is:

```UPDATE users SET name='hello' WHERE id=1```
2015-06-13 14:11:16 -04:00
Mike Bayer e765c55e8c - Fixed an unexpected-use regression whereby custom :class:.Comparator
objects that made use of the ``__clause_element__()`` method and
returned an object that was an ORM-mapped
:class:`.InstrumentedAttribute` and not explicitly a
:class:`.ColumnElement` would fail to be correctly
handled when passed as an expression to :meth:`.Session.query`.
The logic in 0.9 happened to succeed on this, so this use case is now
supported. fixes #3448
2015-06-11 16:48:00 -04:00
Mike Bayer a463bb31ea - add an 0.9 migration note regarding TypeEngine's default
constructor removal; fixes #3446
2015-06-10 10:48:16 -04:00
Mike Bayer a9030d0241 - Fixed a bug where clause adaption as applied to a :class:.Label
object would fail to accommodate the labeled SQL expression
in all cases, such that any SQL operation that made use of
:meth:`.Label.self_group` would use the original unadapted
expression.  One effect of this would be that an ORM :func:`.aliased`
construct would not fully accommodate attributes mapped by
:obj:`.column_property`, such that the un-aliased table could
leak out when the property were used in some kinds of SQL
comparisons.
fixes #3445
2015-06-09 23:39:14 -04:00
Mike Bayer 1cc50c81b9 - add a migration note for the query.update()/query.delete() change
in #3349
2015-06-09 13:02:43 -04:00
Mike Bayer 8f1130672d - add a comment, also I think we want to expire before we do the
new begin, as begin_nested() does a flush
2015-06-09 12:20:07 -04:00
Mike Bayer c9712e4bd5 Merge remote-tracking branch 'origin/pr/180' into pr180 2015-06-09 12:18:35 -04:00
Mike Bayer 657be357de - Fixed an internal "memoization" routine for method types such
that a Python descriptor is no longer used; repairs inspectability
of these methods including support for Sphinx documentation.
2015-06-08 18:36:27 -04:00
Mike Bayer 0e1da32654 - start 1.0.6 2015-06-08 18:35:15 -04:00
Charles-Axel Dein d1dc39d55d Expire session in testing transaction handling 2015-06-08 10:01:59 -07:00
Mike Bayer 3873d7db34 - 1.0.5 rel_1_0_5 2015-06-07 17:53:38 -04:00
Mike Bayer 1ef1b8600f - include tox.ini in the dist... 2015-06-07 17:50:48 -04:00
Mike Bayer 343734b95f - repair these tests to use the global manager_of_class fn,
as test_customfinder_pass at least does not provide the
alternate ext manager and in all cases it's the global function
that counts
2015-06-07 17:44:58 -04:00
Mike Bayer 54b15aaf37 - Added new engine event :meth:.ConnectionEvents.engine_disposed.
Called after the :meth:`.Engine.dispose` method is called.
2015-06-06 17:50:32 -04:00
Mike Bayer 4e6ec9eef4 - Repaired some typing and test issues related to the pypy
psycopg2cffi dialect, in particular that the current 2.7.0 version
does not have native support for the JSONB type.  The version detection
for psycopg2 features has been tuned into a specific sub-version
for psycopg2cffi.  Additionally, test coverage has been enabled
for the full series of psycopg2 features under psycopg2cffi.
fixes #3439
2015-06-05 17:34:02 -04:00
Mike Bayer 4c90f355fd - document SQlite dotted name issue, fixes #3441 2015-06-05 16:11:13 -04:00
Pete Hollobon af19435b9c Add reflection of PostgreSQL index access methods (USING clause) 2015-06-04 16:45:41 +01:00
Pete Hollobon b03ee45f32 Add reflection of PostgreSQL index storage options 2015-06-04 15:12:09 +01:00
Pete Hollobon dff81500b1 Add support for PostgreSQL index storage parameters
Add support for specifying PostgreSQL index storage paramters (e.g.
fillfactor).
2015-06-03 17:32:12 +01:00
Mike Bayer 16a87fe6d9 - correctly categorize this changelog entry and rewrite it
to be understandable, now that there's some time past since
I first wrote it
2015-06-03 11:04:08 -04:00