summaryrefslogtreecommitdiff
path: root/test/dialect/test_oracle.py
Commit message (Collapse)AuthorAgeFilesLines
* Regression from this ticket caused the unsupported keywordMike Bayer2013-05-151-0/+10
| | | | | | "true" to render, added logic to convert this to 1/0 for SQL server. [ticket:2682]
* - remove all compat items that are pre-2.5 (hooray)Mike Bayer2013-03-091-3/+2
| | | | | | - other cleanup - don't need compat.decimal, that approach never panned out. hopefully outside libs aren't pulling it in, they shouldn't be
* add futureMike Bayer2012-12-111-0/+1
|
* Fixed table reflection for Oracle when accessing a synonym that refersMike Bayer2012-12-091-0/+39
| | | | | | | | | | to a DBLINK remote database; while the syntax has been present in the Oracle dialect for some time, up until now it has never been tested. The syntax has been tested against a sample database linking to itself, however there's still some uncertainty as to what should be used for the "owner" when querying the remote database for table information. Currently, the value of "username" from user_db_links is used to match the "owner". [ticket:2619]
* The Oracle LONG type, while an unbounded text type, does not appearMike Bayer2012-12-061-0/+15
| | | | | | | to use the cx_Oracle.LOB type when result rows are returned, so the dialect has been repaired to exclude LONG from having cx_Oracle.LOB filtering applied. Also in 0.7.10. [ticket:2620]
* Repaired the usage of ``.prepare()`` in conjunction withMike Bayer2012-12-061-0/+70
| | | | | | | | | | | cx_Oracle so that a return value of ``False`` will result in no call to ``connection.commit()``, hence avoiding "no transaction" errors. Two-phase transactions have now been shown to work in a rudimental fashion with SQLAlchemy and cx_oracle, however are subject to caveats observed with the driver; check the documentation for details. Also in 0.7.10. [ticket:2611]
* Fixed bug in type_coerce() whereby typing informationMike Bayer2012-11-121-1/+10
| | | | | | | | could be lost if the statement were used as a subquery inside of another statement, as well as other similar situations. Among other things, would cause typing information to be lost when the Oracle/mssql dialects would apply limit/offset wrappings. [ticket:2603]
* - [bug] The CreateIndex construct in OracleMike Bayer2012-09-301-1/+11
| | | | | | | | will now schema-qualify the name of the index to be that of the parent table. Previously this name was omitted which apparently creates the index in the default schema, rather than that of the table.
* pg and oracle fixesMike Bayer2012-09-301-0/+1
|
* getting everything to pass againMike Bayer2012-09-271-1/+2
|
* trying different approaches to test layout. in this one, the testing modulesMike Bayer2012-09-271-4/+4
| | | | | | | become an externally usable package but still remains within the main sqlalchemy parent package. in this system, we use kind of an ugly hack to get the noseplugin imported outside of the "sqlalchemy" package, while still making it available within sqlalchemy for usage by third party libraries.
* - [feature] The types of columns excluded from theMike Bayer2012-09-051-0/+20
| | | | | | | | setinputsizes() set can be customized by sending a list of string DBAPI type names to exclude. This list was previously fixed. The list also now defaults to STRING, UNICODE, removing CLOB, NCLOB from the list. [ticket:2469]
* - refine oracle returning some more to use purely positional approachMike Bayer2012-08-251-2/+2
|
* - mergeMike Bayer2012-08-251-3/+5
|\
| * oracle fixes...Mike Bayer2012-08-251-3/+5
| |
* | - more oracle tweaks for returning; the method here is still kind of brittle ↵Mike Bayer2012-08-251-0/+17
|/ | | | | | and might have issues with pks, multiple function calls
* a few oracle fixesMike Bayer2012-08-251-0/+8
|
* - [bug] Fixed cextension bug whereby theMike Bayer2012-08-221-0/+8
| | | | | | | | | | | | | | | | | | | "ambiguous column error" would fail to function properly if the given index were a Column object and not a string. Note there are still some column-targeting issues here which are fixed in 0.8. [ticket:2553] - find more cases where column targeting is being inaccurate, add more information to result_map to better differentiate "ambiguous" results from "present" or "not present". In particular, result_map is sensitive to dupes, even though no error is raised; the conflicting columns are added to the "obj" member of the tuple so that the two are both directly accessible in the result proxy - handwringing over the damn "name fallback" thing in results. can't really make it perfect yet - fix up oracle returning clause. not sure why its guarding against labels, remove that for now and see what the bot says.
* trailing whitespace bonanzaMike Bayer2012-07-281-63/+63
|
* - [bug] Quoting information is now passed alongMike Bayer2012-05-041-1/+53
| | | | | | | | from a Column with quote=True when generating a same-named bound parameter to the bindparam() object, as is the case in generated INSERT and UPDATE statements, so that unknown reserved names can be fully supported. [ticket:2437]
* - test failures. one in particular seems to be a weird oursql bug, oh wellMike Bayer2012-02-121-19/+21
|
* - [feature] Added a new oracle create_engine() flagMike Bayer2012-02-121-0/+9
| | | | | | | coerce_to_decimal=False, disables the precision numeric handling which can add lots of overhead by converting all numeric values to Decimal. [ticket:2399]
* - Added missing compilation support forMike Bayer2012-02-121-46/+57
| | | | | LONG [ticket:2401] - broke out oracle tests for types that only require dialect
* - The String type now generates VARCHAR2 on OracleMike Bayer2011-09-241-5/+17
| | | | | | | | | | | | | which is recommended as the default VARCHAR. Added an explicit VARCHAR2 and NVARCHAR2 to the Oracle dialect as well. Using NVARCHAR still generates "NVARCHAR2" - there is no "NVARCHAR" on Oracle - this remains a slight breakage of the "uppercase types always give exactly that" policy. VARCHAR still generates "VARCHAR", keeping with the policy. If Oracle were to ever define "VARCHAR" as something different as they claim (IMHO this will never happen), the type would be available. [ticket:2252]
* - repaired the oracle.RAW type which did notMike Bayer2011-07-191-22/+38
| | | | | generate the correct DDL. [ticket:2220] Also in 0.6.9.
* - The limit/offset keywords to select() as wellMike Bayer2011-04-071-0/+43
| | | | | | | | | | | as the value passed to select.limit()/offset() will be coerced to integer. [ticket:2116] (also in 0.6.7) - Oracle dialect adds use_binds_for_limits=False create_engine() flag, will render the LIMIT/OFFSET values inline instead of as binds, reported to modify the execution plan used by Oracle. [ticket:2116] (Also in 0.6.7)
* - Using column names that would require quotesMike Bayer2011-03-271-0/+36
| | | | | | | | | for the column itself or for a name-generated bind parameter, such as names with special characters, underscores, non-ascii characters, now properly translate bind parameter keys when talking to cx_oracle. [ticket:2100] (Also in 0.6.7)
* - move all the comments that got shoved below the fixture grabs back upMike Bayer2011-03-271-1/+3
|
* - remove test.sql._base, test.engine._base, test.orm._base, move those ↵Mike Bayer2011-03-271-13/+13
| | | | | | | classes to a new test.lib.fixtures module - move testing.TestBase to test.lib.fixtures - massive search and replace
* - convert @provide_metadata to use self accessMike Bayer2011-03-261-0/+4
| | | | | - having occasional issues with BasicEntity grabbing, if it persists may have to pass an explicit base class into setup_classes()/setup_mappers()
* - need to limit the list of oracle fn's that don't get parens to aMike Bayer2011-02-111-0/+13
| | | | fixed list. window functions need parens
* - whitespace removal bonanzaMike Bayer2011-01-021-74/+74
|
* - support for cdecimalMike Bayer2010-12-111-21/+21
| | | | | | | | | | | | | | | | | | - add --with-cdecimal flag to tests, monkeypatches cdecimal in - fix mssql/pyodbc.py to not use private '_int' accessor in decimal conversion routines - pyodbc version 2.1.8 is needed for cdecimal in any case as previous versions also called '_int', 2.1.8 adds the same string logic as our own dialect, so that logic is skipped for modern pyodbc version - make the imports for "Decimal" consistent across the whole lib. not sure yet how we should be importing "Decimal" or what the best way forward is that would allow a clean user-invoked swap of cdecimal; for now, added docs suggesting a global monkeypatch - the two decimal libs are not compatible with each other so any chance of mixing produces serious issues. adding adapters to DBAPIs tedious and adds in-python overhead. suggestions welcome on how we should be doing Decimal/cdecimal.
* merge tipMike Bayer2010-11-181-5/+39
|\
| * - fix test specification for oracle euro testMike Bayer2010-11-181-1/+1
| |
| * - The cx_oracle "decimal detection" logic, which takes placeMike Bayer2010-11-181-5/+39
| | | | | | | | | | | | | | | | | | for for result set columns with ambiguous numeric characteristics, now uses the decimal point character determined by the locale/ NLS_LANG setting, using an on-first-connect detection of this character. cx_oracle 5.0.3 or greater is also required when using a non-period-decimal-point NLS_LANG setting. [ticket:1953].
* | - move sqlalchemy.test to test.libMike Bayer2010-11-151-4/+4
|/
* - Oracle - the implicit_retunring argument to create_engine()Mike Bayer2010-10-231-0/+7
| | | | | | | is now honored regardless of detected version of Oracle. Previously, the flag would be forced to False if server version info was < 10. [ticket:1878]
* - Oracle reflection of indexes has been tuned soMike Bayer2010-08-291-1/+74
| | | | | | | | | | | | | | | | | that indexes which include some or all primary key columns, but not the same set of columns as that of the primary key, are reflected. Indexes which contain the identical columns as that of the primary key are skipped within reflection, as the index in that case is assumed to be the auto-generated primary key index. Previously, any index with PK columns present would be skipped. Thanks to Kent Bower for the patch. [ticket:1867] - Oracle now reflects the names of primary key constraints - also thanks to Kent Bower. [ticket:1868]
* - Added ROWID type to the Oracle dialect, for thoseMike Bayer2010-08-291-0/+21
| | | | | cases where an explicit CAST might be needed. [ticket:1879]
* - More tweaks to cx_oracle Decimal handling.Mike Bayer2010-07-141-19/+68
| | | | | | | | | | | | | | | | | | "Ambiguous" numerics with no decimal place are coerced to int at the connection handler level. The advantage here is that ints come back as ints without SQLA type objects being involved and without needless conversion to Decimal first. Unfortunately, some exotic subquery cases can even see different types between individual result rows, so the Numeric handler, when instructed to return Decimal, can't take full advantage of "native decimal" mode and must run isinstance() on every value to check if its Decimal already. Reopen of [ticket:1840]
* test/dialectMike Bayer2010-07-111-335/+342
|
* - add typing/operator converts to Float/Numeric to get Oracle tests going again,Mike Bayer2010-07-021-2/+13
| | | | | as we have an unusually high level of dependence on SQLA typing now - force oracle seqs to return integers
* - Oracle's "native decimal" metadata begins to returnMike Bayer2010-07-011-0/+84
| | | | | | | | | | | | | ambiguous typing information about numerics when columns are embedded in subqueries as well as when ROWNUM is consulted with subqueries, as we do for limit/offset. We've added these ambiguous conditions to the cx_oracle "convert to Decimal()" handler, so that we receive numerics as Decimal in more cases instead of as floats. These are then converted, if requested, into Integer or Float, or otherwise kept as the lossless Decimal [ticket:1840].
* fix oracle char length test for newer descriptorsMike Bayer2010-06-271-1/+1
|
* - Fixed ora-8 compatibility flags such that theyMike Bayer2010-06-191-0/+7
| | | | | don't cache a stale value from before the first database connection actually occurs. [ticket:1819]
* - Re-established support for Oracle 8 with cx_oracle,Mike Bayer2010-05-271-21/+47
| | | | | | | | including that use_ansi is set to False automatically, NVARCHAR2 and NCLOB are not rendered for Unicode, "native unicode" check doesn't fail, cx_oracle "native unicode" mode is disabled, VARCHAR() is emitted with bytes count instead of char count. [ticket:1808]
* - FOR UPDATE is emitted in the syntactically correct positionMike Bayer2010-05-271-1/+56
| | | | | | | | when limit/offset is used, i.e. the ROWNUM subquery. However, Oracle can't really handle FOR UPDATE with ORDER BY or with subqueries, so its still not very usable, but at least SQLA gets the SQL past the Oracle parser. [ticket:1815]
* - Fixed use_ansi=False mode, which was producing brokenMike Bayer2010-05-031-0/+16
| | | | WHERE clauses in pretty much all cases. [ticket:1790]
* - Now using cx_oracle output converters so that theMike Bayer2010-04-031-2/+1
| | | | | | | | | | | DBAPI returns natively the kinds of values we prefer: - NUMBER values with positive precision + scale convert to cx_oracle.STRING and then to Decimal. This allows perfect precision for the Numeric type when using cx_oracle. [ticket:1759] - STRING/FIXED_CHAR now convert to unicode natively. SQLAlchemy's String types then don't need to apply any kind of conversions.