| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
| |
which inherit from a base class.
[ticket:1129]
|
| |
|
|
|
|
|
| |
when placing SQL expressions in the query()
list of entities. In particular scalar subqueries
should not "leak" their inner FROM objects out
into the enclosing query.
|
| |
|
|
|
| |
from [ticket:1068]. This feature is on hold
pending further development.
|
| |
|
|
|
|
|
|
|
|
|
| |
features keynames which prefer mapped attribute
names over column keys, column keys over
column names, i.e.
Query(Class.foo, Class.bar) will have names
"foo" and "bar" even if those are not the names
of the underlying Column objects. Direct
Column objects such as Query(table.c.col) will
return the "key" attribute of the Column.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
within a mapper's deferred load of
inherited attributes.
- declarative initialization of Columns adjusted so that
non-renamed columns initialize in the same way as a non
declarative mapper. This allows an inheriting mapper
to set up its same-named "id" columns in particular
such that the parent "id" column is favored over the child
column, reducing database round trips when this value
is requested.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
own name
and not its contained expression, if the dialect reports true for supports_simple_order_by_label.
the flag is not propagated forwards, meant to closely mimic the syntax Postgres expects which is
that only a simple name can be in the ORDER BY, not a more complex expression or function call
with the label name embedded (mysql and sqlite support more complex expressions).
This further sets the standard for propigation of **kwargs within compiler, that we can't just send
**kwargs along blindly to each XXX.process() call; whenever a **kwarg needs to propagate through,
most methods will have to be aware of it and know when they should send it on forward and when not.
This was actually already the case with result_map as well.
The supports_simple_order_by dialect flag defaults to True but is conservatively explicitly set to
False on all dialects except SQLite/MySQL/Postgres to start.
[ticket:1068]
|
| |
|
|
| |
inadvertently mistake a PropertyLoader for a ColumnLoader property
|
| |
|
|
|
| |
- renamed SessionTransaction autoflush to reentrant_flush to more clearly state its purpose
- added _enable_transaction_accounting, flag for Mike Bernson which disables the whole 0.5 transaction state management; the system depends on expiry on rollback in order to function.
|
| |
|
|
|
|
|
|
| |
little mixed
up as to when it honors "column_prefix" and when it doesn't, depending on whether or not
the prop is coming from a column name or from an inherited class. Will need more testing
to uncover potential issues here.
|
| |
|
|
|
| |
has been removed. For rationale, see
http://groups.google.com/group/sqlalchemy/browse_thread/thread/9e23a0641a88b96d?hl=en
|
| |
|
|
|
|
| |
- The supplied __init__ is now optional
- The name of the generated class can be specified
- Accepts multiple bases
|
| |
|
|
|
|
| |
takes a 'metaclass' arg, defaulting to DeclarativeMeta
renamed 'engine' arg to 'bind', backward compat
documented
|
| |
|
|
| |
making reverse-engineering synonyms a bit easier)
|
| |
|
|
| |
local columns will still override superclass descriptors.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
FlushError raised for a pending orphan would not take
superclass mappers into account when generating
the list of relations responsible for the error.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Addresses #909 in a purposeful way.
|
| | |
|
| | |
|
| |
|
|
| |
reflecttable for reflecting the mssql tables. Removed unicode reflection test from mssql. Need to investigate this further.
|
| | |
|
| |
|
|
| |
- generalized the descriptor detection to any object with a __get__ attribute
|
| |
|
|
|
|
| |
inherited from the base class with a plain descriptor,
or exclude an inherited attribute via the
include_properties/exclude_properties collections.
|
| |
|
|
|
| |
"modified" history to be properly cleared after
a flush().
|
| |
|
|
|
|
| |
should reduce the probability of "Attribute x was
not replaced during compile" warnings. (this generally
applies to SQLA hackers, like Elixir devs).
|
| |
|
|
|
| |
relation()'s remote_side and foreign_keys parameters
are now accepted, allowing them to be used with declarative.
|
| |
|
|
|
|
|
| |
is the one where the "cascade" option should take effect.
- can use None as a value for cascade.
- documented cascade options in docstring, [ticket:1064]
|
| | |
|
| | |
|
| |
|
|
|
|
| |
now considers the cascade rules of the event initiator only, not the local
attribute. This way the cascade of the initiator controls the behavior
regardless of backref events.
|
| |
|
|
|
|
|
| |
Session whereby asynchronous GC could remove unmodified,
no longer referenced items from the session as they were
present in a list of items to be processed, typically
during session.expunge_all() and dependent methods.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
MapperProperty compilation is detected using a "_compiled" flag.
- A mapper which inherits from another, when inheriting
the columns of its inherited mapper, will use any
reassigned property names specified in that inheriting
mapper. Previously, if "Base" had reassigned "base_id"
to the name "id", "SubBase(Base)" would still get
an attribute called "base_id". This could be worked
around by explicitly stating the column in each
submapper as well but this is fairly unworkable
and also impossible when using declarative [ticket:1111].
|
| | |
|
| |
|
|
|
| |
The change is backward compatible. Slight expansion of patch from catlee.
Thanks! [ticket:1110]
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|