File python-SQLAlchemy.changes of Package python-SQLAlchemy

-------------------------------------------------------------------
Wed Dec 19 15:48:13 UTC 2012 - saschpe@suse.de

- The doc package is noarch

-------------------------------------------------------------------
Fri Nov  2 17:53:22 UTC 2012 - termim@gmail.com

- do not require python-pysqlite package.
- update to 0.7.9:

  *orm

  - [bug] Fixed bug mostly local to new AbstractConcreteBase helper
    where the "type" attribute from the superclass would not be overridden
    on the subclass to produce the "reserved for base" error message,
    instead placing a do-nothing attribute there. This was inconsistent
    vs. using ConcreteBase as well as all the behavior of classical
    concrete mappings, where the "type" column from the polymorphic base
    would be explicitly disabled on subclasses, unless overridden
    explicitly.

  - [bug] A warning is emitted when lazy='dynamic' is combined with
    uselist=False. This is an exception raise in 0.8.

  - [bug] Fixed bug whereby user error in related-object assignment could
    cause recursion overflow if the assignment triggered a backref of the
    same name as a bi-directional attribute on the incorrect class to the
    same target. An informative error is raised now.

  - [bug] Fixed bug where incorrect type information would be passed when
    the ORM would bind the "version" column, when using the "version"
    feature. Tests courtesy Daniel Miller. [ticket:2539]

  - [bug] Extra logic has been added to the "flush" that occurs within
    Session.commit(), such that the extra state added by an after_flush()
    or after_flush_postexec() hook is also flushed in a subsequent flush,
    before the "commit" completes. Subsequent calls to flush() will
    continue until the after_flush hooks stop adding new state. An
    "overflow" counter of 100 is also in place, in the event of a broken
    after_flush() hook adding new content each time.  [ticket:2566] 

  *engine

  - [feature] Dramatic improvement in memory usage of the event system;
    instance-level collections are no longer created for a particular type of
    event until instance-level listeners are established for that
    event. [ticket:2516] 

  - [bug] Fixed bug whereby a disconnect detect + dispose that occurs when
    the QueuePool has threads waiting for connections would leave those
    threads waiting for the duration of the timeout on the old pool (or
    indefinitely if timeout was disabled). The fix now notifies those
    waiters with a special exception case and has them move onto the new
    pool. [ticket:2522]

  - [bug] Added gaerdbms import to mysql/__init__.py, the absense of which
    was preventing the new GAE dialect from being loaded. [ticket:2529]

  - [bug] Fixed cextension bug whereby the "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]

  - [bug] Fixed the repr() of Enum to include the "name" and "native_enum"
    flags. Helps Alembic autogenerate. 

  *sql

  - [bug] Fixed the DropIndex construct to support an Index associated with
    a Table in a remote schema. [ticket:2571] 

  - [bug] Fixed bug in over() construct whereby passing an empty list for
    either partition_by or order_by, as opposed to None, would fail to
    generate correctly. Courtesy Gunnlaugur Þór Briem. [ticket:2574] 

  - [bug] Fixed CTE bug whereby positional bound parameters present in the
    CTEs themselves would corrupt the overall ordering of bound
    parameters. This primarily affected SQL Server as the platform with
    positional binds + CTE support. [ticket:2521] 

  - [bug] Fixed more un-intuitivenesses in CTEs which prevented referring
    to a CTE in a union of itself without it being aliased. CTEs now render
    uniquely on name, rendering the outermost CTE of a given name only -
    all other references are rendered just as the name. This even includes
    other CTE/SELECTs that refer to different versions of the same CTE
    object, such as a SELECT or a UNION ALL of that SELECT. We are somewhat
    loosening the usual link between object identity and lexical identity
    in this case. A true name conflict between two unrelated CTEs now
    raises an error. 

  - [bug] quoting is applied to the column names inside the WITH RECURSIVE
    clause of a common table expression according to the quoting rules for
    the originating Column. [ticket:2512] 

  - [bug] Fixed regression introduced in 0.7.6 whereby the FROM list of a
    SELECT statement could be incorrect in certain "clone+replace"
    scenarios. [ticket:2518] 

  - [bug] Fixed bug whereby usage of a UNION or similar inside of an
    embedded subquery would interfere with result-column targeting, in the
    case that a result-column had the same ultimate name as a name inside
    the embedded UNION. [ticket:2552] 

  - [bug] Fixed a regression since 0.6 regarding result-row targeting. It
    should be possible to use a select() statement with string based
    columns in it, that is select(['id', 'name']).select_from('mytable'),
    and have this statement be targetable by Column objects with those
    names; this is the mechanism by which
    query(MyClass).from_statement(some_statement) works. At some point the
    specific case of using select(['id']), which is equivalent to
    select([literal_column('id')]), stopped working here, so this has been
    re-instated and of course tested. [ticket:2558] 

  - [bug] Added missing operators is_(), isnot() to the ColumnOperators
    base, so that these long-available operators are present as methods
    like all the other operators. [ticket:2544] 

  *postgresql

  - [bug] Columns in reflected primary key constraint are now returned in
    the order in which the constraint itself defines them, rather than how
    the table orders them. Courtesy Gunnlaugur Þór Briem.. [ticket:2531] 

  - [bug] Added 'terminating connection' to the list of messages we use to
    detect a disconnect with PG, which appears to be present in some
    versions when the server is restarted. [ticket:2570] 

  *mysql

  - [bug] Updated mysqlconnector interface to use updated "client flag" and
    "charset" APIs, courtesy David McNelis. 

  *sqlite

  - [feature] Added support for the localtimestamp() SQL function
    implemented in SQLite, courtesy Richard Mitchell. 

  - [bug] Adjusted a very old bugfix which attempted to work around a
    SQLite issue that itself was "fixed" as of sqlite 3.6.14, regarding
    quotes surrounding a table name when using the "foreign_key_list"
    pragma. The fix has been adjusted to not interfere with quotes that are
    actually in the name of a column or table, to as much a degree as
    possible; sqlite still doesn't return the correct result for
    foreign_key_list() if the target table actually has quotes surrounding
    its name, as part of its name (i.e. """mytable"""). [ticket:2568] 

  - [bug] Adjusted column default reflection code to convert non-string
    values to string, to accommodate old SQLite versions that don't deliver
    default info as a string. [ticket:2265] 

  *mssql

  - [bug] Fixed compiler bug whereby using a correlated subquery within an
    ORDER BY would fail to render correctly if the stament also used
    LIMIT/OFFSET, due to mis-rendering within the ROW_NUMBER() OVER
    clause. Fix courtesy sayap [ticket:2538] 

  - [bug] Fixed compiler bug whereby a given select() would be modified if
    it had an "offset" attribute, causing the construct to not compile
    correctly a second time. [ticket:2545] 

  - [bug] Fixed bug where reflection of primary key constraint would double
    up columns if the same constraint/table existed in multiple schemas. 

- update to 0.7.8:

  *orm

  - [feature] The 'objects' argument to flush() is no longer deprecated, as
    some valid use cases have been identified. 

  - [bug] Fixed bug whereby subqueryload() from a polymorphic mapping to a
    target would incur a new invocation of the query for each distinct
    class encountered in the polymorphic result. [ticket:2480] 

  - [bug] Fixed bug in declarative whereby the precedence of columns in a
    joined-table, composite column (typically for id) would fail to be
    correct if the columns contained names distinct from their attribute
    names. This would cause things like primaryjoin conditions made against
    the entity attributes to be incorrect. Related to as this was supposed
    to be part of that, this is. [ticket:2491, 1892] 

  - [bug] Fixed identity_key() function which was not accepting a scalar
    argument for the identity. . [ticket:2508] 

  - [bug] Fixed bug whereby populate_existing option would not propagate to
    subquery eager loaders. . [ticket:2497] 

  *engine

  - [bug] Fixed memory leak in C version of result proxy whereby DBAPIs
    which don't deliver pure Python tuples for result rows would fail to
    decrement refcounts correctly. The most prominently affected DBAPI is
    pyodbc. [ticket:2489] 

  - [bug] Fixed bug affecting Py3K whereby string positional parameters
    passed to engine/connection execute() would fail to be interpreted
    correctly, due to __iter__ being present on Py3K string.. [ticket:2503] 

  *sql

  - [bug] added BIGINT to types.__all__, BIGINT, BINARY, VARBINARY to
    sqlalchemy module namespace, plus test to ensure this breakage doesn't
    occur again. [ticket:2499] 

  - [bug] Repaired common table expression rendering to function correctly
    when the SELECT statement contains UNION or other compound expressions,
    courtesy btbuilder. [ticket:2490] 

  - [bug] Fixed bug whereby append_column() wouldn't function correctly on
    a cloned select() construct, courtesy Gunnlaugur Þór
    Briem. [ticket:2482] 

  *postgresql

  - [bug] removed unnecessary table clause when reflecting enums,. Courtesy
    Gunnlaugur Þór Briem. [ticket:2510] 

  *mysql

  - [feature] Added a new dialect for Google App Engine. Courtesy Richie
    Foreman. [ticket:2484] 

  *oracle

  - [bug] Added ROWID to oracle.*. [ticket:2483]

-------------------------------------------------------------------
Wed May 23 06:44:12 UTC 2012 - highwaystar.ru@gmail.com

- python3 package added 
- removed BuildRequires update-desktop-files, because there is no
  desktop files in package
- minor spec improvement 

-------------------------------------------------------------------
Sun May  6 12:22:59 UTC 2012 - lars@linux-schulserver.de

- update to 0.7.7:
  * orm
  - [bug] Fixed issue in unit of work whereby setting a non-None 
    self-referential many-to-one relationship to None would fail 
    to persist the change if the former value was not already loaded.
    [ticket:2477].

  - [feature] Added prefix_with() method to Query, calls upon 
    select().prefix_with() to allow placement of MySQL SELECT
    directives in statements.  Courtesy Diana Clarke [ticket:2443]

  - [bug] Fixed bug in 0.7.6 introduced by [ticket:2409] whereby 
    column_mapped_collection used against columns that were mapped as
    joins or other indirect selectables would fail to function.

  - [feature] Added new flag to @validates include_removes. When True, 
    collection remove and attribute del events will also be sent to 
    the validation function, which accepts an additional argument
    "is_remove" when this flag is used.

  - [bug] Fixed bug whereby polymorphic_on column that's not otherwise 
    mapped on the class would be incorrectly included in a merge() 
    operation, raising an error. [ticket:2449]

  - [bug] Fixed bug in expression annotation mechanics which could 
    lead to incorrect rendering of SELECT statements with aliases
    and joins, particularly when using column_property(). [ticket:2453]

  - [bug] Fixed bug which would prevent OrderingList from being 
    pickleable [ticket:2454].  Courtesy Jeff Dairiki

  - [bug] Fixed bug in relationship comparisons whereby calling 
    unimplemented methods like SomeClass.somerelationship.like() 
    would produce a recursion overflow, instead of NotImplementedError.

  * sql
  - [bug] Removed warning when Index is created with no columns;  
    while this might not be what the user intended, it is a valid use case 
    as an Index could be a placeholder for just an index of a certain name.

  - [feature] Added new connection event dbapi_error(). Is called for 
    all DBAPI-level errors passing the original DBAPI exception before 
    SQLAlchemy modifies the state of the cursor. "with engine.begin()", 
    the newly acquired Connection is closed explicitly before propagating 
    the exception onward normally.

  - [bug] Add BINARY, VARBINARY to types.__all__, [ticket:2474]

  * mssql
  - [feature] Added interim create_engine flag supports_unicode_binds 
    to PyODBC dialect, to force whether or not the dialect passes 
    Python unicode literals to PyODBC or not.

  - [bug] Repaired the use_scope_identity create_engine() flag when 
    using the pyodbc dialect. Previously this flag would be ignored if 
    set to False.  When set to False, you'll get "SELECT @@identity" 
    after each INSERT to get at the last inserted ID, for those tables 
    which have "implicit_returning" set to False.
 
  - [bug] UPDATE..FROM syntax with SQL Server requires that the updated 
    table be present in the FROM clause when an alias of that table is 
    also present in the FROM clause. The updated table is now always present
    in the FROM, when FROM is present in the first place.  Courtesy sayap.
    [ticket:2468]

  * postgresql
  - [feature] Added new for_update/with_lockmode() options for Postgresql: 
    for_update="read"/ with_lockmode("read"), for_update="read_nowait"/
    with_lockmode("read_nowait"). These emit "FOR SHARE" and "FOR SHARE 
    NOWAIT", respectively.  Courtesy Diana Clarke [ticket:2445]

  - [bug] removed unnecessary table clause when reflecting domains, [ticket:2473]

  * mysql
  - [bug] Fixed bug whereby column name inside of "KEY" clause for autoincrement 
    composite column with InnoDB would double quote a name that's a reserved 
    word.  Courtesy Jeff Dairiki. [ticket:2460]

  - [bug] Fixed bug whereby get_view_names() for "information_schema" schema 
    would fail to retrieve views marked as "SYSTEM VIEW". courtesy Matthew Turland.

  - [bug] Fixed bug whereby if cast() is used on a SQL expression whose type 
    is not supported by cast() and therefore CAST isn't rendered by the 
    dialect, the order of evaluation could change if the casted expression 
    required that it be grouped; grouping is now applied to those expressions.

  * sqlite
  - [feature] Added SQLite execution option "sqlite_raw_colnames=True", will 
    bypass attempts to remove "." from column names returned by SQLite 
    cursor.description. [ticket:2475]

-------------------------------------------------------------------
Mon Apr 30 09:13:02 UTC 2012 - cfarrell@suse.com

- Update to 0.7.6
 * orm
  - [bug] Fixed event registration bug
    which would primarily show up as
    events not being registered with 
    sessionmaker() instances created
    after the event was associated
    with the Session class.  [ticket:2424]

  - [bug] Fixed bug whereby a primaryjoin
    condition with a "literal" in it would
    raise an error on compile with certain
    kinds of deeply nested expressions
    which also needed to render the same
    bound parameter name more than once.
    [ticket:2425]

  - [feature] Added "no_autoflush" context
    manager to Session, used with with:
    will temporarily disable autoflush.

  - [feature] Added cte() method to Query,
    invokes common table expression support
    from the Core (see below). [ticket:1859]

  - [bug] Removed the check for number of
    rows affected when doing a multi-delete
    against mapped objects.   If an ON DELETE
    CASCADE exists between two rows, we can't
    get an accurate rowcount from the DBAPI;
    this particular count is not supported
    on most DBAPIs in any case, MySQLdb
    is the notable case where it is.
    [ticket:2403]

  - [bug] Fixed bug whereby objects using
    attribute_mapped_collection or 
    column_mapped_collection could not be
    pickled.  [ticket:2409]

  - [bug] Fixed bug whereby MappedCollection
    would not get the appropriate collection
    instrumentation if it were only used
    in a custom subclass that used
    @collection.internally_instrumented.  
    [ticket:2406]

  - [bug] Fixed bug whereby SQL adaption mechanics
    would fail in a very nested scenario involving
    joined-inheritance, joinedload(), limit(), and a
    derived function in the columns clause.  
    [ticket:2419]

  - [bug] Fixed the repr() for CascadeOptions to
    include refresh-expire.  Also reworked
    CascadeOptions to be a <frozenset>.
    [ticket:2417]

  - [feature] Added the ability to query for
    Table-bound column names when using 
    query(sometable).filter_by(colname=value).  
    [ticket:2400]

  - [bug] Improved the "declarative reflection" 
    example to support single-table inheritance,
    multiple calls to prepare(), tables that
    are present in alternate schemas,
    establishing only a subset of classes
    as reflected.

  - [bug] Scaled back the test applied within
    flush() to check for UPDATE against partially 
    NULL PK within one table to only actually 
    happen if there's really an UPDATE to occur.
    [ticket:2390]

  - [bug] Fixed bug whereby if a method name
    conflicted with a column name, a
    TypeError would be raised when the mapper
    tried to inspect the __get__() method
    on the method object.  [ticket:2352]

 * sql
  - [bug] Fixed memory leak in core which would
    occur when C extensions were used with
    particular types of result fetches,
    in particular when orm query.count()
    were called.  [ticket:2427]

  - [bug] Fixed issue whereby attribute-based
    column access on a row would raise 
    AttributeError with non-C version,
    NoSuchColumnError with C version.  Now
    raises AttributeError in both cases.
    [ticket:2398]

  - [feature] Added support for SQL standard
    common table expressions (CTE), allowing
    SELECT objects as the CTE source (DML
    not yet supported).  This is invoked via
    the cte() method on any select() construct.
    [ticket:1859]

  - [bug] Added support for using the .key
    of a Column as a string identifier in a 
    result set row.   The .key is currently
    listed as an "alternate" name for a column,
    and is superseded by the name of a column 
    which has that key value as its regular name.
    For the next major release
    of SQLAlchemy we may reverse this precedence
    so that .key takes precedence, but this
    is not decided on yet.  [ticket:2392]

  - [bug] A warning is emitted when a not-present
    column is stated in the values() clause
    of an insert() or update() construct.
    Will move to an exception in 0.8.
    [ticket:2413]

  - [bug] A significant change to how labeling
    is applied to columns in SELECT statements
    allows "truncated" labels, that is label names
    that are generated in Python which exceed
    the maximum identifier length (note this is 
    configurable via label_length on create_engine()),
    to be properly referenced when rendered inside
    of a subquery, as well as to be present
    in a result set row using their original
    in-Python names.   [ticket:2396]

  - [bug] Fixed bug in new "autoload_replace" flag
    which would fail to preserve the primary
    key constraint of the reflected table.
    [ticket:2402]

  - [bug] Index will raise when arguments passed
    cannot be interpreted as columns or expressions.
    Will warn when Index is created
    with no columns at all.  [ticket:2380]

 * engine
  - [feature] Added "no_parameters=True" execution
    option for connections.   If no parameters
    are present, will pass the statement
    as cursor.execute(statement), thereby invoking
    the DBAPIs behavior when no parameter collection
    is present; for psycopg2 and mysql-python, this
    means not interpreting % signs in the string.
    This only occurs with this option, and not
    just if the param list is blank, as otherwise
    this would produce inconsistent behavior
    of SQL expressions that normally escape percent
    signs (and while compiling, can't know ahead of 
    time if parameters will be present in 
    some cases).  [ticket:2407]

  - [bug] Added execution_options() call to
    MockConnection (i.e., that used with 
    strategy="mock") which acts as a pass through
    for arguments.

  - [feature] Added pool_reset_on_return argument
    to create_engine, allows control over 
    "connection return" behavior.  Also added
    new arguments 'rollback', 'commit', None
    to pool.reset_on_return to allow more control
    over connection return activity. [ticket:2378]

  - [feature] Added some decent context managers
    to Engine, Connection:

        with engine.begin() as conn:
            <work with conn in a transaction>

    and:

        with engine.connect() as conn:
            <work with conn>

    Both close out the connection when done,
    commit or rollback transaction with errors
    on engine.begin().

 * sqlite
  - [bug] Fixed bug in C extensions whereby
    string format would not be applied to a
    Numeric value returned as integer; this
    affected primarily SQLite which does
    not maintain numeric scale settings.
    [ticket:2432]

 * mssql
  - [feature] Added support for MSSQL INSERT, 
    UPDATE, and DELETE table hints, using
    new with_hint() method on UpdateBase.
    [ticket:2430]

 * mysql
  - [feature] Added support for MySQL index and
    primary key constraint types
    (i.e. USING) via new mysql_using parameter
    to Index and PrimaryKeyConstraint, 
    courtesy Diana Clarke.  [ticket:2386]

  - [feature] Added support for the "isolation_level"
    parameter to all MySQL dialects.  Thanks
    to mu_mind for the patch here. [ticket:2394]

 * oracle
  - [feature] Added a new create_engine() flag
    coerce_to_decimal=False, disables the precision
    numeric handling which can add lots of overhead
    by converting all numeric values to 
    Decimal.  [ticket:2399]

  - [bug] Added missing compilation support for 
    LONG [ticket:2401]

  - [bug] Added 'LEVEL' to the list of reserved
    words for Oracle.  [ticket:2435]

 * examples
  - [bug] Altered _params_from_query() function
    in Beaker example to pull bindparams from the
    fully compiled statement, as a quick means
    to get everything including subqueries in the
    columns clause, etc. 

-------------------------------------------------------------------
Wed Feb 22 12:36:45 UTC 2012 - saschpe@suse.de

- Fixed SLE_11 build by disabling the testsuite for it

-------------------------------------------------------------------
Thu Feb  9 09:39:26 UTC 2012 - rhafer@suse.de

- Update to 0.7.5:
  * Fixed issue where modified session state established after a
    failed flush would be committed as part of the subsequent
    transaction that begins automatically after manual call to
    rollback().
  * Improved the API for add_column() such that if the same column
    is added to its own table, an error is not raised and the
    constraints don't get doubled up.
  * Fixed issue where the "required" exception would not be raised
    for bindparam() with required=True, if the statement were given
    no parameters at all.
  * for more details see the CHANGES file.

-------------------------------------------------------------------
Thu Nov 10 10:56:36 UTC 2011 - saschpe@suse.de

- Add depenendency on pysqlite

-------------------------------------------------------------------
Wed Sep 21 11:51:17 UTC 2011 - saschpe@suse.de

- Update to version 0.7.2:
  * A rework of "replacement traversal"
  * Fixed bug where query.join() + aliased=True
  * Fixed regression from 0.6 where Session.add()
    against an object which contained None
  - See CHANGES for more...
- Run testsuite

-------------------------------------------------------------------
Wed Jul 20 17:42:11 UTC 2011 - saschpe@gmx.de

- Let doc package require base package instead of recommends

-------------------------------------------------------------------
Wed Jul 20 17:23:11 UTC 2011 - saschpe@gmx.de

- Dropped unused BuildRequires for fdupes and python-sqlite2

-------------------------------------------------------------------
Wed Jul 20 16:59:39 UTC 2011 - saschpe@gmx.de

- Initial version, replaces python-sqlalchemy
  * Much simpler spec file
  * Packaged LICENSE, CHANGES and README files
openSUSE Build Service is sponsored by