summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/oracle.py
Commit message (Collapse)AuthorAgeFilesLines
...
* - changed name of TEXT to Text since its a "generic" type; TEXT name isMike Bayer2008-01-051-2/+2
| | | | | | | deprecated until 0.5. The "upgrading" behavior of String to Text when no length is present is also deprecated until 0.5; will issue a warning when used for CREATE TABLE statements (String with no length for SQL expression purposes is still fine) [ticket:912]
* happy new yearMike Bayer2008-01-011-1/+1
|
* fix up oracle handling of LOB/string [ticket:902], slight fixes to ↵Mike Bayer2008-01-011-7/+6
| | | | | | defaults.py but we will need to fix up result-type handling some more
* - added is_disconnect() support for oracleMike Bayer2007-12-291-0/+6
| | | | | - fixed _handle_dbapi_error to detect endless loops, doesn't call rollback/cursor.close etc. in case of disconnect
* - all kinds of cleanup, tiny-to-slightly-significant speed improvementsMike Bayer2007-11-241-9/+4
|
* - oracle will now reflect "DATE" as an OracleDateTime column, notMike Bayer2007-11-181-3/+16
| | | | | | | OracleDate - added awareness of schema name in oracle table_names() function, fixes metadata.reflect(schema='someschema') [ticket:847]
* - figured out a way to get previous oracle behavior back. the ROWID thingMike Bayer2007-11-051-1/+1
| | | | is still a pretty thorny issue.
* - adjustments to oracle ROWID logic...recent oid changes mean we have toMike Bayer2007-11-051-5/+8
| | | | | | use "rowid" against the select itself (i.e. its just...'rowid', no table name). seems to work OK but not sure if issues will arise - fixes to oracle bind param stuff to account for recent removal of ClauseParameters object.
* - rewritten ClauseAdapter merged from the eager_minus_join branch; this is a ↵Mike Bayer2007-11-031-1/+0
| | | | | | | | much simpler and "correct" version which will copy all elements exactly once, except for those which were replaced with target elements. It also can match a wider variety of target elements including joins and selects on identity alone.
* Added support for dialects that have both sequences and autoincrementing PKs.Jason Kirtland2007-10-231-1/+2
|
* - Fixed oracle 'use_ansi'-via-engine-url handling, added support for ↵Jason Kirtland2007-10-101-6/+24
| | | | 'mode=sysdba' et al.
* - fixed Oracle non-ansi join syntaxMike Bayer2007-10-101-5/+11
|
* - oracle does not implicitly convert to unicode for non-typed resultMike Bayer2007-10-061-15/+14
| | | | | | | | | sets (i.e. when no TypeEngine/String/Unicode type is even being used; previously it was detecting DBAPI types and converting regardless). should fix [ticket:800] - fixed oracle out_parameters, likely broke in beta6 - fixed oracle _normalize_case for encoded names, gets unicode reflection test to work - a few extra tests tweaked/unsupported for oracle
* fix to oracle sequence execMike Bayer2007-09-011-1/+1
|
* sequence pre-executes dont create an ExecutionContext, use straight cursorMike Bayer2007-09-011-5/+1
|
* factored out uses_sequences_for_inserts() intoMike Bayer2007-09-011-3/+1
| | | | preexecute_sequence dialect attribute
* - merged inline inserts branchMike Bayer2007-09-011-23/+4
| | | | | | | | | | | | - all executemany() style calls put all sequences and SQL defaults inline into a single SQL statement and don't do any pre-execution - regular Insert and Update objects can have inline=True, forcing all executions to be inlined. - no last_inserted_ids(), lastrow_has_defaults() available with inline execution - calculation of pre/post execute pushed into compiler; DefaultExecutionContext greatly simplified - fixed postgres reflection of primary key columns with no sequence/default generator, sets autoincrement=False - fixed postgres executemany() behavior regarding sequences present, not present, passivedefaults, etc. - all tests pass for sqlite, mysql, postgres; oracle tests pass as well as they did previously including all insert/update/default functionality
* - method call removalMike Bayer2007-08-201-7/+5
|
* light docstring tweaks to the poolJason Kirtland2007-08-191-1/+1
| | | | more pedantic DBAPI -> DB-API changes in docstrings
* 1. Module layout. sql.py and related move into a package called "sql".Mike Bayer2007-08-181-32/+24
| | | | | | | | | | | | 2. compiler names changed to be less verbose, unused classes removed. 3. Methods on Dialect which return compilers, schema generators, identifier preparers have changed to direct class references, typically on the Dialect class itself or optionally as attributes on an individual Dialect instance if conditional behavior is needed. This takes away the need for Dialect subclasses to know how to instantiate these objects, and also reduces method overhead by one call for each one. 4. as a result of 3., some internal signatures have changed for things like compiler() (now statement_compiler()), preparer(), etc., mostly in that the dialect needs to be passed explicitly as the first argument (since they are just class references now). The compiler() method on Engine and Connection is now also named statement_compiler(), but as before does not take the dialect as an argument. 5. changed _process_row function on RowProxy to be a class reference, cuts out 50K method calls from insertspeed.py
* mass has_key->__contains__ migration, [ticket:738]Mike Bayer2007-08-151-1/+1
|
* - merged "fasttypes" branch. this branch changes the signatureMike Bayer2007-08-141-55/+75
| | | | | | | | | | | | | of convert_bind_param() and convert_result_value() to callable-returning bind_processor() and result_processor() methods. if no callable is returned, no pre/post processing function is called. - hooks added throughout base/sql/defaults to optimize the calling of bind param/result processors so that method call overhead is minimized. special cases added for executemany() scenarios such that unneeded "last row id" logic doesn't kick in, parameters aren't excessively traversed. - new performance tests show a combined mass-insert/mass-select test as having 68% fewer function calls than the same test run against 0.3. - general performance improvement of result set iteration is around 10-20%.
* - generalized a SQLCompileTest out of select.py, installedMike Bayer2007-08-131-4/+4
| | | | | into dialect/mssql.py, dialect/oracle.py, sql/generative.py - fixed oracle issues [ticket:732], [ticket:733], [ticket:734]
* attempting to get oracle XID to work. not there yet.Mike Bayer2007-08-111-3/+29
|
* repaired oracle savepoint implementationMike Bayer2007-08-111-0/+13
|
* - oracle reflection of case-sensitive names all fixed upMike Bayer2007-08-101-22/+33
| | | | - other unit tests corrected for oracle
* switch "if not len(x)" to "if not x"Jonathan Ellis2007-08-031-1/+1
|
* table_names shouldn't include system tables. (if user wants that they ↵Jonathan Ellis2007-08-031-1/+1
| | | | should poke around in catalog manually.)
* engine.table_names()Jonathan Ellis2007-07-291-0/+5
| | | | tested vs sqlite and pg. mssql should also be ok (uses ischema like pg.) others are best-guess based on has_table code.
* removed LONG_STRING, LONG_BINARY from "binary" types, [ticket:622]Mike Bayer2007-07-271-1/+1
|
* merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to ↵Mike Bayer2007-07-271-133/+122
| | | | maintenance branch in branches/rel_0_3.
* - fixed unicode conversion in Oracle TEXT typeMike Bayer2007-07-151-1/+2
|
* - converts cx_oracle datetime objects to Python datetime.datetime whenMike Bayer2007-07-151-0/+17
| | | | Python 2.3 used [ticket:542]
* - mod operator '%' produces MOD [ticket:624]Mike Bayer2007-07-151-0/+7
|
* - added dialect flag "auto_convert_lobs", defaults to True; will cause anyMike Bayer2007-06-221-4/+17
| | | | | | LOB objects detected in a result set to be forced into OracleBinary so that the LOB is read() automatically, if no typemap was present (i.e., if a textual execute() was issued).
* - datetime fixes: got subsecond TIMESTAMP to work [ticket:604],Mike Bayer2007-06-171-2/+14
| | | | added OracleDate which supports types.Date with only year/month/day
* test case for oracle timestamp adaptionMike Bayer2007-06-161-5/+5
|
* - DB connection urls for tests can now be loaded from a configuration fileJason Kirtland2007-05-251-0/+1
| | | | | - Test runs can now --require a particular external package version - Added some 'coerce' magic to the Oracle connection factory to support use_ansi in the dburl query string
* - parenthesis are applied to clauses via a new _Grouping construct.Mike Bayer2007-05-141-2/+7
| | | | | | | | 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.
* - 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
* - converted logger.warn() to warnings.warn()Mike Bayer2007-04-211-2/+2
| | | | - implemented #302
* - the dialects within sqlalchemy.databases become a setuptoolsMike Bayer2007-04-171-4/+6
| | | | | | entry points. loading the built-in database dialects works the same as always, but if none found will fall back to trying pkg_resources to load an external module [ticket:521]
* - small fix to allow successive compiles of the same SELECT objectMike Bayer2007-04-131-3/+10
| | | | | | which features LIMIT/OFFSET. oracle dialect needs to modify the object to have ROW_NUMBER OVER and wasn't performing the full series of steps on successive compiles.
* - merged the "execcontext" branch, refactors engine/dialect codepathsMike Bayer2007-04-021-40/+35
| | | | | | | | | | | | | | | | | | | | - 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
|
* added "supports_unicode_statements()" step to dialect/execute_raw so that ↵Mike Bayer2007-03-281-0/+4
| | | | DB's like oracle can opt out of unicode statement strings
* added LONG->OracleText reflection mapping [ticket:393]Mike Bayer2007-03-281-0/+1
|
* - column labels are now generated in the compilation phase, whichMike Bayer2007-03-241-0/+3
| | | | | | | | | | | | | | | 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.
* - CLOB type descends from TEXT so it goes to the dialect correctlyMike Bayer2007-03-221-0/+6
| | | | - oracle CLOB has result value LOB handling
* - added db modules to genned docstringsMike Bayer2007-03-181-1/+1
| | | | | | | - had to tweak out latest MS-SQL module change. cant do ImportErrors right now until module importing is moved to the connection phase across all dialects. - took out "his" from url docstrings - postgres doesnt do an import *