summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/oracle
Commit message (Collapse)AuthorAgeFilesLines
* Removed entry that causes AttributeError (#3621) - Oracle zxJDBC fails with ↵Carlos Rivas2016-02-021-2/+1
| | | | | | AttributeError in object OracleCompiler_zxjdbc (cherry picked from commit edc0b8678bc06ae27fa0f7e80c3eb074978fbe10)
* - happy new yearMike Bayer2016-01-294-4/+4
| | | | (cherry picked from commit 859379e2fcc4506d036700ba1eca4c0ae526a8ee)
* - update oracle JDBC driver URL, fixes #3554Mike Bayer2016-01-201-2/+1
| | | | (cherry picked from commit 24dba714cb56e1f5a4dca5453cc5f442e6ee08ab)
* - Fixed bug in Oracle dialect where reflection of tables and otherMike Bayer2015-10-051-0/+3
| | | | | | | | | | symbols with names quoted to force all-lower-case would not be identified properly in reflection queries. The :class:`.quoted_name` construct is now applied to incoming symbol names that detect as forced into all-lower-case within the "name normalize" process. fixes #3548 (cherry picked from commit 4578ab54a5b849fdb94a7032987f105b7ec117a4)
* - Fixed support for cx_Oracle version 5.2, which was trippingMike Bayer2015-07-291-2/+5
| | | | | | | | | | up SQLAlchemy's version detection under Python 3 and inadvertently not using the correct unicode mode for Python 3. This would cause issues such as bound variables mis-interpreted as NULL and rows silently not being returned. fixes #3491 (cherry picked from commit d8efa2257ec650b345ec6e840984387263a957a6)
* - also add this to Oracle, and defensively to firebird and sybaseMike Bayer2015-03-241-0/+2
|
* - add a note that we aren't really doing zxjdbc right now even thoughMike Bayer2015-03-201-0/+3
| | | | these files are present.
* - copyright 2015Mike Bayer2015-03-104-4/+4
|
* - rename _select_wrapsMike Bayer2015-03-081-2/+1
| | | | | - replace force_result_map with a mini-API for nested result sets, add coverage
* - the change for #918 was of course not nearly that simple.Mike Bayer2015-03-071-3/+3
| | | | | | | | | | | | | | | | | | The "wrapping" employed by the mssql and oracle dialects using the "iswrapper" argument was not being used intelligently by the compiler, and the result map was being written incorrectly, using *more* columns in the result map than were actually returned by the statement, due to "row number" columns that are inside the subquery. The compiler now writes out result map on the "top level" select in all cases fully, and for the mssql/oracle wrapping case extracts out the "proxied" columns in a second step, which only includes those columns that are proxied outwards to the top level. This change might have implications for 3rd party dialects that might be imitating oracle's approach. They can safely continue to use the "iswrapper" kw which is now ignored, but they may need to also add the _select_wraps argument as well.
* - The SQL compiler now generates the mapping of expected columnspositional_targetingMike Bayer2015-03-071-2/+3
| | | | | | | | | | | | | | | | | such that they are matched to the received result set positionally, rather than by name. Originally, this was seen as a way to handle cases where we had columns returned with difficult-to-predict names, though in modern use that issue has been overcome by anonymous labeling. In this version, the approach basically reduces function call count per-result by a few dozen calls, or more for larger sets of result columns. The approach still degrades into a modern version of the old approach if textual elements modify the result map, or if any discrepancy in size exists between the compiled set of columns versus what was received, so there's no issue for partially or fully textual compilation scenarios where these lists might not line up. fixes #918 - callcounts still need to be adjusted down for this so zoomark tests won't pass at the moment
* - add versionadded for service_nameMike Bayer2015-02-081-0/+2
|
* - cx_Oracle.makedsn can now be passed service_name; squashSławek Ehlert2014-04-021-2/+20
| | | | commit of pr152
* - Custom dialects that implement :class:`.GenericTypeCompiler` canMike Bayer2015-01-161-31/+31
| | | | | | | | | | | | | | now be constructed such that the visit methods receive an indication of the owning expression object, if any. Any visit method that accepts keyword arguments (e.g. ``**kw``) will in most cases receive a keyword argument ``type_expression``, referring to the expression object that the type is contained within. For columns in DDL, the dialect's compiler class may need to alter its ``get_column_specification()`` method to support this as well. The ``UserDefinedType.get_col_spec()`` method will also receive ``type_expression`` if it provides ``**kw`` in its argument signature. fixes #3074
* - New Oracle DDL features for tables, indexes: COMPRESS, BITMAP.Mike Bayer2014-12-041-9/+156
| | | | | Patch courtesy Gabor Gombas. fixes #3127
* - Added support for CTEs under Oracle. This includes some tweaksMike Bayer2014-12-041-15/+6
| | | | | | | to the aliasing syntax, as well as a new CTE feature :meth:`.CTE.suffix_with`, which is useful for adding in special Oracle-specific directives to the CTE. fixes #3220
* - Fixed long-standing bug in Oracle dialect where bound parameterMike Bayer2014-10-111-1/+2
| | | | | | names that started with numbers would not be quoted, as Oracle doesn't like numerics in bound parameter names. fixes #2138
* - Added support for the Oracle table option ON COMMIT. This is beingMike Bayer2014-09-171-2/+44
| | | | | | | | | kept separate from Postgresql's ON COMMIT for now even though ON COMMIT is in the SQL standard; the option is still very specific to temp tables and we eventually would provide a more first class temporary table feature. - oracle can apparently do get_temp_table_names() too, so implement that, fix its get_table_names(), and add it to #3204. fixes #3204 again.
* - ensure literal_binds works with LIMIT clause, FOR UPDATEMike Bayer2014-09-031-3/+3
|
* - apply pep8 formatting to sqlalchemy/sql, sqlalchemy/util, sqlalchemy/dialects,Brian Jarrett2014-07-204-342/+436
| | | | sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
* - break up the <authors> copyright comment as part of a passMike Bayer2014-07-094-4/+8
| | | | to get all flake8 passing
* - repair oracle compilation for new limit/offset system.Mike Bayer2014-05-241-15/+26
|
* Merge branch 'issue_3034' of ↵Mike Bayer2014-05-161-8/+10
|\ | | | | | | https://bitbucket.org/dobesv/sqlalchemy/branch/issue_3034 into ticket_3034
| * Pull out offset/limit to a local variable to reduce the impact of the ↵Dobes Vandermeer2014-04-251-8/+10
| | | | | | | | inefficient select._offset and select._limit operations.
* | Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-111-1/+1
| | | | | | | | | | | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* | Fix many typos throughout the codebasepr/85Alex Gaynor2014-04-262-3/+3
|/ | | | Found using: https://github.com/intgr/topy
* - Added new datatype :class:`.oracle.DATE`, which is a subclass ofMike Bayer2014-03-223-4/+38
| | | | | | | | | | | | :class:`.DateTime`. As Oracle has no "datetime" type per se, it instead has only ``DATE``, it is appropriate here that the ``DATE`` type as present in the Oracle dialect be an instance of :class:`.DateTime`. This issue doesn't change anything as far as the behavior of the type, as data conversion is handled by the DBAPI in any case, however the improved subclass layout will help the use cases of inspecting types for cross-database compatibility. Also removed uppercase ``DATETIME`` from the Oracle dialect as this type isn't functional in that context. fixes #2987
* - changelog for pullreq github:74Mike Bayer2014-03-052-41/+91
| | | | | - various improvemnts to oracle docs, rewrite section on unicode, more linking, enhance section on resolve_synonyms
* Restore coercion to unicode with cx_Oracle.pr/74Christoph Zwerschke2014-02-271-1/+19
| | | | This feature is now turned off by default.
* update docs re: cx_oracle unicode as of 0.9.2, no more outputtypehandlersMike Bayer2014-02-182-22/+33
|
* - some test fixesMike Bayer2014-01-191-2/+4
| | | | - clean up some shenanigans in reflection
* - implement kwarg validation and type system for dialect-specificMike Bayer2014-01-181-0/+2
| | | | | arguments; [ticket:2866] - add dialect specific kwarg functionality to ForeignKeyConstraint, ForeignKey
* - rework Oracle to no longer do its own unicode conversion; this has been ↵Mike Bayer2014-01-171-3/+0
| | | | | | | | | | | observed to be very slow. this now has the effect of producing "conditional" unicode conversion for the Oracle backend, as it still returns NVARCHAR etc. as unicode [ticket:2911] - add new "conditional" functionality to unicode processors; the C-level function now uses PyUnicode_Check() as a fast alternative to the isinstance() check in Python
* - happy new yearMike Bayer2014-01-054-4/+4
|
* - Added ORA-02396 "maximum idle time" error code to list ofMike Bayer2013-12-031-1/+2
| | | | "is disconnect" codes with cx_oracle. [ticket:2864]
* Merge pull request #46 from vrajmohan/mastermike bayer2013-11-291-4/+4
|\ | | | | More fixes for cross references and reducing warnings (3rd wave)
| * Fix cross referencespr/46Vraj Mohan2013-11-171-4/+4
| |
* | - fix up rendering of "of"Mike Bayer2013-11-281-4/+4
| | | | | | | | | | | | - move out tests, dialect specific out of compiler, compiler tests use new API, legacy API tests in test_selecatble - add support for adaptation of ForUpdateArg, alias support in compilers
* | - work in progress, will squashMike Bayer2013-11-281-21/+10
| |
* | Merge branch 'for_update_of' of github.com:mlassnig/sqlalchemy into ↵Mike Bayer2013-11-281-2/+22
|\ \ | | | | | | | | | for_update_of
| * | added LockmodeArgspr/42Mario Lassnig2013-11-281-6/+16
| | |
| * | added ORM supportMario Lassnig2013-11-141-2/+12
| |/
* | - evaulate decimal_return_scale statelessly. Don't re-assign to ↵Mike Bayer2013-11-231-1/+1
| | | | | | | | | | | | self.decimal_return_scale so that __repr__() is maintained (for alembic tests)
* | - The precision used when coercing a returned floating point value toMike Bayer2013-11-221-4/+1
| | | | | | | | | | | | | | | | | | | | Python ``Decimal`` via string is now configurable. The flag ``decimal_return_scale`` is now supported by all :class:`.Numeric` and :class:`.Float` types, which will ensure this many digits are taken from the native floating point value when it is converted to string. If not present, the type will make use of the value of ``.scale``, if the type supports this setting and it is non-None. Otherwise the original default length of 10 is used. [ticket:2867]
* | Fixed bug where Oracle ``VARCHAR`` types given with no lengthMike Bayer2013-11-221-1/+3
|/ | | | | (e.g. for a ``CAST`` or similar) would incorrectly render ``None CHAR`` or similar. [ticket:2870]
* - Fixed bug where Oracle table reflection using synonyms would failMike Bayer2013-10-251-5/+7
| | | | | if the synonym and the table were in different remote schemas. Patch to fix courtesy Kyle Derr. [ticket:2853]
* add caveats regarding RETURNINGMike Bayer2013-09-022-3/+59
|
* - cx_oracle seems to have a bug here though it is hard to track downMike Bayer2013-08-272-2/+0
| | | | - cx_oracle dialect doesn't use normal col names, lets just not rely on that for now
* - A rework to the way that "quoted" identifiers are handled, in thatMike Bayer2013-08-271-1/+2
| | | | | | | | | | | | | | | | instead of relying upon various ``quote=True`` flags being passed around, these flags are converted into rich string objects with quoting information included at the point at which they are passed to common schema constructs like :class:`.Table`, :class:`.Column`, etc. This solves the issue of various methods that don't correctly honor the "quote" flag such as :meth:`.Engine.has_table` and related methods. The :class:`.quoted_name` object is a string subclass that can also be used explicitly if needed; the object will hold onto the quoting preferences passed and will also bypass the "name normalization" performed by dialects that standardize on uppercase symbols, such as Oracle, Firebird and DB2. The upshot is that the "uppercase" backends can now work with force-quoted names, such as lowercase-quoted names and new reserved words. [ticket:2812]
* - rework of correlation, continuing on #2668, #2746Mike Bayer2013-06-261-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | - add support for correlations to propagate all the way in; because correlations require context now, need to make sure a select enclosure of any level takes effect any number of levels deep. - fix what we said correlate_except() was supposed to do when we first released #2668 - "the FROM clause is left intact if the correlated SELECT is not used in the context of an enclosing SELECT..." - it was not considering the "existing_froms" collection at all, and prohibited additional FROMs from being placed in an any() or has(). - add test for multilevel any() - lots of docs, including glossary entries as we really need to define "WHERE clause", "columns clause" etc. so that we can explain correlation better - based on the insight that a SELECT can correlate anything that ultimately came from an enclosing SELECT that links to this one via WHERE/columns/HAVING/ORDER BY, have the compiler keep track of the FROM lists that correspond in this way, link it to the asfrom flag, so that we send to _get_display_froms() the exact list of candidate FROMs to correlate. no longer need any asfrom logic in the Select() itself - preserve 0.8.1's behavior for correlation when no correlate options are given, not to mention 0.7 and prior's behavior of not propagating implicit correlation more than one level.. this is to reduce surprises/hard-to-debug situations when a user isn't trying to correlate anything.