Commit Graph

10240 Commits

Author SHA1 Message Date
Mike Bayer 9b2d90aa5f - fix a glitch with how the default thing worked out 2013-10-07 12:51:38 -04:00
Mike Bayer d914493616 - add some tests for propagate of wildcard lazyload 2013-10-06 21:07:20 -04:00
Mike Bayer 22d5a1e415 11th hour realization that Load() needs to do the _chop_path() thing as
well.  this probably has some bugs
2013-10-06 20:50:51 -04:00
Mike Bayer 1b25ed907f - merge ticket_1418 branch, [ticket:1418]
- The system of loader options has been entirely rearchitected to build
upon a much more comprehensive base, the :class:`.Load` object.  This
base allows any common loader option like :func:`.joinedload`,
:func:`.defer`, etc. to be used in a "chained" style for the purpose
of specifying options down a path, such as ``joinedload("foo").subqueryload("bar")``.
The new system supersedes the usage of dot-separated path names,
multiple attributes within options, and the usage of ``_all()`` options.
-  Added a new load option :func:`.orm.load_only`.  This allows a series
of column names to be specified as loading "only" those attributes,
deferring the rest.
2013-10-06 20:29:08 -04:00
Mike Bayer d79e1d69a6 - fix propagation of quote flag within _gen_label() so that if the
name is already an instance of _anonymous_label(), we don't downgrade
it to a plain quoted_name - fixes regression from [ticket:2812].
[ticket:2834]
2013-10-05 23:47:49 -04:00
Mike Bayer aba7847186 fix entity_zero resolution 2013-10-04 15:22:43 -04:00
Mike Bayer a83378b640 - A new construct :class:.Bundle is added, which allows for specification
of groups of column expressions to a :class:`.Query` construct.
The group of columns are returned as a single tuple by default.  The
behavior of :class:`.Bundle` can be overridden however to provide
any sort of result processing to the returned row.  One example included
is :attr:`.Composite.Comparator.bundle`, which applies a bundled form
of a "composite" mapped attribute.
[ticket:2824]
- The :func:`.composite` construct now maintains the return object
when used in a column-oriented :class:`.Query`, rather than expanding
out into individual columns.  This makes use of the new :class:`.Bundle`
feature internally.  This behavior is backwards incompatible; to
select from a composite column which will expand out, use
``MyClass.some_composite.clauses``.
2013-10-03 17:06:55 -04:00
Mike Bayer 78c5249bf7 - add monetdb
- break out into "production" and "experimental"
2013-10-01 13:44:53 -04:00
Mike Bayer 3d4d933329 - add support for removal of instance methods as event listeners, taking
into account the id() of the function itself and self, [ticket:2832]
2013-10-01 12:14:34 -04:00
Mike Bayer 94d421ca2f - put exact version string in the test
- use match with a .* preceding instead of search
2013-09-29 17:24:29 -04:00
Mike Bayer fc8c40e8c5 changelog 2013-09-29 17:21:35 -04:00
Mike Bayer 7952132d3a Merge branch 'master' of github.com:zzzeek/sqlalchemy 2013-09-29 17:19:51 -04:00
mike bayer c23dbd0220 Merge pull request #26 from hackop/ticket_2819
re.match to re.search
2013-09-29 14:19:44 -07:00
Mike Bayer 62463b95e0 add test for upcoming pullreq 2013-09-29 17:19:25 -04:00
Mike Bayer 4cace9d3d5 its a feature 2013-09-29 17:16:57 -04:00
Mike Bayer 23fa1b951b changelog 2013-09-29 17:09:25 -04:00
mike bayer dda72ddcf0 Merge pull request #25 from gthb/ticket_2821
Hide password in URL and Engine __repr__
2013-09-29 14:03:46 -07:00
mike bayer 8f40028149 Merge pull request #30 from alex/visitor-pattern
Replace a big loop + dict lookup in Connection.execute() with a simple visitor pattern
2013-09-25 10:33:34 -07:00
Alex Gaynor 03671e9ee4 Replace a big loop + dict lookup in Connection.execute() with a simple visitor
pattern
2013-09-25 10:29:52 -07:00
Mike Bayer 08a6a8b519 - Removed some now unneeded version checks [ticket:2829] courtesy alex gaynor 2013-09-22 20:35:40 -04:00
Mike Bayer c3c4b2d23d fix typo [ticket:2827] 2013-09-17 17:48:48 -05:00
Mike Bayer 9910256a51 render "backports"/ "forward ports" automatically, only write out
changelog once
2013-09-17 15:03:15 -05:00
Mike Bayer 5a6895471f - modify what we did in [ticket:2793] so that we can also set the
version id programmatically outside of the generator.   using this system,
we can also leave the version id alone.
2013-09-06 21:39:36 -04:00
Scott Schaefer f7504bdbad re.match to re.search
Convert to re.search to eliminate the restriction on only matching the
beginning of the string
2013-09-06 18:14:26 -06:00
Gunnlaugur Þór Briem 610684bb08 Hide password in URL and Engine __repr__
Fixes #2821
2013-09-06 17:57:04 +00:00
Vladimir Magamedov e816754842 Fixed Query.exists() method for the case, when query doesn't have any filters applied. 2013-09-04 11:45:14 -04:00
Mike Bayer b727d05ce1 add caveats regarding RETURNING 2013-09-02 12:33:49 -04:00
Mike Bayer 21fac20884 use a different col here to keep oracle happy 2013-09-02 12:11:24 -04:00
Mike Bayer 97168dbf69 plus some more adjustments for mysql, or in general if an Index refers to
in-python only cols
2013-08-28 17:31:40 -04:00
Mike Bayer fe66951f5d Fixed bug where using the `column_reflect event to change the .key`
of the incoming :class:`.Column` would prevent primary key constraints,
indexes, and foreign key constraints from being correctly reflected.
Also in 0.8.3. [ticket:2811]
2013-08-28 17:25:44 -04:00
Mike Bayer 03c9b2df77 - fix bug here in profiling.py
- callcount
2013-08-28 10:19:11 -04:00
Mike Bayer 835f1a38bf repair missing oracle skip 2013-08-28 10:16:52 -04:00
Mike Bayer c7adc32c09 comment this alternative approach... 2013-08-28 10:16:28 -04:00
Mike Bayer 650c7e46be - these tests now fail on a normalize name DB, as they should! because we're quoting the lowercase name. 2013-08-28 00:11:15 -04:00
Mike Bayer 87b9f48c57 - rework the profile thing to just rewrite all failing numbers when --write-profiles is set
- some sqlite callcounts
2013-08-28 00:04:38 -04:00
Mike Bayer 5672f78806 callcounts 2013-08-27 23:51:34 -04:00
Mike Bayer 7bf231232c - cx_oracle seems to have a bug here though it is hard to track down
- cx_oracle dialect doesn't use normal col names, lets just not rely on that for now
2013-08-27 21:37:22 -04:00
Mike Bayer 3deabad08c more seealsos... 2013-08-27 20:46:18 -04:00
Mike Bayer 031ef08078 - A rework to the way that "quoted" identifiers are handled, in that
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]
2013-08-27 20:43:22 -04:00
Mike Bayer 99732dd29b correct for missing fail() methods which were lost when we removed unittest.TestCase 2013-08-26 12:30:33 -04:00
Mike Bayer 938a8eb403 clean up formatting and other linting issues 2013-08-26 12:29:27 -04:00
Mike Bayer e9c748a7bf - ensure rowcount is returned for an UPDATE with no implicit returning
- modernize test for that
- use py3k compatible next() in test_returning/test_versioning
2013-08-25 17:37:59 -04:00
Mike Bayer df1113ac19 - fix server-side non-returning example
- mention eager_defaults
2013-08-25 15:00:54 -04:00
Mike Bayer b1d8d74b52 migration for version id feature, eager_defaults 2013-08-25 14:37:35 -04:00
Mike Bayer 87f7097966 - restore constructor docs blown away in the merge 2013-08-25 14:13:03 -04:00
Mike Bayer d6ce68727f - The `version_id_generator parameter of Mapper` can now be specified
to rely upon server generated version identifiers, using triggers
or other database-provided versioning features, by passing the value
``False``.  The ORM will use RETURNING when available to immediately
load the new version identifier, else it will emit a second SELECT.
[ticket:2793]
- The ``eager_defaults`` flag of :class:`.Mapper` will now allow the
newly generated default values to be fetched using an inline
RETURNING clause, rather than a second SELECT statement, for backends
that support RETURNING.
- Added a new variant to :meth:`.ValuesBase.returning` called
:meth:`.ValuesBase.return_defaults`; this allows arbitrary columns
to be added to the RETURNING clause of the statement without interfering
with the compilers usual "implicit returning" feature, which is used to
efficiently fetch newly generated primary key values.  For supporting
backends, a dictionary of all fetched values is present at
:attr:`.ResultProxy.returned_defaults`.
- add a glossary entry for RETURNING
- add documentation for version id generation, [ticket:867]
2013-08-25 14:03:54 -04:00
Mike Bayer 00f3ca98ce forgot to add system to the copy() method
Conflicts:
	lib/sqlalchemy/schema.py
2013-08-25 12:35:06 -04:00
Mike Bayer 2452c49cc4 added "system=True" to Column, so that we generally don't have to bother
with CreateColumn rules
2013-08-25 12:29:22 -04:00
mike bayer b3aa03853f Merge pull request #23 from yoloseem/master
Fixed two typos.
2013-08-25 09:08:00 -07:00
Hyunjun Kim b9bd6ffd43 fix typos 2013-08-25 05:06:14 +09:00