summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Accept unicode in CascadeOptionspr/160Julien Castets2015-03-162-2/+10
|
* - remove now-misleading comment that SQLite doesn't support MATCH,Mike Bayer2015-03-141-2/+4
| | | | since they've apparently added something for it
* 1.0.0b1rel_1_0_0b1Mike Bayer2015-03-132-2/+3
|
* - add notes for prerelease installMike Bayer2015-03-131-11/+11
|
* - call this 1.0.0b1Mike Bayer2015-03-135-119/+119
|
* - tweaks regarding the use_alter updateMike Bayer2015-03-132-6/+3
|
* - ensure as_declarative is part of __all__ hereMike Bayer2015-03-121-0/+1
|
* - repair forwards-port directivesMike Bayer2015-03-121-0/+14
|
* - fix a get call here, we should figure this out since we dont wantMike Bayer2015-03-121-1/+1
| | | | to be using getattr
* - add the fact that we can cache the sql naively as wellMike Bayer2015-03-121-5/+33
|
* - fix quantize recipe, fixes #3322Mike Bayer2015-03-121-1/+1
|
* - add a rationale sectionMike Bayer2015-03-121-0/+141
|
* - try to document how to get columns from constraints.Mike Bayer2015-03-123-3/+16
| | | | | unfortunately Sphinx refuses to work correctly for the columns attribute so we just add a lame message to contains_column().
* - Added a new extension suite :mod:`sqlalchemy.ext.baked`. ThisMike Bayer2015-03-1118-132/+1781
| | | | | | | | simple but unusual system allows for a dramatic savings in Python overhead for the construction and processing of orm :class:`.Query` objects, from query construction up through rendering of a string SQL statement. fixes #3054
* - Added a new entry ``"entity"`` to the dictionaries returned byMike Bayer2015-03-113-14/+43
| | | | | | | | | :attr:`.Query.column_descriptions`. This refers to the primary ORM mapped class or aliased class that is referred to by the expression. Compared to the existing entry for ``"type"``, it will always be a mapped entity, even if extracted from a column expression, or None if the given expression is a pure core expression. references #3320
* - The Postgresql :class:`.postgresql.ENUM` type will emit aMike Bayer2015-03-118-41/+310
| | | | | | | | | | | | DROP TYPE instruction when a plain ``table.drop()`` is called, assuming the object is not associated directly with a :class:`.MetaData` object. In order to accomodate the use case of an enumerated type shared between multiple tables, the type should be associated directly with the :class:`.MetaData` object; in this case the type will only be created at the metadata level, or if created directly. The rules for create/drop of Postgresql enumerated types have been highly reworked in general. fixes #3319
* - Added a new event suite :class:`.QueryEvents`. TheMike Bayer2015-03-105-7/+125
| | | | | | | | | | | :meth:`.QueryEvents.before_compile` event allows the creation of functions which may place additional modifications to :class:`.Query` objects before the construction of the SELECT statement. It is hoped that this event be made much more useful via the advent of a new inspection system that will allow for detailed modifications to be made against :class:`.Query` objects in an automated fashion. fixes #3317
* - The subquery wrapping which occurs when joined eager loadingMike Bayer2015-03-105-13/+104
| | | | | | | | | is used with a one-to-many query that also features LIMIT, OFFSET, or DISTINCT has been disabled in the case of a one-to-one relationship, that is a one-to-many with :paramref:`.relationship.uselist` set to False. This will produce more efficient queries in these cases. fixes #3249
* - Fixed bug where the session attachment error "object is alreadyMike Bayer2015-03-103-8/+36
| | | | | | | attached to session X" would fail to prevent the object from also being attached to the new session, in the case that execution continued after the error raise occurred. fixes #3301
* - Fixed bug where using an ``__abstract__`` mixin in the middleMike Bayer2015-03-103-0/+71
| | | | | | | of a declarative inheritance hierarchy would prevent attributes and configuration being correctly propagated from the base class to the inheriting class. fixes #3219 fixes #3240
* - keep this as 100Mike Bayer2015-03-101-1/+1
|
* - feature, not enhancementMike Bayer2015-03-101-1/+1
|
* - 0.9.9 changelog updateMike Bayer2015-03-101-0/+1
|
* - copyright 2015Mike Bayer2015-03-10170-171/+171
|
* - repair doclevelMike Bayer2015-03-101-1/+1
|
* - changelog and docs for pullreq bitbucket:45Mike Bayer2015-03-102-0/+30
|
* Merge branch 'postgres-concurrently' of ↵Mike Bayer2015-03-102-2/+19
|\ | | | | | | https://bitbucket.org/iurisilvio/sqlalchemy into pr45
| * Dialect option `postgresql_concurrently` to `Index` construct.Iuri de Silvio2015-02-252-2/+19
| |
* | Fix dependencies for running coverage checksGilles Dartiguelongue2015-03-101-1/+3
| |
* | - changelog for pr github:154Mike Bayer2015-03-101-0/+8
| |
* | Fix slice addressing of _AssociationList with python3Gilles Dartiguelongue2015-03-102-1/+20
| |
* | - changelog / doc for sqlite partial indexesMike Bayer2015-03-102-0/+31
| |
* | Merge branch 'sqlite-partial-indexes' of ↵Mike Bayer2015-03-102-3/+38
|\ \ | | | | | | | | | https://bitbucket.org/groner/sqlalchemy into pr42
| * | Partial index support with sqlite dialects.Kai Groner2015-01-261-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://www.sqlite.org/partialindex.html > Partial indexes have been supported in SQLite since version 3.8.0. Reflection does not expose the predicate of partial indexes. The postgresql dialect does detect such indexes and issue a warning. I looked into matching this level of support, but the sqlite pragma index_info does not expose the predicate. Getting this data would probably require parsing the CREATE INDEX statement from sqlite_master.
| * | Test for partial index support in sqlite dialects.Kai Groner2015-01-261-1/+22
| | |
* | | - updated countsMike Bayer2015-03-091-137/+137
| | |
* | | - fix a potential race condition where the per-mapper LRUCache used byMike Bayer2015-03-091-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | persistence.py could theoretically hit the limit of the cache (100 items by default) and at some points fail to have a key that we check for, due to the cleanup. This has never been observed so its likely that so far, the total number of INSERT, UPDATE and DELETE statement structures in real apps has not exceeded 100 on a per-mapper basis; this could happen for apps that run a very wide variety of attribute modified combinations into the unit of work, *and* which have very high concurrency going on. This change will be a lot more significant when we open up use of LRUCache + compiled cache with the baked query extension.
* | | - reduce some callcounts related to the lightweight tuple,Mike Bayer2015-03-091-29/+56
| | | | | | | | | | | | | | | | | | basically by caching them. - improve LRUCache so that size management only proceeds in one thread, add a real get() method
* | | - add a callers optionMike Bayer2015-03-091-1/+7
| | |
* | | - pick around gaining modest dings in callcounts here and thereMike Bayer2015-03-097-126/+146
| | |
* | | - start locking down querying for cols after observing yesterdaysMike Bayer2015-03-092-196/+361
| | | | | | | | | | | | | | | callcount bump due to the slots thing - rewrite profiles using new technique
* | | - we really don't want to force lib here, but we do needMike Bayer2015-03-093-4/+31
| | | | | | | | | | | | | | | it for the plain "pytest" case, so do an append instead of an insert - add a new tox file to do a full regen of callcounts
* | | - random performance whacking vs. 0.9, in particular we have to watchMike Bayer2015-03-086-26/+33
| | | | | | | | | | | | for the slots-based __getattr__ thing getting hit
* | | - add this for testingMike Bayer2015-03-081-0/+109
| | |
* | | - fix some more result_map callsMike Bayer2015-03-083-14/+14
| | |
* | | - rename _select_wrapsMike Bayer2015-03-084-16/+96
| | | | | | | | | | | | | | | - replace force_result_map with a mini-API for nested result sets, add coverage
* | | fooMike Bayer2015-03-089-69/+69
| | |
* | | - the change for #918 was of course not nearly that simple.Mike Bayer2015-03-076-42/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "wrapping" employed by the mssql and oracle dialects using the "iswrapper" argument was not being used intelligently by the compiler, and the result map was being written incorrectly, using *more* columns in the result map than were actually returned by the statement, due to "row number" columns that are inside the subquery. The compiler now writes out result map on the "top level" select in all cases fully, and for the mssql/oracle wrapping case extracts out the "proxied" columns in a second step, which only includes those columns that are proxied outwards to the top level. This change might have implications for 3rd party dialects that might be imitating oracle's approach. They can safely continue to use the "iswrapper" kw which is now ignored, but they may need to also add the _select_wraps argument as well.
* | | - do a full rewrite of callcountsMike Bayer2015-03-071-94/+93
| | |
* | | - The SQL compiler now generates the mapping of expected columnspositional_targetingMike Bayer2015-03-077-92/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | such that they are matched to the received result set positionally, rather than by name. Originally, this was seen as a way to handle cases where we had columns returned with difficult-to-predict names, though in modern use that issue has been overcome by anonymous labeling. In this version, the approach basically reduces function call count per-result by a few dozen calls, or more for larger sets of result columns. The approach still degrades into a modern version of the old approach if textual elements modify the result map, or if any discrepancy in size exists between the compiled set of columns versus what was received, so there's no issue for partially or fully textual compilation scenarios where these lists might not line up. fixes #918 - callcounts still need to be adjusted down for this so zoomark tests won't pass at the moment