summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* - The :func:`.create_engine` routine and the relatedMike Bayer2013-11-241-1/+23
| | | | | | | :func:`.make_url` function **no longer URL encode the password**. Database passwords that include characters like spaces, plus signs and anything else should now represent these characters directly, without any URL escaping. [ticket:2873]
* -be more agnostic of quotes hereMike Bayer2013-11-231-2/+2
|
* clean up importsMike Bayer2013-11-231-9/+5
|
* - this test only for mysqlMike Bayer2013-11-231-2/+5
|
* - Some refinements to the :class:`.AliasedClass` construct with regardsMike Bayer2013-11-234-93/+136
| | | | | | | | | | | | | | | to descriptors, like hybrids, synonyms, composites, user-defined descriptors, etc. The attribute adaptation which goes on has been made more robust, such that if a descriptor returns another instrumented attribute, rather than a compound SQL expression element, the operation will still proceed. Addtionally, the "adapted" operator will retain its class; previously, a change in class from ``InstrumentedAttribute`` to ``QueryableAttribute`` (a superclass) would interact with Python's operator system such that an expression like ``aliased(MyClass.x) > MyClass.x`` would reverse itself to read ``myclass.x < myclass_1.x``. The adapted attribute will also refer to the new :class:`.AliasedClass` as its parent which was not always the case before. [ticket:2872]
* - The precision used when coercing a returned floating point value toMike Bayer2013-11-222-1/+25
| | | | | | | | | | 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 SQL statement would be improperly ASCII-encodedMike Bayer2013-11-222-3/+21
| | | | | | | when a pre-DBAPI :class:`.StatementError` were raised within :meth:`.Connection.execute`, causing encoding errors for non-ASCII statements. The stringification now remains within Python unicode thus avoiding encoding errors. [ticket:2871]
* Fixed bug where Oracle ``VARCHAR`` types given with no lengthMike Bayer2013-11-221-0/+6
| | | | | (e.g. for a ``CAST`` or similar) would incorrectly render ``None CHAR`` or similar. [ticket:2870]
* - cleanupMike Bayer2013-11-221-267/+281
|
* something changed the name here, probably one of those doc pullreqsMike Bayer2013-11-211-1/+1
|
* fix [ticket:2868] some moreMike Bayer2013-11-211-2/+4
|
* - Fixed bug which prevented the ``serializer`` extension from workingMike Bayer2013-11-211-3/+21
| | | | | correctly with table or column names that contain non-ASCII characters. [ticket:2869]
* - Fixed a regression caused by :ticket:`2812` where the repr() forMike Bayer2013-11-211-1/+13
| | | | | table and column names would fail if the name contained non-ascii characters. [ticket:2868]
* - The :class:`.RowProxy` object is now sortable in Python as a regularMike Bayer2013-11-192-0/+14
| | | | | | tuple is; this is accomplished via ensuring tuple() conversion on both sides within the ``__eq__()`` method as well as the addition of a ``__lt__()`` method. [ticket:2848]
* - The ``viewonly`` flag on :func:`.relationship` will now preventMike Bayer2013-11-191-0/+114
| | | | | | | | | | attribute history from being written on behalf of the target attribute. This has the effect of the object not being written to the Session.dirty list if it is mutated. Previously, the object would be present in Session.dirty, but no change would take place on behalf of the modified attribute during flush. The attribute still emits events such as backref events and user-defined events and will still receive mutations from backrefs. [ticket:2833]
* - apply a timeout to all join() calls for test_poolMike Bayer2013-11-171-5/+10
| | | | - use thread.join() for waiters_handled test
* - remove informix dialect, moved out to ↵Mike Bayer2013-11-1722-96/+12
| | | | | | https://bitbucket.org/zzzeek/sqlalchemy_informixdb - remove informix, maxdb, access symbols from tests etc.
* Fixed bug where usage of new :class:`.Bundle` object would causeMike Bayer2013-11-131-1/+12
| | | | the :attr:`.Query.column_descriptions` attribute to fail.
* - Fixed a regression introduced by the join rewriting feature ofMike Bayer2013-11-011-0/+33
| | | | | | | :ticket:`2369` and :ticket:`2587` where a nested join with one side already an aliased select would fail to translate the ON clause on the outside correctly; in the ORM this could be seen when using a SELECT statement as a "secondary" table. [ticket:2858]
* - Fixed a regression introduced by :ticket:`2818` where the EXISTSMike Bayer2013-10-301-4/+16
| | | | | | query being generated would produce a "columns being replaced" warning for a statement with two same-named columns, as the internal SELECT wouldn't have use_labels set.
* - Fixed bug where Oracle table reflection using synonyms would failMike Bayer2013-10-251-0/+29
| | | | | if the synonym and the table were in different remote schemas. Patch to fix courtesy Kyle Derr. [ticket:2853]
* python2 pickle here failsMike Bayer2013-10-251-0/+3
|
* - catch the metadata on ScalarTest.test_scalar_proxy, this has been leaving ↵Mike Bayer2013-10-251-11/+47
| | | | | | | | itself around for a long time - association proxy now returns None for proxied scalar that is also None, rather than raising AttributeError. [ticket:2810]
* - move this test to PG test_reflectionMike Bayer2013-10-253-81/+67
| | | | - don't use locals()
* - Fix and test parsing of MySQL foreign key options within reflection;Mike Bayer2013-10-251-0/+19
| | | | | | this complements the work in :ticket:`2183` where we begin to support reflection of foreign key options such as ON UPDATE/ON DELETE cascade. [ticket:2839]
* Merge branch 'master' of github.com:ijl/sqlalchemy into merge_2183Mike Bayer2013-10-252-0/+130
|\
| * ForeignKeyConstraint reflection test respects MySQL limitationspr/34ijl2013-10-151-12/+20
| |
| * #2183: Metadata.reflect() foreign keys include options when the dialect ↵ijl2013-10-131-0/+41
| | | | | | | | exposes it
| * PostgreSQL foreign key inspection includes optionsijl2013-10-111-0/+81
| |
* | - :func:`.attributes.get_history()` when used with a scalar column-mappedMike Bayer2013-10-252-5/+72
| | | | | | | | | | | | | | | | | | attribute will now honor the "passive" flag passed to it; as this defaults to ``PASSIVE_OFF``, the function will by default query the database if the value is not present. This is a behavioral change vs. 0.8. [ticket:2787] - Added new method :meth:`.AttributeState.load_history`, works like :attr:`.AttributeState.history` but also fires loader callables.
* | - add migration notes for [ticket:2838]Mike Bayer2013-10-241-0/+16
| | | | | | | | | | - have TypeDecorator use process_bind_param for literal values if no process_literal_param is set
* | An overhaul of expression handling for special symbols particularlyMike Bayer2013-10-234-23/+265
| | | | | | | | | | | | | | | | | | | | with conjunctions, e.g. ``None`` :func:`.expression.null` :func:`.expression.true` :func:`.expression.false`, including consistency in rendering NULL in conjunctions, "short-circuiting" of :func:`.and_` and :func:`.or_` expressions which contain boolean constants, and rendering of boolean constants and expressions as compared to "1" or "0" for backends that don't feature ``true``/``false`` constants. [ticket:2804]
* | - The regexp used by the :func:`.url.make_url` function now parsesMike Bayer2013-10-231-12/+19
| | | | | | | | ipv6 addresses, e.g. surrounded by brackets. [ticket:2851]
* | some zoomark tests without c exts callcounts updatedMike Bayer2013-10-211-3/+3
| |
* | - just comment out this test, we may have to figure out if the wholeMike Bayer2013-10-211-12/+13
| | | | | | | | | | "serializer" can just be ditched, or if somehow these deterministic issues can be fixed (everyone implements __reduce__ maybe?)
* | try to get this to pass on slow environmnetsMike Bayer2013-10-211-1/+1
| |
* | - A :func:`.bindparam` construct with a "null" type (e.g. no typeMike Bayer2013-10-211-1/+25
| | | | | | | | | | | | | | | | | | specified) is now copied when used in a typed expression, and the new copy is assigned the actual type of the compared column. Previously, this logic would occur on the given :func:`.bindparam` in place. Additionally, a similar process now occurs for :func:`.bindparam` constructs passed to :meth:`.ValuesBase.values` for a :class:`.Insert` or :class:`.Update` construct. [ticket:2850]
* | - Fixed bug where :func:`.type_coerce` would not interpret ORMMike Bayer2013-10-211-0/+11
| | | | | | | | | | elements with a ``__clause_element__()`` method properly. [ticket:2849]
* | - The typing system now handles the task of rendering "literal bind" values,Mike Bayer2013-10-202-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e.g. values that are normally bound parameters but due to context must be rendered as strings, typically within DDL constructs such as CHECK constraints and indexes (note that "literal bind" values become used by DDL as of :ticket:`2742`). A new method :meth:`.TypeEngine.literal_processor` serves as the base, and :meth:`.TypeDecorator.process_literal_param` is added to allow wrapping of a native literal rendering method. [ticket:2838] - enhance _get_colparams so that we can send flags like literal_binds into INSERT statements - add support in PG for inspecting standard_conforming_strings - add a new series of roundtrip tests based on INSERT of literal plus SELECT for basic literal rendering in dialect suite
* | - add a type_coerce() step within Enum, Boolean to the CHECK constraint,Mike Bayer2013-10-201-2/+68
| | | | | | | | | | | | | | | | so that the custom type isn't exposed to an operation that is against the "impl" type's constraint, [ticket:2842] - this change showed up as some recursion overflow in pickling with labels, add a __reduce__() there....pickling of expressions is less and less something that's very viable...
* | - The :meth:`.Table.tometadata` method now produces copies ofMike Bayer2013-10-181-1/+41
| | | | | | | | | | | | | | | | | | | | all :attr:`.SchemaItem.info` dictionaries from all :class:`.SchemaItem` objects within the structure including columns, constraints, foreign keys, etc. As these dictionaries are copies, they are independent of the original dictionary. Previously, only the ``.info`` dictionary of :class:`.Column` was transferred within this operation, and it was only linked in place, not copied. [ticket:2716]
* | use a set here alsoMike Bayer2013-10-181-2/+2
| |
* | - Removed a 128-character truncation from the reflection of theMike Bayer2013-10-181-0/+11
| | | | | | | | | | | | server default for a column; this code was original from PG system views which truncated the string for readability. [ticket:2844]
* | - The change in :ticket:`2721`, which is that the ``deferrable`` keywordMike Bayer2013-10-181-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of :class:`.ForeignKeyConstraint` is silently ignored on the MySQL backend, will be reverted as of 0.9; this keyword will now render again, raising errors on MySQL as it is not understood - the same behavior will also apply to the ``initially`` keyword. In 0.8, the keywords will remain ignored but a warning is emitted. Additionally, the ``match`` keyword now raises a :class:`.CompileError` on 0.9 and emits a warning on 0.8; this keyword is not only silently ignored by MySQL but also breaks the ON UPDATE/ON DELETE options. To use a :class:`.ForeignKeyConstraint` that does not render or renders differently on MySQL, use a custom compilation option. An example of this usage has been added to the documentation, see :ref:`mysql_foreign_keys`. [ticket:2721] [ticket:2839]
* | - Added support for rendering ``SMALLSERIAL`` when a :class:`.SmallInteger`Mike Bayer2013-10-151-7/+20
| | | | | | | | | | | | type is used on a primary key autoincrement column, based on server version detection of Postgresql version 9.2 or greater. [ticket:2840]
* | The MySQL :class:`.mysql.SET` type now features the same auto-quotingMike Bayer2013-10-142-109/+190
| | | | | | | | | | | | | | behavior as that of :class:`.mysql.ENUM`. Quotes are not required when setting up the value, but quotes that are present will be auto-detected along with a warning. This also helps with Alembic where the SET type doesn't render with quotes. [ticket:2817]
* | The ``.unique`` flag on :class:`.Index` could be produced as ``None``Mike Bayer2013-10-141-0/+22
| | | | | | | | | | | | if it was generated from a :class:`.Column` that didn't specify ``unique`` (where it defaults to ``None``). The flag will now always be ``True`` or ``False``. [ticket:2825]
* | - fix non-deterministic ordering pointMike Bayer2013-10-141-2/+3
| |
* | - fix test warning here (oursql)Mike Bayer2013-10-141-2/+2
| |
* | - Added new option to :func:`.relationship` ``distinct_target_key``.Mike Bayer2013-10-131-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the subquery eager loader strategy to apply a DISTINCT to the innermost SELECT subquery, to assist in the case where duplicate rows are generated by the innermost query which corresponds to this relationship (there's not yet a general solution to the issue of dupe rows within subquery eager loading, however, when joins outside of the innermost subquery produce dupes). When the flag is set to ``True``, the DISTINCT is rendered unconditionally, and when it is set to ``None``, DISTINCT is rendered if the innermost relationship targets columns that do not comprise a full primary key. The option defaults to False in 0.8 (e.g. off by default in all cases), None in 0.9 (e.g. automatic by default). Thanks to Alexander Koval for help with this. [ticket:2836]