summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
Commit message (Collapse)AuthorAgeFilesLines
...
* - classical mappingsMike Bayer2011-08-071-1/+1
| | | | | - break out eager loads add contains eager again - edits
* - rework tutorial to be all declarative, all the timeMike Bayer2011-08-062-0/+12
| | | | - add detail to declarative docs about base classes
* - Context manager provided by Connection.begin()Mike Bayer2011-07-121-2/+5
| | | | | will issue rollback() if the commit() fails, not just if an exception occurs.
* - fix up the invalidate on connect for py3kMike Bayer2011-07-061-2/+6
| | | | - fix the test for separately installed pysqlite
* - fix pypostgresql typo, [ticket:2185]Mike Bayer2011-07-041-11/+22
| | | | | | | | | | | | | | | | | | - rewrite "getting a session" docs to delineate all sessionmaker() use cases distinctly - rewrite "Managing Transactions" doc to spell out each specific step completely, [ticket:2204] - add to create_engine() and main "engine" doc an unambiguous statement that the create_engine() does not create a connection - other link fixes - rewrite "deleting" section so that "deleting from collections" is separate, well-described, [ticket:2202] - rephrase "autocommit mode" into its own section, move it down, put some bold text that you shouldn't be using it. - simplify the "subtransactions" section and make it local to "autocommit" since it is utterly unneeded by anybody. - oracle is not doing 2-phase anytime soon
* - Failures on connect which raise dbapi.ErrorMike Bayer2011-07-011-1/+2
| | | | | | | | | | | | will forward the error to dialect.is_disconnect() and set the "connection_invalidated" flag if the dialect knows this to be a potentially "retryable" condition. Only Oracle ORA-01033 implemented for now. [ticket:2201] - Added ORA-01033 to disconnect codes, which can be caught during a connection event. [ticket:2201]
* - add docs about not using text() with session.execute()Mike Bayer2011-06-231-15/+56
| | | | - rewrite connection.execute() documentation.
* - Use urllib.parse_qsl() in Python 2.6 and above,Mike Bayer2011-06-211-4/+4
| | | | | no deprecation warning about cgi.parse_qsl() [ticket:1682]
* - Adjusted the __contains__() method ofMike Bayer2011-06-041-8/+8
| | | | | | | | | a RowProxy result row such that no exception throw is generated internally; NoSuchColumnError() also will generate its message regardless of whether or not the column construct can be coerced to a string. [ticket:2178]. Also in 0.6.8.
* - Unit tests pass 100% on MySQL installedMike Bayer2011-06-021-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | on windows, after aggressive exclusion of a wide variety of tests. Not clear to what degree the failures are related to version 5.5 vs. the usage of windows, in particular the ON UPDATE CASCADE immediately crashes the server. The features being tested here are all edge cases not likely to be used in typical MySQL environments. - Removed the "adjust casing" step that would fail when reflecting a table on MySQL on windows with a mixed case name. After some experimenting with a windows MySQL server, it's been determined that this step wasn't really helping the situation much; MySQL does not return FK names with proper casing on non-windows platforms either, and removing the step at least allows the reflection to act more like it does on other OSes. A warning here has been considered but its difficult to determine under what conditions such a warning can be raised, so punted on that for now - added some docs instead. [ticket:2181] - supports_sane_rowcount will be set to False if using MySQLdb and the DBAPI doesn't provide the constants.CLIENT module.
* - Deprecate schema/SQL-oriented methods onMike Bayer2011-06-022-49/+265
| | | | | | | Connection/Engine that were never well known and are redundant: reflecttable(), create(), drop(), text(), engine.func - lots of docstrings in engine
* - metadata.reflect() and reflection.Inspector()Mike Bayer2011-04-231-4/+5
| | | | | | had some reliance on GC to close connections which were internally procured, fixed this. - added --zero-timeout option to nose fixture, sets pool_timeout to zero
* grumpy fixMike Bayer2011-04-221-6/+20
|
* - move documentation of available execution options to Connection - this is ↵Mike Bayer2011-04-171-3/+38
| | | | | | | | | | the main place these should be used - Executable disallows "compiled_cache" option for now which was previously being ignored [ticket:2131] - Query now passes execution options to the Connection rather than the statement so that all options are allowed including compiled cache.
* - assume in py3k that description encoding is None unless the dialect reallyMike Bayer2011-04-081-7/+7
| | | | | overrides it - psycopg2 + 3k supports unicode statements...
* - adjust the previous checkin a bit. need to transfer sequences over from ↵Mike Bayer2011-03-231-2/+2
| | | | | | | | | | pickle even if they are *not* restated. its necessary here to do a "replacement" scheme when an incoming sequence replaces the previous. Theoretically we could do what Table does here, i.e. use a singleton constructor, but this is heavyhanded. The most recent sequence placed in is the winner is likely the most expected behavior.
* - some doc reorgMike Bayer2011-03-172-25/+25
| | | | | | | | | | - change engine.Connection to _connection_cls so sphinx doesn't get upset - globally add "." to all :class:`Foo` - start naming sections that are mostly docstrings "API Documentation - blah blah" - move some ad-hoc docstrings into "API" sections, there is some inconsistency here and it may be that we just have to leave it that way - add "internals" rsts to core, orm, I'm not super thrilled how these look but they are targeted by some of the public api docs, users typically become aware of these anyway
* - Added accessors to ResultProxy "returns_rows", "is_insert"Mike Bayer2011-03-161-0/+26
| | | | [ticket:2089]
* initial work on column reflectMike Bayer2011-03-141-4/+5
|
* corrected a bunch of spelling typosDiana Clarke2011-02-281-1/+1
|
* see #2060Diana Clarke2011-02-281-1/+2
|
* - rename EngineEvents to ConnectionEventsMike Bayer2011-02-173-134/+112
| | | | | | | | - simplify connection event model to be inline inside Connection, don't use ad-hoc subclasses (technically would leak memory for the app that keeps creating engines and adding events) - not doing listen-per-connection yet. this is closer. overall things are much simpler now (until we put listen-per-connection in...)
* - The Sequence() construct, when passed a MetaData()Mike Bayer2011-02-131-30/+72
| | | | | | | object via its 'metadata' argument, will be included in CREATE/DROP statements within metadata.create_all() and metadata.drop_all(), including "checkfirst" logic. [ticket:2055]
* - Added over() function, method to FunctionElementMike Bayer2011-02-101-0/+8
| | | | | | | | 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]
* - py3k fix regarding new exception systemMike Bayer2011-02-091-1/+1
| | | | | - this test keeps throwing a TNS error on Oracle on the buildbot only, runs locally, seems to be related to some scaling/memory type of issue on the bot
* - Non-DBAPI errors which occur in the scope of an `execute()`Mike Bayer2011-02-093-13/+29
| | | | | | | | call are now wrapped in sqlalchemy.exc.StatementError, and the text of the SQL statement and repr() of params is included. This makes it easier to identify statement executions which fail before the DBAPI becomes involved. [ticket:2015]
* - add connection and cursor to is_disconnect(). We aren't using it yet,Mike Bayer2011-02-092-3/+3
| | | | | | | | | | | | | | | but we'd like to. Most DBAPIs don't give us anything we can do with it. Some research was done on psycopg2 and it still seems like they give us no adequate method (tried connection.closed, cursor.closed, connection.status). mxodbc claims their .closed attribute will work (but I am skeptical). - remove beahvior in pool that auto-invalidated a connection when the cursor failed to create. That's not the pool's job. we need the conn for the error logic. Can't get any tests to fail, curious why that behavior was there, guess we'll find out (or not). - add support for psycopg2 version detection. even though we have no use for it yet... - adjust one of the reconnect tests to work with oracle's horrendously slow connect speed
* - apply optimizations to alternate row proxies, [ticket:1787]Mike Bayer2011-02-041-11/+23
| | | | | | | - add check to fetchmany() for None, don't send argument if not present, helps DBAPIs which don't accept "None" for default (ie. pysqlite, maybe others) - add tests to test_execute to provide 100% coverage for the three alternate result proxy classes
* - new dialect for Drizzle [ticket:2003]Mike Bayer2011-01-261-0/+1
| | | | - move mysqldb to a connector, can be shared among mysql/drizzle
* rename 'frozendict' to 'immutabledict', since 'frozen' implies hashabilityMike Bayer2011-01-201-1/+1
| | | | | like frozenset which isn't really the purpose of 'immutabledict' (could be someday, in which case, we'd change the name back :) )
* - execution_options() on Connection acceptsMike Bayer2011-01-161-4/+38
| | | | | | | | | | "isolation_level" argument, sets transaction isolation level for that connection only until returned to the connection pool, for thsoe backends which support it (SQLite, Postgresql) [ticket:2001] - disallow the option on Engine (use isolation_level to create_engine()), Executable (we don't want to check/set per statement) - docs
* - default_isolation_level is equal to isolation_level since it'sMike Bayer2011-01-161-4/+4
| | | | detected after the initial setting
* - add dialect.reset_isolation_level(), revertsMike Bayer2011-01-162-0/+26
| | | | - base not implemented methods on Dialect
* - getting slightly more consistent behavior for the edge case of pk columnsMike Bayer2011-01-153-6/+25
| | | | | | with server default - autoincrement is now false with any server_default, so these all return None, applies consistency to [ticket:2020], [ticket:2021]. if prefetch is desired a "default" should be used instead of server_default.
* - the _pk_processors/_prefetch_processors approach relied upon calling RPs ↵Mike Bayer2011-01-151-26/+33
| | | | | | | | without a cursor.description result, also generates procs that are not used in most cases. simplify the approach by passing type to _exec_default() to be used if needed by _execute_scalar(), looking for the proc on just t._autoincrement_column in post_insert().
* - A TypeDecorator of Integer can be used with a primary keyMike Bayer2011-01-112-19/+31
| | | | | | | | | | | | | | | | | | | 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.
* crappy docs, lets try that againMike Bayer2011-01-081-9/+8
|
* - merge r43460573c27a:4993c7eae8e5d117ff342bdc59f3b0635b898e2c of 0.6 branchMike Bayer2011-01-082-0/+22
|
* - whitespace removal bonanzaMike Bayer2011-01-028-316/+316
|
* - clean up copyright, update for 2011, stamp every file withMike Bayer2011-01-028-4/+28
| | | | | a consistent tag - AUTHORS file
* - removes the "on_" prefix.Mike Bayer2010-12-303-26/+26
|
* - they don't want "on_". First step, change the naming convention on EventsMike Bayer2010-12-301-2/+2
| | | | so that non-events are just _name.
* py3k fixesMike Bayer2010-12-271-1/+2
|
* - another heap of inlinings and now I really have to be done with thisMike Bayer2010-12-212-10/+17
|
* - apply pep8 to compiler.pyMike Bayer2010-12-211-4/+7
| | | | | - deprecate Compiled.compile() - have __init__ do compilation if statement is present.
* more inlinesMike Bayer2010-12-192-37/+50
|
* establish default for returns_unicode_strings in py3kMike Bayer2010-12-191-0/+2
|
* - duh, compiled is per dialectMike Bayer2010-12-191-1/+1
|
* - fixes for mysql and I'm ready to replace this whole adapt() business with ↵Mike Bayer2010-12-141-2/+4
| | | | a constructor copy
* - system to cache the bind/result processors in a dialect-wide registry.Mike Bayer2010-12-131-1/+4
| | | | its an idea with pointy edges.