| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
support to association proxied lists.
|
| | |
|
| | |
|
| |
|
|
| |
classes can now implement arbitrary __eq__ and friends. [ticket:676]
|
| |
|
|
| |
- Fixed __hash__ for association proxy collections
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
omitting modules from sqlalchemy.__all__...
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
2. compiler names changed to be less verbose, unused classes removed.
3. Methods on Dialect which return compilers, schema generators, identifier preparers
have changed to direct class references, typically on the Dialect class itself
or optionally as attributes on an individual Dialect instance if conditional behavior is needed.
This takes away the need for Dialect subclasses to know how to instantiate these
objects, and also reduces method overhead by one call for each one.
4. as a result of 3., some internal signatures have changed for things like compiler() (now statement_compiler()), preparer(), etc., mostly in that the dialect needs to be passed explicitly as the first argument (since they are just class references now). The compiler() method on Engine and Connection is now also named statement_compiler(), but as before does not take the dialect as an argument.
5. changed _process_row function on RowProxy to be a class reference, cuts out 50K method calls from insertspeed.py
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
- scoping/class instrumenting behavior of sessionmaker moved into new scoping module
which implements scoped_session() (subject to potential name change)
- SessionContext / assignmapper are deprecated, replaced with scoped_session()
|
| |
|
|
|
|
| |
- Session function is removed
- all replaced with new sessionmaker() function. description at:
http://www.sqlalchemy.org/trac/wiki/WhatsNewIn04#create_sessionSessionContextassignmapperDeprecated
|
| |
|
|
|
|
| |
for EXT_CONTINUE.
Repointed docs and examples to EXT_CONTINUE
|
| |
|
|
|
|
|
|
| |
differences:
* added a deprecation warning
* check if a method with that name already exist in the class
- more foolproof deprecation warning for scalar kwarg
|
| |
|
|
| |
maintenance branch in branches/rel_0_3.
|
| |
|
|
|
|
|
|
|
| |
"engine_or_url", "bind_to", etc. are all present, but deprecated.
they all get replaced by the single term "bind". you also
set the "bind" of MetaData using
metadata.bind = <engine or connection>. this is part of 0.4
forwards compatibility where "bind" is the only keyword.
[ticket:631]
|
| |
|
|
|
| |
- Deprecated BoundMetaData- use MetaData instead
- Removed DMD and BMD from documentation
|
| |
|
|
|
| |
all() to Query
- added selectone_by() to assignmapper
|
| | |
|
| |
|
|
|
|
| |
InstrumentedList-like (e.g. over keys instead of values).
- Don't tightly bind proxies to source collections (fixes #597)
- Handle slice objects on orderinglist's __setitem__
|
| | |
|
| |
|
|
| |
mapper style (i.e., no need to add it to klass as an attribute).
|
| | |
|
| | |
|
| |
|
|
|
|
| |
list, dict and set-based relation collections (and scalar relations). Extensive tests.
- Added util.duck_type_collection
|
| |
|
|
| |
an object attribute with that object's position in the list
|
| |
|
|
| |
select().
|
| | |
|
| | |
|
| |
|
|
| |
#551
|
| |
|
|
| |
objects can be associated with a single association collection.
|
| |
|
|
|
|
|
|
|
|
|
| |
deterministic names now, based on their ordering within the
full statement being compiled. this means the same statement
will produce the same string across application restarts and
allowing DB query plan caching to work better.
- cleanup to sql.ClauseParameters since it was just falling
apart, API made more explicit
- many unit test tweaks to adjust for bind params not being
"pre" truncated, changes to ClauseParameters
|
| |
|
|
| |
restructuredtext fixes throughout docstrings
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into a new set of methods available off of Query. These methods
all provide "generative" behavior, whereby the Query is copied
and a new one returned with additional criterion added.
The new methods include:
filter() - applies select criterion to the query
filter_by() - applies "by"-style criterion to the query
avg() - return the avg() function on the given column
join() - join to a property (or across a list of properties)
outerjoin() - like join() but uses LEFT OUTER JOIN
limit()/offset() - apply LIMIT/OFFSET
range-based access which applies limit/offset:
session.query(Foo)[3:5]
distinct() - apply DISTINCT
list() - evaluate the criterion and return results
no incompatible changes have been made to Query's API and no methods
have been deprecated. Existing methods like select(), select_by(),
get(), get_by() all execute the query at once and return results
like they always did. join_to()/join_via() are still there although
the generative join()/outerjoin() methods are easier to use.
- the return value for multiple mappers used with instances() now returns
a cartesian product of the requested list of mappers, represented
as a list of tuples. this corresponds to the documented behavior.
So that instances match up properly, the "uniquing" is disabled when
this feature is used.
- strings and columns can also be sent to the *args of instances() where
those exact result columns will be part of the result tuples.
- query() method is added by assignmapper. this helps with
navigating to all the new generative methods on Query.
|
| |
|
|
| |
like the rest of the SelectResults methods [ticket:472]
|
| |
|
|
|
|
| |
straight <pre> + trim() func
for now. applies most of [ticket:214], compliemnts of Lele Gaifax
|
| | |
|
| |
|
|
| |
[ticket:472]
|
| |
|
|
|
|
|
| |
- PropertyLoader figures out accurate remote_side collection based
on foreign_keys, legacy foreignkey, primary/secondaryjoin/polymorphic
- reworked lazyloader, sync to work straight off foreign_keys/
remote_side collections
|
| |
|
|
|
|
| |
options to
Table objects [ticket:462]
|
| |
|
|
|
|
| |
difference
when using count().
|