summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
Commit message (Collapse)AuthorAgeFilesLines
...
* - added "fetchmany()" support to ResultProxyMike Bayer2007-01-111-0/+13
|
* - postgres no longer uses client-side cursors, uses more efficient server sideMike Bayer2007-01-102-2/+7
| | | | | cursors via apparently undocumented psycopg2 behavior recently discovered on the mailing list. disable it via create_engine('postgres://', client_side_cursors=True)
* copyright updateMike Bayer2007-01-052-2/+2
|
* - fix to connection pool _close() to properly clean up, fixesMike Bayer2006-12-081-1/+1
| | | | MySQL synchronization errors [ticket:387]
* oops, KeyError fix for [ticket:380]Mike Bayer2006-11-291-1/+1
|
* fixed has_key exception to be KeyError [ticket:380]Mike Bayer2006-11-291-1/+1
|
* - made kwargs parsing to Table strict; removed various obsoluete ↵Mike Bayer2006-11-261-3/+24
| | | | | | | | | | | "redefine=True" kw's from the unit tests - documented instance variables in ANSICompiler - fixed [ticket:120], adds "inline_params" set to ANSICompiler which DefaultDialect picks up on when determining defaults. added unittests to query.py - additionally fixed up the behavior of the "values" parameter on _Insert/_Update - more cleanup to sql/Select - more succinct organization of FROM clauses, removed silly _process_from_dict methods and JoinMarker object
* [ticket:374] [ticket:377] [ticket:375], small fix to mutable types unit testMike Bayer2006-11-211-1/+1
|
* - create_engine() reworked to be strict about incoming **kwargs. all keywordMike Bayer2006-11-123-48/+72
| | | | | | arguments must be consumed by one of the dialect, connection pool, and engine constructors, else a TypeError is thrown which describes the full set of invalid kwargs in relation to the selected dialect/pool/engine configuration.
* - fixed direct execution of Compiled objectsMike Bayer2006-10-311-1/+1
|
* converted imports to absoluteMike Bayer2006-10-264-10/+9
|
* docs about objects not being threadsafeMike Bayer2006-10-221-2/+6
|
* - attributes module and test suite moves underneath 'orm' packageMike Bayer2006-10-221-4/+7
| | | | | | | | | | | | | - fixed table comparison example in metadata.txt - docstrings all over the place - renamed mapper _getattrbycolumn/_setattrbycolumn to get_attr_by_column,set_attr_by_column - removed frommapper parameter from populate_instance(). the two operations can be performed separately - fix to examples/adjacencytree/byroot_tree.py to fire off lazy loaders upon load, to reduce query calling - added get(), get_by(), load() to MapperExtension - re-implemented ExtensionOption (called by extension() function) - redid _ExtensionCarrier to function dynamically based on __getattribute__ - added logging to attributes package, indicating the execution of a lazy callable - going to close [ticket:329]
* reorganizing classnames a bit, flagging "private" classes in the sql package,Mike Bayer2006-10-173-8/+8
| | | | | getting the generated docs to look a little nicer. fixes to extensions, sqlsoup etc. to be compatible with recent API tweaks
* docstrings etcMike Bayer2006-10-161-17/+65
|
* doc stuff regarding engine strategiesMike Bayer2006-10-151-1/+1
|
* - ForeignKey(Constraint) supports "use_alter=True", to create/drop a foreign keyMike Bayer2006-10-151-1/+1
| | | | via ALTER. this allows circular foreign key relationships to be set up.
* - a fair amount of cleanup to the schema package, removal of ambiguousMike Bayer2006-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | methods, methods that are no longer needed. slightly more constrained useage, greater emphasis on explicitness. - table_iterator signature fixup, includes fix for [ticket:288] - the "primary_key" attribute of Table and other selectables becomes a setlike ColumnCollection object; is no longer ordered or numerically indexed. a comparison clause between two pks that are derived from the same underlying tables (i.e. such as two Alias objects) can be generated via table1.primary_key==table2.primary_key - append_item() methods removed from Table and Column; preferably construct Table/Column/related objects inline, but if needed use append_column(), append_foreign_key(), append_constraint(), etc. - table.create() no longer returns the Table object, instead has no return value. the usual case is that tables are created via metadata, which is preferable since it will handle table dependencies. - added UniqueConstraint (goes at Table level), CheckConstraint (goes at Table or Column level) fixes [ticket:217] - index=False/unique=True on Column now creates a UniqueConstraint, index=True/unique=False creates a plain Index, index=True/unique=True on Column creates a unique Index. 'index' and 'unique' keyword arguments to column are now boolean only; for explcit names and groupings of indexes or unique constraints, use the UniqueConstraint/Index constructs explicitly. - relationship of Metadata/Table/SchemaGenerator/Dropper has been improved so that the schemavisitor receives the metadata object for greater control over groupings of creates/drops. - added "use_alter" argument to ForeignKey, ForeignKeyConstraint, but it doesnt do anything yet. will utilize new generator/dropper behavior to implement.
* added docstrings for url, added to compiled documentationMike Bayer2006-10-121-4/+32
|
* oops, double row echo removedMike Bayer2006-10-121-2/+0
|
* added debug-level row echoing to RowProxy (moved from ResultProxy)Mike Bayer2006-10-121-2/+2
|
* - ResultProxy.fetchall() internally uses DBAPI fetchall() for better ↵Mike Bayer2006-10-121-5/+4
| | | | | | efficiency, added to mapper iteration as well (courtesy Michael Twomey)
* - added auto_setinputsizes=False to oracle dialect. if true, all executions ↵Mike Bayer2006-10-031-2/+2
| | | | | | will get setinputsizes called ahead of time. - some tweaks to the types unittest for oracle. oracle types still need lots more work.
* - removed "extension()" MapperOptionMike Bayer2006-10-031-0/+23
| | | | | | | - TypeEngine objects can report on DBAPI types - added set_input_sizes() to default dialect - oracle dialect gets Timestamp type added, may need to call set_input_sizes() to make it work with sub-second resolution [ticket:304]
* - merged loader_strategies branch into trunk.Mike Bayer2006-10-031-2/+6
| | | | | | | | | | | - this is a wide refactoring to "attribute loader" and "options" architectures. ColumnProperty and PropertyLoader define their loading behaivor via switchable "strategies", and MapperOptions no longer use mapper/property copying in order to function; they are instead propigated via QueryContext and SelectionContext objects at query/instnaces time. All of the copying of mappers and properties that was used to handle inheritance as well as options() has been removed and the structure of mappers and properties is much simpler and more clearly laid out.
* raise proper AttributeErrorMike Bayer2006-09-281-2/+2
|
* - pool will auto-close open cursors, or can be configured to raise an error ↵Mike Bayer2006-09-281-12/+9
| | | | | | | | instead - consolidated scalar() calls into ResultProxy scalar(), fixed ResultProxy scalar() to apply typing rules - general de-cruftification of ClauseElement/Compiled (yes i know theres crufty things everywhere)
* doc edits, moved object display in uowdumper to be hex, fixed test runner in ↵Mike Bayer2006-09-251-1/+1
| | | | parseconnect
* - logging is now implemented via standard python "logging" module.Mike Bayer2006-09-241-18/+17
| | | | | | | | | | | | | "echo" keyword parameters are still functional but set/unset log levels for their respective classes/instances. all logging can be controlled directly through the Python API by setting INFO and DEBUG levels for loggers in the "sqlalchemy" namespace. class-level logging is under "sqlalchemy.<module>.<classname>", instance-level logging under "sqlalchemy.<module>.<classname>.<hexid>". Test suite includes "--log-info" and "--log-debug" arguments which work independently of --verbose/--quiet. Logging added to orm to allow tracking of mapper configurations, row iteration fixes [ticket:229] [ticket:79]
* descriptive error message when an executioncontext-requiring call is called ↵Mike Bayer2006-09-231-4/+11
| | | | off a ResultProxy which was created via literal statement execution and therefore does not have an execution context.
* added scalar() to ResultProxyMike Bayer2006-09-231-2/+15
|
* - connection pool tracks open cursors and raises an error if connectionMike Bayer2006-09-231-1/+2
| | | | | is returned to pool with cursors still opened. fixes issues with MySQL, others
* - added an implicit close() on the cursor in ResultProxyMike Bayer2006-09-141-0/+5
| | | | | when the result closes - added scalar() method to ComposedSQLEngine
* moved "c.name" to "c.key" for processing defaults since bind params use ↵Mike Bayer2006-09-121-6/+6
| | | | column key
* - fixed bug where Connection wouldnt lose its TransactionMike Bayer2006-09-121-0/+2
| | | | after commit/rollback
* - changed "invalidate" semantics with pooled connection; willMike Bayer2006-08-261-1/+2
| | | | | | | | | instruct the underlying connection record to reconnect the next time its called. "invalidate" will also automatically be called if any error is thrown in the underlying call to connection.cursor(). this will hopefully allow the connection pool to reconnect to a database that had been stopped and started without restarting the connecting application [ticket:121]
* - cleanup on connection methods + documentation. custom DBAPIMike Bayer2006-08-252-37/+39
| | | | | | | | | | arguments specified in query string, 'connect_args' argument to 'create_engine', or custom creation function via 'creator' function to 'create_engine'. - added "recycle" argument to Pool, is "pool_recycle" on create_engine, defaults to 3600 seconds; connections after this age will be closed and replaced with a new one, to handle db's that automatically close stale connections [ticket:274]
* - urls support escaped characters in passwords [ticket:281]Mike Bayer2006-08-221-1/+4
|
* [ticket:280] statement execution supports using the same BindParamMike Bayer2006-08-181-2/+2
| | | | | object more than once in an expression; simplified handling of positional parameters. nice job by Bill Noon figuring out the basic idea.
* [ticket:277] check if pg/oracle sequence exists. checks in all cases before ↵Mike Bayer2006-08-161-0/+2
| | | | CREATE SEQUENCE/ DROP SEQUENCE
* moved rollback catch to mysql module...Mike Bayer2006-08-101-4/+1
|
* fix mysql borkageJonathan Ellis2006-08-101-1/+4
|
* all create()/drop() calls have a keyword argument of "connectable".Mike Bayer2006-08-091-1/+1
| | | | "engine" is deprecated. fixes [ticket:255]
* added 'checkfirst' argument to table.create()/table.drop()Mike Bayer2006-07-191-1/+1
| | | | some 0.2.6 prep
* deferred column load could screw up the connection status inMike Bayer2006-07-141-5/+9
| | | | a flush() under some circumstances, this was fixed
* DB connection errors wrapped in DBAPIErrorsMike Bayer2006-07-131-1/+6
|
* adjument to regexp for parsing courtesy Barry WarsawMike Bayer2006-07-101-2/+2
|
* removed debug lineMike Bayer2006-07-071-1/+1
|
* got MS-SQL support largely working, including reflection, basic types, fair ↵Mike Bayer2006-07-012-1/+4
| | | | | | amount of ORM stuff, etc. 'rowcount' label is reseved in MS-SQL and had to change in sql.py count() as well as orm.query
* identified another TLTransaction scenario, and adjusted ↵Mike Bayer2006-06-221-6/+7
| | | | TLConnection/TLSession to fix this as well (reverted previous change, and overriding in_transaction() instead)