summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* renamed aggregatefilter to funcfilter, since it is thatIlja Everilä2014-09-111-1/+1
|
* implementation for <aggregate_fun> FILTER (WHERE ...)Ilja Everilä2014-09-101-0/+1
|
* - The :func:`~.expression.column` and :func:`~.expression.table`Mike Bayer2014-09-011-0/+2
| | | | | | | | | | | | | | | | | | | | | constructs are now importable from the "from sqlalchemy" namespace, just like every other Core construct. - The implicit conversion of strings to :func:`.text` constructs when passed to most builder methods of :func:`.select` as well as :class:`.Query` now emits a warning with just the plain string sent. The textual conversion still proceeds normally, however. The only method that accepts a string without a warning are the "label reference" methods like order_by(), group_by(); these functions will now at compile time attempt to resolve a single string argument to a column or label expression present in the selectable; if none is located, the expression still renders, but you get the warning again. The rationale here is that the implicit conversion from string to text is more unexpected than not these days, and it is better that the user send more direction to the Core / ORM when passing a raw string as to what direction should be taken. Core/ORM tutorials have been updated to go more in depth as to how text is handled. fixes #2992
* PEP8 style fixesBrian Jarrett2014-07-131-2/+3
|
* - break up the <authors> copyright comment as part of a passMike Bayer2014-07-091-1/+2
| | | | to get all flake8 passing
* - switch master to be 1.0Mike Bayer2014-05-231-1/+1
|
* - Added new flag :paramref:`.expression.between.symmetric`, when set to TrueMike Bayer2014-03-301-1/+1
| | | | | | | renders "BETWEEN SYMMETRIC". Also added a new negation operator "notbetween_op", which now allows an expression like ``~col.between(x, y)`` to render as "col NOT BETWEEN x AND y", rather than a parentheiszed NOT string. fixes #2990
* - More fixes to SQLite "join rewriting"; the fix from :ticket:`2967`Mike Bayer2014-02-201-1/+1
| | | | | | | | | | | | | | implemented right before the release of 0.9.3 affected the case where a UNION contained nested joins in it. "Join rewriting" is a feature with a wide range of possibilities and is the first intricate "SQL rewriting" feature we've introduced in years, so we're sort of going through a lot of iterations with it (not unlike eager loading back in the 0.2/0.3 series, polymorphic loading in 0.4/0.5). We should be there soon so thanks for bearing with us :). fixes #2969 re: #2967 - solve the issue of join rewriting inspecting various types of from objects without using isinstance(), by adding some new underscored inspection flags to the FromClause hierarchy.
* 0.9.3Mike Bayer2014-02-031-1/+1
|
* 0.9.2Mike Bayer2014-01-091-1/+1
|
* - happy new yearMike Bayer2014-01-051-1/+1
|
* 0.9.1Mike Bayer2014-01-051-1/+1
|
* - call it 0.9.0Mike Bayer2013-12-301-1/+1
|
* - Fixed bug where index reflection would mis-interpret indkey valuesMike Bayer2013-10-271-1/+1
| | | | | | when using the pypostgresql adapter, which returns these values as lists vs. psycopg2's return type of string. [ticket:2855]
* will call this 0.9.0b1Mike Bayer2013-10-261-1/+1
|
* An overhaul of expression handling for special symbols particularlyMike Bayer2013-10-231-0/+2
| | | | | | | | | | with conjunctions, e.g. ``None`` :func:`.expression.null` :func:`.expression.true` :func:`.expression.false`, including consistency in rendering NULL in conjunctions, "short-circuiting" of :func:`.and_` and :func:`.or_` expressions which contain boolean constants, and rendering of boolean constants and expressions as compared to "1" or "0" for backends that don't feature ``true``/``false`` constants. [ticket:2804]
* - apply an import refactoring to the ORM as wellMike Bayer2013-08-141-9/+11
| | | | | | | | | - rework the event system so that event modules load after their targets, dependencies are reversed - create an improved strategy lookup system for the ORM - rework the ORM to have very few import cycles - move out "importlater" to just util.dependency - other tricks to cross-populate modules in as clear a way as possible
* - A large refactoring of the ``sqlalchemy.sql`` package has reorganizedMike Bayer2013-08-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | the import structure of many core modules. ``sqlalchemy.schema`` and ``sqlalchemy.types`` remain in the top-level package, but are now just lists of names that pull from within ``sqlalchemy.sql``. Their implementations are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``, ``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was moved from ``sqlalchemy.engine``. ``sqlalchemy.sql.expression`` is also a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``, ``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``. Most of the "factory" functions used to create SQL expression objects have been moved to classmethods or constructors, which are exposed in ``sqlalchemy.sql.expression`` using a programmatic system. Care has been taken such that all the original import namespaces remain intact and there should be no impact on any existing applications. The rationale here was to break out these very large modules into smaller ones, provide more manageable lists of function names, to greatly reduce "import cycles" and clarify the up-front importing of names, and to remove the need for redundant functions and documentation throughout the expression package.
* ok forget it, that approach didn't really cover every base, soMike Bayer2013-08-041-0/+2
| | | | we are pretty much back to the beginning, nothing to see here
* - don't need resolve, don't need import for this. just look in sys.modules,Mike Bayer2013-08-041-2/+0
| | | | since we are dealing with cycles in any case.
* - version 0.9Mike Bayer2013-05-291-1/+1
| | | | - changelog, migration doc
* bumpMike Bayer2013-04-291-1/+1
|
* 0.8.1 bump + test, changelog for hstore fix [ticket:2680]Mike Bayer2013-03-181-1/+1
|
* version bumpMike Bayer2013-02-011-1/+1
|
* happy new year (see #2645)Diana Clarke2013-01-011-1/+1
|
* Fixed bug whereby the ".key" of a Column wasn't beingMike Bayer2012-10-311-1/+1
| | | | | | | used when producing a "proxy" of the column against a selectable. This probably didn't occur in 0.7 since 0.7 doesn't respect the ".key" in a wider range of scenarios. [ticket:2597]
* absolute imports in core, sqlMike Bayer2012-06-231-6/+6
|
* - [bug] Added BIGINT, BINARY, VARBINARY toMike Bayer2012-06-131-0/+3
| | | | | | | types.__all__, sqlalchemy namespaces, plus tests to make sure new types remain importable. [ticket:2499]
* - remove sqlsoup [ticket:2262]Mike Bayer2012-04-241-2/+0
| | | | - remove sqlalchemy.exceptions [ticket:2433]
* merge patch for [ticket:2208]. This still needs documentation.Mike Bayer2012-04-231-3/+5
|\
| * begin implementing inspection system for #2208Mike Bayer2012-04-031-3/+5
| |
* | 0.8 initial prepMike Bayer2012-04-221-1/+1
|/
* - 0.7.7Mike Bayer2012-03-201-1/+1
| | | | | | | | - [feature] Added prefix_with() method to Query, calls upon select().prefix_with() to allow placement of MySQL SELECT directives in statements. Courtesy Diana Clarke [ticket:2443]
* this is 0.7.6..Mike Bayer2012-02-291-1/+1
|
* date change; hook testMike Bayer2012-01-041-2/+2
|
* 0.7.5 versMike Bayer2011-12-111-1/+1
|
* - Fixed bug in history_meta.py example whereMike Bayer2011-10-171-1/+1
| | | | | | the "unique" flag was not removed from a single-table-inheritance subclass which generates columns to put up onto the base.
* - Adjusted the "importlater" mechanism, which isMike Bayer2011-09-211-0/+3
| | | | | | | | | used internally to resolve import cycles, such that the usage of __import__ is completed when the import of sqlalchemy or sqlalchemy.orm is done, thereby avoiding any usage of __import__ after the application starts new threads, fixes [ticket:2279]. Also in 0.6.9.
* - Added after_soft_rollback() Session event. ThisMike Bayer2011-08-011-1/+1
| | | | | | | | | | | | event fires unconditionally whenever rollback() is called, regardless of if an actual DBAPI level rollback occurred. This event is specifically designed to allow operations with the Session to proceed after a rollback when the Session.is_active is True. [ticket:2241] - SessionTransaction is mentioned in public docs, many more docstrings for events etc. otherwise
* - Adjusted the pyodbc dialect such that boundMike Bayer2011-06-061-1/+1
| | | | | | | | | values are passed as bytes and not unicode if the "Easysoft" unix drivers are detected. This is the same behavior as occurs with FreeTDS. Easysoft appears to segfault if Python unicodes are passed under certain circumstances.
* - move Operators and ColumnOperators into sqlalchemy.sql.operators - since thisMike Bayer2011-05-281-1/+1
| | | | | is strictly a system of routing Python operators into functions. Keep the references available in expression.py for the near future.
* move version to 0.7.0Mike Bayer2011-05-201-1/+1
|
* - Fixed regression introduced in 0.7b4 (!) wherebyMike Bayer2011-04-171-1/+1
| | | | | | | | | | | | | | | query.options(someoption("nonexistent name")) would fail to raise an error. Also added additional error catching for cases where the option would try to build off a column-based element, further fixed up some of the error messages tailored in [ticket:2069] - added another huge crapload of tests to the existing crapload of tests we already had for options..._get_paths() and dependencies are covered 100% now - one case still doesn't do the "right" thing, using an option specific to relationships will silently pass if the endpoint is a column-based attribute, and vice versa.
* - REAL has been added to the core types. SupportedMike Bayer2011-04-051-0/+1
| | | | | | | by Postgresql, SQL Server, MySQL, SQLite. Note that the SQL Server and MySQL versions, which add extra arguments, are also still available from those dialects. [ticket:2081]
* - Restored the "catchall" constructor on the baseMike Bayer2011-03-211-1/+1
| | | | | | TypeEngine class, with a deprecation warning. This so that code which does something like Integer(11) still succeeds.
* - Added a fully descriptive error message for theMike Bayer2011-02-281-1/+1
| | | | | | | case where Column is subclassed and _make_proxy() fails to make a copy due to TypeError on the constructor. The method _constructor should be implemented in this case.
* 0.7b2rel_0_7b2Mike Bayer2011-02-191-1/+1
|
* - remove some remaining sys.modules shenanigansrel_0_7b1Mike Bayer2011-02-121-1/+0
| | | | | | | | | - The "sqlalchemy.exceptions" alias in sys.modules has been removed. Base SQLA exceptions are available via "from sqlalchemy import exc". The "exceptions" alias for "exc" remains in "sqlalchemy" for now, it's just not patched into sys.modules.
* - Added over() function, method to FunctionElementMike Bayer2011-02-101-0/+1
| | | | | | | | classes, produces the _Over() construct which in turn generates "window functions", i.e. "<window function> OVER (PARTITION BY <partition by>, ORDER BY <order by>)". [ticket:1844]
* - A TypeDecorator of Integer can be used with a primary keyMike Bayer2011-01-111-0/+1
| | | | | | | | | | | | | | | | | | | column, and the "autoincrement" feature of various dialects as well as the "sqlite_autoincrement" flag will honor the underlying database type as being Integer-based. [ticket:2005] - Result-row processors are applied to pre-executed SQL defaults, as well as cursor.lastrowid, when determining the contents of result.inserted_primary_key. [ticket:2006] - Bind parameters present in the "columns clause" of a select are now auto-labeled like other "anonymous" clauses, which among other things allows their "type" to be meaningful when the row is fetched, as in result row processors. - TypeDecorator is present in the "sqlalchemy" import space.