summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
Commit message (Collapse)AuthorAgeFilesLines
* - fixed "ambiguous column" result detection, when dupe col names existMike Bayer2007-07-151-1/+1
| | | | in a result [ticket:657]
* more query methods, overhauliung docs for forwards 0.4 methodMike Bayer2007-07-151-5/+3
|
* better error message for NoSuchColumnError, fix ticket #607Ants Aasma2007-06-261-1/+1
|
* - significant speed improvement to ResultProxy, pre-cachesMike Bayer2007-05-311-5/+8
| | | | | | TypeEngine dialect implementations and saves on function calls per column. drops the masseagerload test from 80K function calls to 66K
* - parenthesis are applied to clauses via a new _Grouping construct.Mike Bayer2007-05-141-1/+1
| | | | | | | | uses operator precedence to more intelligently apply parenthesis to clauses, provides cleaner nesting of clauses (doesnt mutate clauses placed in other clauses, i.e. no 'parens' flag) - added 'modifier' keyword, works like func.<foo> except does not add parenthesis. e.g. select([modifier.DISTINCT(...)]) etc.
* propigated detach() and invalidate() methods to Connection.Mike Bayer2007-05-101-0/+24
|
* - applied YAGNI to supports_autoclose_results (this issue would be handled ↵Mike Bayer2007-04-301-63/+50
| | | | | | by BufferedColumnResultProxy) - the docstrings, they do not end
* - added 'url' attribute to EngineMike Bayer2007-04-291-3/+4
| | | | - added docstring to 'echo' attribute
* - fixed textual select elements that got broke the other dayMike Bayer2007-04-291-5/+2
| | | | - docstring work
* - informix support added ! courtesy James ZhangMike Bayer2007-04-211-1/+1
| | | | | - tweak to oracle default execution code to use local connection for compilation - tweak to connection.execute_text() to generate None for parameters when no params sent
* some docstringsMike Bayer2007-04-191-2/+26
|
* added "recreate()" argument to connection pool classesMike Bayer2007-04-171-0/+2
| | | | | | | this method is called when the invalidate() occurs for a disconnect condition, so that the entire pool is recreated, thereby avoiding repeat errors on remaining connections in the pool. dispose() called as well (also fixed up) but cant guarantee all connections closed.
* - slight tweak to raw execute() change to also support tuples,Mike Bayer2007-04-031-2/+2
| | | | not just lists [ticket:523]
* for #516, moved the "disconnect check" step out of pool and back into ↵Mike Bayer2007-04-031-4/+7
| | | | | | base.py. dialects have is_disconnect() method now. simpler design which also puts control of the ultimate "execute" call back into the hands of the dialects.
* - merged the patch from #516 + fixesMike Bayer2007-04-021-9/+24
| | | | | | | | - improves the framework for auto-invalidation of connections that have lost their underlying database - the error catching/invalidate step is totally moved to the connection pool. - added better condition checking for do_rollback() and do_commit() including SQLError excepetion wrapping
* - merged the "execcontext" branch, refactors engine/dialect codepathsMike Bayer2007-04-021-250/+268
| | | | | | | | | | | | | | | | | | | | - much more functionality moved into ExecutionContext, which impacted the API used by dialects to some degree - ResultProxy and subclasses now designed sanely - merged patch for #522, Unicode subclasses String directly, MSNVarchar implements for MS-SQL, removed MSUnicode. - String moves its "VARCHAR"/"TEXT" switchy thing into "get_search_list()" function, which VARCHAR and CHAR can override to not return TEXT in any case (didnt do the latter yet) - implements server side cursors for postgres, unit tests, #514 - includes overhaul of dbapi import strategy #480, all dbapi importing happens in dialect method "dbapi()", is only called inside of create_engine() for default and threadlocal strategies. Dialect subclasses have a datamember "dbapi" referencing the loaded module which may be None. - added "mock" engine strategy, doesnt require DBAPI module and gives you a "Connecition" which just sends all executes to a callable. can be used to create string output of create_all()/drop_all().
* latest #214 fixupsMike Bayer2007-03-311-1/+1
|
* thank you, SVN, for being completely idiotic and non-intutive. rolling back ↵Mike Bayer2007-03-301-59/+54
| | | | incorrect checkin to trunk
* current progress with exec branchMike Bayer2007-03-291-54/+59
|
* added "supports_unicode_statements()" step to dialect/execute_raw so that ↵Mike Bayer2007-03-281-0/+7
| | | | DB's like oracle can opt out of unicode statement strings
* - column label and bind param "truncation" also generateMike Bayer2007-03-281-1/+1
| | | | | | | | | | | 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
* - fix for fetchmany() "size" argument being positional in mostMike Bayer2007-03-281-1/+1
| | | | dbapis [ticket:505]
* - preliminary support for unicode table and column names added.Mike Bayer2007-03-271-12/+9
|
* - column labels are now generated in the compilation phase, whichMike Bayer2007-03-241-31/+23
| | | | | | | | | | | | | | | means their lengths are dialect-dependent. So on oracle a label that gets truncated to 30 chars will go out to 63 characters on postgres. Also, the true labelname is always attached as the accessor on the parent Selectable so theres no need to be aware of the genrerated label names [ticket:512]. - ResultProxy column targeting is greatly simplified, and relies upon the ANSICompiler's column_labels map to translate the built-in label on a _ColumnClause (which is now considered to be a unique identifier of that column) to the label which was generated at compile time. - still need to put a baseline of ColumnClause targeting for ResultProxy objects that originated from a textual query.
* integrated docutils formatting into generated documentation;Mike Bayer2007-03-171-1/+1
| | | | restructuredtext fixes throughout docstrings
* - for hackers, refactored the "visitor" system of ClauseElement andMike Bayer2007-03-111-4/+4
| | | | | | | | | | | | | | | SchemaItem so that the traversal of items is controlled by the ClauseVisitor itself, using the method visitor.traverse(item). accept_visitor() methods can still be called directly but will not do any traversal of child items. ClauseElement/SchemaItem now have a configurable get_children() method to return the collection of child elements for each parent object. This allows the full traversal of items to be clear and unambiguous (as well as loggable), with an easy method of limiting a traversal (just pass flags which are picked up by appropriate get_children() methods). [ticket:501] - accept_schema_visitor() methods removed, replaced with get_children(schema_visitor=True) - various docstring/changelog cleanup/reformatting
* - fixed function execution with explicit connections, when you dontMike Bayer2007-02-271-3/+10
| | | | | explicitly say "select()" off the function, i.e. conn.execute(func.dosomething())
* migrated (most) docstrings to pep-257 format, docstring generator using ↵Mike Bayer2007-02-251-225/+523
| | | | | | straight <pre> + trim() func for now. applies most of [ticket:214], compliemnts of Lele Gaifax
* - fixed argument passing to straight textual execute() on engine, connection.Mike Bayer2007-02-131-3/+9
| | | | | can handle *args or a list instance for positional, **kwargs or a dict instance for named args, or a list of list or dicts to invoke executemany()
* - added PrefetchingResultProxy support to pre-fetch LOB columns when they areMike Bayer2007-02-061-6/+56
| | | | known to be present, fixes [ticket:435]
* - added "schema" argument to all has_table() calls, only supported so far by PGMike Bayer2007-02-041-3/+3
| | | | - added basic unit test for PG reflection of tables in an alternate schema
* - added a "supports_execution()" method to ClauseElement, so that individualMike Bayer2007-02-021-0/+2
| | | | | kinds of clauses can express if they are appropriate for executing...such as, you can execute a "select", but not a "Table" or a "Join".
* oracle can conditionally decide if it wants to say "use rowid" in a select ↵Mike Bayer2007-01-241-2/+7
| | | | | | | statement. needs to be tweaked vs. when ROW NUMBER OVER ORDER BY is being used, but currently fixes [ticket:436]
* - added support for column "key" attribute to be useable in row[<key>]/row.<key>Mike Bayer2007-01-231-5/+17
|
* - added "fetchmany()" support to ResultProxyMike Bayer2007-01-111-0/+13
|
* - postgres no longer uses client-side cursors, uses more efficient server sideMike Bayer2007-01-101-2/+5
| | | | | cursors via apparently undocumented psycopg2 behavior recently discovered on the mailing list. disable it via create_engine('postgres://', client_side_cursors=True)
* - 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
|
* - create_engine() reworked to be strict about incoming **kwargs. all keywordMike Bayer2006-11-121-1/+1
| | | | | | 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
|
* 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-171-3/+3
| | | | | 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
|
* - 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.
* 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)