<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/test/dialect, branch pr/74</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>Restore coercion to unicode with cx_Oracle.</title>
<updated>2014-02-27T20:15:21+00:00</updated>
<author>
<name>Christoph Zwerschke</name>
<email>cito@online.de</email>
</author>
<published>2014-02-27T20:15:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c4dede6e7c1420aacc54c9c326bf3a834dff45c7'/>
<id>c4dede6e7c1420aacc54c9c326bf3a834dff45c7</id>
<content type='text'>
This feature is now turned off by default.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This feature is now turned off by default.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Added new MySQL-specific :class:`.mysql.DATETIME` which includes</title>
<updated>2014-02-19T20:49:37+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-19T20:49:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a552606091bf84579751cd80ca458a0483b2b96a'/>
<id>a552606091bf84579751cd80ca458a0483b2b96a</id>
<content type='text'>
fractional seconds support; also added fractional seconds support
to :class:`.mysql.TIMESTAMP`.  DBAPI support is limited, though
fractional seconds are known to be supported by MySQL Connector/Python.
Patch courtesy Geert JM Vanderkelen. #2941
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fractional seconds support; also added fractional seconds support
to :class:`.mysql.TIMESTAMP`.  DBAPI support is limited, though
fractional seconds are known to be supported by MySQL Connector/Python.
Patch courtesy Geert JM Vanderkelen. #2941
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of https://bitbucket.org/50onred/sqlalchemy/overview into t</title>
<updated>2014-02-19T20:24:36+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-19T20:24:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=7e66d7e392138caf2a57be53f2498e6098c30187'/>
<id>7e66d7e392138caf2a57be53f2498e6098c30187</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- Support has been improved for Postgresql reflection behavior on very old</title>
<updated>2014-02-18T23:35:23+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-18T23:35:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ecdfc31774e226b9f57701ae197d1bcbaf6afa24'/>
<id>ecdfc31774e226b9f57701ae197d1bcbaf6afa24</id>
<content type='text'>
(pre 8.1) versions of Postgresql, and potentially other PG engines
such as Redshift (assuming Redshift reports the version as &lt; 8.1).
The query for "indexes" as well as "primary keys" relies upon inspecting
a so-called "int2vector" datatype, which refuses to coerce to an array
prior to 8.1 causing failures regarding the "ANY()" operator used
in the query.  Extensive googling has located the very hacky, but
recommended-by-PG-core-developer query to use when PG version &lt; 8.1
is in use, so index and primary key constraint reflection now work
on these versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(pre 8.1) versions of Postgresql, and potentially other PG engines
such as Redshift (assuming Redshift reports the version as &lt; 8.1).
The query for "indexes" as well as "primary keys" relies upon inspecting
a so-called "int2vector" datatype, which refuses to coerce to an array
prior to 8.1 causing failures regarding the "ANY()" operator used
in the query.  Extensive googling has located the very hacky, but
recommended-by-PG-core-developer query to use when PG version &lt; 8.1
is in use, so index and primary key constraint reflection now work
on these versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>- dont need this import and it's not in 2.6 anyway</title>
<updated>2014-02-17T21:03:07+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-17T21:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=b4d9795db164ccb509ddac311f640df1a75a74e5'/>
<id>b4d9795db164ccb509ddac311f640df1a75a74e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- rewrite SQLite reflection tests into one consistent fixture, which tests</title>
<updated>2014-02-16T23:14:10+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-16T23:14:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=00c6ebb4408964583943826c831064e1d7472169'/>
<id>00c6ebb4408964583943826c831064e1d7472169</id>
<content type='text'>
both _resolve_type_affinity() directly as well as round trip tests fully.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
both _resolve_type_affinity() directly as well as round trip tests fully.
</pre>
</div>
</content>
</entry>
<entry>
<title>- The SQLite dialect will now skip unsupported arguments when reflecting</title>
<updated>2014-02-16T22:20:18+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-16T22:20:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=5e100a70c51362b522c8d4a05c0149c7d77672fb'/>
<id>5e100a70c51362b522c8d4a05c0149c7d77672fb</id>
<content type='text'>
types; such as if it encounters a string like ``INTEGER(5)``, the
:class:`.INTEGER` type will be instantiated without the "5" being included,
based on detecting a ``TypeError`` on the first attempt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
types; such as if it encounters a string like ``INTEGER(5)``, the
:class:`.INTEGER` type will be instantiated without the "5" being included,
based on detecting a ``TypeError`` on the first attempt.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of https://github.com/eblume/sqlalchemy into t</title>
<updated>2014-02-16T21:43:42+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-02-16T21:43:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=198a900bd19dd6ef21f642dccfc8f5bd3321181a'/>
<id>198a900bd19dd6ef21f642dccfc8f5bd3321181a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixes MySQL dialect partitioning</title>
<updated>2014-02-14T18:23:51+00:00</updated>
<author>
<name>Marcus McCurdy</name>
<email>mmccurdy@50onred.com</email>
</author>
<published>2014-02-14T18:23:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c597843f137b2b3ff90e648e7507dd1f325d4f48'/>
<id>c597843f137b2b3ff90e648e7507dd1f325d4f48</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SQLite dialect - support relection from affinity</title>
<updated>2014-02-04T00:55:00+00:00</updated>
<author>
<name>Erich Blume</name>
<email>blume.erich@gmail.com</email>
</author>
<published>2014-02-04T00:55:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e47f99450378a7b1ea29a8493c0692bcf8669da3'/>
<id>e47f99450378a7b1ea29a8493c0692bcf8669da3</id>
<content type='text'>
SQLite allows column types that aren't technically understood in sqlite
by using 'data affinity', which is an algorithm for converting column
types in to some sort of useful type that can be stored and retrieved
from the db. Unfortunatly, this breaks reflection since we (previously)
expected a sqlite db to reflect column types that we permit in the
`ischema_names` for that dialect.

This patch changes the logic for 'unknown' column types during
reflection to instead run through SQLite's data affinity algorithm, and
assigns appropriate types from that.

It also expands the matching for column type to include column types
with spaces (strongly discouraged but allowed by sqlite) and also
completely empty column types (in which case the NullType is assigned,
which sqlite will treat as a Blob - or rather, Blob is treated as
NullType). These changes mean that SQLite will never raise an error for
an unknown type during reflection - there will always be some 'useful'
type returned, which follows the spirit of SQLite (accomodation before
sanity!).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SQLite allows column types that aren't technically understood in sqlite
by using 'data affinity', which is an algorithm for converting column
types in to some sort of useful type that can be stored and retrieved
from the db. Unfortunatly, this breaks reflection since we (previously)
expected a sqlite db to reflect column types that we permit in the
`ischema_names` for that dialect.

This patch changes the logic for 'unknown' column types during
reflection to instead run through SQLite's data affinity algorithm, and
assigns appropriate types from that.

It also expands the matching for column type to include column types
with spaces (strongly discouraged but allowed by sqlite) and also
completely empty column types (in which case the NullType is assigned,
which sqlite will treat as a Blob - or rather, Blob is treated as
NullType). These changes mean that SQLite will never raise an error for
an unknown type during reflection - there will always be some 'useful'
type returned, which follows the spirit of SQLite (accomodation before
sanity!).
</pre>
</div>
</content>
</entry>
</feed>
