summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
Commit message (Collapse)AuthorAgeFilesLines
...
* Major refactoring of the MSSQL dialect. Thanks zzzeek.Michael Trier2008-12-222-13/+25
| | | | | | Includes simplifying the IDENTITY handling and the exception handling. Also includes a cleanup of the connection string handling for pyodbc to favor the DSN syntax.
* removed the "create_execution_context()" method from dialects and replacedMike Bayer2008-12-192-12/+5
| | | | with a more succinct "dialect.execution_ctx_cls" member
* merged -r5299:5438 of py3k warnings branch. this fixes some sqlite py2.6 ↵Mike Bayer2008-12-182-7/+16
| | | | | | | | testing issues, and also addresses a significant chunk of py3k deprecations. It's mainly expicit __hash__ methods. Additionally, most usage of sets/dicts to store columns uses util-based placeholder names.
* - _execute_clauseelement() goes back to beingMike Bayer2008-12-171-13/+13
| | | | | | | | | | | | | | | | a private method. Subclassing Connection is not needed now that ConnectionProxy is available. - tightened the interface for the various _execute_XXX() methods to reduce ambiguity - __distill_params() no longer creates artificial [{}] entry, blank dict is no longer passed through to do_execute() in any case unless explicitly sent from the outside as in connection.execute("somestring"), {}) - fixed a few old sql.query tests which were doing that - removed needless do_execute() from mysql dialect - fixed charset param not properly being sent to _compat_fetchone() in mysql
* - added sphinx handler to allow __init__ methods throughMike Bayer2008-12-171-10/+2
| | | | | | - sqlite module documentation - some corrections to pool docs - the example in URL.translate_connect_args() never made any sense anyway so removed it
* Index entries for thread safety.Jason Kirtland2008-12-111-2/+9
|
* - Connection.invalidate() checks for closed statusMike Bayer2008-12-111-0/+2
| | | | to avoid attribute errors. [ticket:1246]
* - restored the previous API Reference structureMike Bayer2008-12-081-6/+8
| | | | | - bumped latex TOC structure, the PDF looks great - but we need to fix the translate_connect_args docstring bug to really have PDF
* - restored the main search formMike Bayer2008-12-081-5/+6
| | | | | - fixed search highlighting - the url docstring works again from a ReST perspective, still not PDF
* - moved index.rst around to have the API docs right there, no "Main ↵Mike Bayer2008-12-071-6/+5
| | | | | | | Documentation" chapter which is fairly needless. this all allows PDF to have a decent TOC on the side with only two levels (can we change that ?) - added LatexFormatter. - PDF wont work until issue with the docstirng in url.py/URL.translate_connect_args is fixed.
* - re-documented Table and Column constructors, fixed case sensitivity ↵Mike Bayer2008-12-071-1/+11
| | | | | | | description [ticket:1231] - turned on autoclass_content="both". Need to specify __init__ docstring with a newline after the """. - other docs
* - merged -r5338:5429 of sphinx branch.Mike Bayer2008-12-065-107/+153
| | | | | | | | | | | | | - Documentation has been converted to Sphinx. In particular, the generated API documentation has been constructed into a full blown "API Reference" section which organizes editorial documentation combined with generated docstrings. Cross linking between sections and API docs are vastly improved, a javascript-powered search feature is provided, and a full index of all classes, functions and members is provided.
* - Restored "active rowcount" fetch before ResultProxyMike Bayer2008-11-101-2/+8
| | | | autocloses the cursor. This was removed in 0.5rc3.
* - Removed the 'properties' attribute of theMike Bayer2008-11-092-72/+53
| | | | | Connection object, Connection.info should be used. - Method consoliation in Connection, ExecutionContext
* - Dialects can now generate label names of adjustable length.Mike Bayer2008-11-051-1/+4
| | | | | | | | | | | | | Pass in the argument "label_length=<value>" to create_engine() to adjust how many characters max will be present in dynamically generated column labels, i.e. "somecolumn AS somelabel". Any value less than 6 will result in a label of minimal size, consiting of an underscore and a numeric counter. The compiler uses the value of dialect.max_identifier_length as a default. [ticket:1211] - removed ANON_NAME regular expression, using string patterns now - _generated_label() unicode subclass is used to indicate generated names which are subject to truncation
* - Simplified the check for ResultProxy "autoclose without results"Mike Bayer2008-11-042-79/+66
| | | | | | to be based solely on presence of cursor.description. All the regexp-based guessing about statements returning rows has been removed [ticket:1212].
* call count pinata partyMike Bayer2008-10-232-48/+33
|
* Modifications to allow the backends to control the behavior of an empty ↵Michael Trier2008-10-201-1/+2
| | | | insert. If supports_empty_insert is True then the backend specifically supports the 'insert into t1 () values ()' syntax. If supports_default_values is True then the backend supports the 'insert into t1 default values' syntax. If both are false then the backend has no support for empty inserts at all and an exception gets raised. Changes here are careful to not change current behavior except where the current behavior was failing to begin with.
* - 0.5.0rc3, dohMike Bayer2008-10-182-20/+0
| | | | | | | | | | | | - The internal notion of an "OID" or "ROWID" column has been removed. It's basically not used by any dialect, and the possibility of its usage with psycopg2's cursor.lastrowid is basically gone now that INSERT..RETURNING is available. - Removed "default_order_by()" method on all FromClause objects. - profile/compile/select test is 8 function calls over on buildbot 2.4 for some reason, will adjust after checking the results of this commit
* Corrects issue where engine.execute raised exception when given empty list. ↵Michael Trier2008-10-041-1/+1
| | | | Fixes #1175.
* the @property / __slots__ fairy pays a visitMike Bayer2008-10-011-57/+42
|
* - has_sequence() now takes the current "schema" argument intoMike Bayer2008-09-031-1/+2
| | | | account [ticket:1155]
* - starargs_as_list was not actually issuing SAPendingDeprecationWarning, fixedMike Bayer2008-08-281-14/+8
| | | | - implemented code cleanup from [ticket:1152] but not including using the decorators module
* - Mock engines take on the .name of their dialect. [ticket:1123]Jason Kirtland2008-08-151-10/+11
| | | | | Slightly backward incompatible: the .name is a read-only property. The test suite was assigning .name = 'mock'; this no longer works.
* - Temporarily rolled back the "ORDER BY" enhancementMike Bayer2008-08-061-1/+0
| | | | | from [ticket:1068]. This feature is on hold pending further development.
* - compiler visit_label() checks a flag "within_order_by" and will render its ↵Mike Bayer2008-08-031-0/+1
| | | | | | | | | | | | | | | | | | | own name and not its contained expression, if the dialect reports true for supports_simple_order_by_label. the flag is not propagated forwards, meant to closely mimic the syntax Postgres expects which is that only a simple name can be in the ORDER BY, not a more complex expression or function call with the label name embedded (mysql and sqlite support more complex expressions). This further sets the standard for propigation of **kwargs within compiler, that we can't just send **kwargs along blindly to each XXX.process() call; whenever a **kwarg needs to propagate through, most methods will have to be aware of it and know when they should send it on forward and when not. This was actually already the case with result_map as well. The supports_simple_order_by dialect flag defaults to True but is conservatively explicitly set to False on all dialects except SQLite/MySQL/Postgres to start. [ticket:1068]
* relation.order_by requires _literal_as_column conversion as wellMike Bayer2008-07-291-2/+0
|
* Raised an error when sqlite version does not support default values. ↵Michael Trier2008-07-292-0/+3
| | | | Addresses #909 in a purposeful way.
* - Spiffed up the deprecated decorators & @flipped 'em up topJason Kirtland2008-07-161-2/+2
|
* Completed engine_descriptors() removal (started in r4900)Jason Kirtland2008-07-151-20/+19
|
* - Moved to 2.4+ import syntax (w/ some experimental merge-friendly formatting)Jason Kirtland2008-07-151-8/+22
|
* And thus ends support for Python 2.3.Jason Kirtland2008-07-155-21/+20
|
* - Fixed a couple lingering exceptions->exc usagesJason Kirtland2008-07-151-1/+1
| | | | - Some import tidying
* - re-fixed the fix to the prefixes fixMike Bayer2008-07-061-3/+6
| | | | | - removed ancient descriptor() functions from dialects; replaced with Dialect.name - removed similarly ancient sys.modules silliness in Engine.name
* - merged r4868, disallow overly long names from create/drop, from 0.4 ↵Mike Bayer2008-06-221-2/+5
| | | | branch, [ticket:571]
* Removed deprecated Dialect.prexecute_sequences aliasingJason Kirtland2008-05-211-10/+0
|
* pool_threadlocal is off by default [ticket:1049]Mike Bayer2008-05-191-1/+1
|
* raise NotImplemented for begin_nested()Mike Bayer2008-05-141-1/+7
|
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-095-38/+68
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* - same as [ticket:1019] but repaired the non-labeled use caseMike Bayer2008-05-051-4/+3
| | | | [ticket:1022]
* - refined mapper._save_obj() which was unnecessarily callingMike Bayer2008-04-262-1/+5
| | | | __ne__() on scalar values during flush [ticket:1015]
* refactor of default_paramstyle, use paramstyle argument on Dialect to changeMatt Harrison2008-04-071-2/+3
|
* - merged -r4458:4466 of query_columns branchMike Bayer2008-04-071-1/+1
| | | | | | | - this branch changes query.values() to immediately return an iterator, adds a new "aliased" construct which will be the primary method to get at aliased columns when using values() - tentative ORM versions of _join and _outerjoin are not yet public, would like to integrate with Query better (work continues in the branch) - lots of fixes to expressions regarding cloning and correlation. Some apparent ORM bug-workarounds removed. - to fix a recursion issue with anonymous identifiers, bind parameters generated against columns now just use the name of the column instead of the tablename_columnname label (plus the unique integer counter). this way expensive recursive schemes aren't needed for the anon identifier logic. This, as usual, impacted a ton of compiler unit tests which needed a search-n-replace for the new bind names.
* - Got PG server side cursors back into shape, added fixedMike Bayer2008-04-021-2/+3
| | | | | | | unit tests as part of the default test suite. Added better uniqueness to the cursor ID [ticket:1001] - update().values() and insert().values() take keyword arguments.
* - Revamped the Connection memoize decorator a bit, moved to engineJason Kirtland2008-04-021-1/+25
| | | | | - MySQL character set caching is more aggressive but will invalidate the cache if a SET is issued. - MySQL connection memos are namespaced: info[('mysql', 'server_variable')]
* - Added PendingDeprecationWarning supportJason Kirtland2008-03-292-7/+5
| | | | - Deprecation decorator is now a real decorator
* - merged with_polymorphic branch, which was merged with query_columns branchMike Bayer2008-03-291-1/+3
| | | | | | | | | | | | | | | | | - removes everything to do with select_table, which remains as a keyword argument synonymous with with_polymorphic=('*', select_table). - all "polymorphic" selectables find their way to Query by way of _set_select_from() now, so that all joins/aliasing/eager loads/etc. is handled consistently. Mapper has methods for producing polymorphic selectables so that Query and eagerloaders alike can get to them. - row aliasing simplified, so that they don't need to nest. they only need the source selectable and adapt to whatever incoming columns they get. - Query is more egalitarian about mappers/columns now. Still has a strong sense of "entity zero", but also introduces new unpublished/experimental _values() method which sets up a columns-only query. - Query.order_by() and Query.group_by() take *args now (also still take a list, will likely deprecate in 0.5). May want to do this for select() as well. - the existing "check for False discriminiator" "fix" was not working completely, added coverage - orphan detection was broken when the target object was a subclass of the mapper with the orphaned relation, fixed that too.
* Undoing patch #994, for now; more testing needed. Sorry. Also modifying ↵Catherine Devlin2008-03-201-8/+5
| | | | test for query equivalence to account for underscoring of bind variables.
* adding zzzeek's patch from ticket #994, which fixed virtually all remaining ↵Catherine Devlin2008-03-201-5/+8
| | | | broken unit tests in the Oracle module
* check the isinsert/isupdate flags before calling __process_defaultsMike Bayer2008-03-061-34/+34
|