summaryrefslogtreecommitdiff
path: root/test/dialect/test_sqlite.py
Commit message (Collapse)AuthorAgeFilesLines
...
* - dont need this import and it's not in 2.6 anywayMike Bayer2014-02-171-1/+0
|
* - rewrite SQLite reflection tests into one consistent fixture, which testsMike Bayer2014-02-161-159/+144
| | | | both _resolve_type_affinity() directly as well as round trip tests fully.
* - The SQLite dialect will now skip unsupported arguments when reflectingMike Bayer2014-02-161-4/+16
| | | | | | 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.
* SQLite dialect - support relection from affinitypr/65Erich Blume2014-02-031-5/+63
| | | | | | | | | | | | | | | | | | | | | | 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!).
* The newly added SQLite DATETIME arguments storage_format andMike Bayer2013-07-121-1/+46
| | | | | | | regexp apparently were not fully implemented correctly; while the arguments were accepted, in practice they would have no effect; this has been fixed. Also in 0.8.3. [ticket:2781]
* Added :class:`.BIGINT` to the list of type names that can beMike Bayer2013-07-021-1/+3
| | | | | reflected by the SQLite dialect; courtesy Russell Stuart. [ticket:2764]
* - add a test specific to sqlite testing cursor.description encoding (shouldMike Bayer2013-05-261-1/+22
| | | | | probably be one in test_query or test_unicode...) - fix up test_unitofwork
* sqlite testsMike Bayer2013-05-261-5/+5
|
* - the raw 2to3 runMike Bayer2013-04-271-5/+5
| | | | - went through examples/ and cleaned out excess list() calls
* More adjustment to this SQLite related issue which was released inMike Bayer2012-12-141-2/+26
| | | | | | | 0.7.9, to intercept legacy SQLite quoting characters when reflecting foreign keys. In addition to intercepting double quotes, other quoting characters such as brackets, backticks, and single quotes are now also intercepted. [ticket:2568]
* getting everything to pass againMike Bayer2012-09-271-1/+3
|
* trying different approaches to test layout. in this one, the testing modulesMike Bayer2012-09-271-2/+2
| | | | | | | 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] Added support for the localtimestamp()Mike Bayer2012-09-261-0/+6
| | | | | SQL function implemented in SQLite, courtesy Richard Mitchell. Added test
* - [bug] Adjusted column default reflection code toMike Bayer2012-09-231-1/+14
| | | | | | | | convert non-string values to string, to accommodate old SQLite versions that don't deliver default info as a string. [ticket:2265] - factor sqlite column reflection to be like we did for postgresql, in a separate method.
* - [bug] Adjusted a very old bugfix which attemptedMike Bayer2012-09-191-13/+44
| | | | | | | | | | | | | | 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]
* -whitespace bonanza, contdMike Bayer2012-07-281-15/+15
|
* Improve SQLite DATETIME storage format handling [ticket:2363]Nathan Wright2012-03-121-0/+82
| | | | | | | | | | | | | | This breaks backwards compatibility with old SQLite DATETIME, DATE, and TIME storage_format strings. Formatting now occurs with named instead of positional parameters. The regexp argument can still use positional arguments, but named groupings are also supported. This means that you can omit fields and change the order of date fields as desired. SQLite's DATETIME and TIME also gained a truncate_microseconds argument. This is shorthand for modifying the format string. Fortunately the str_to_datetime and str_to_time processors written in C already support omitting microseconds, so we don't have to resort to python processing for this case.
* Move a SQLLite datetime test to a new DateTimeTest caseNathan Wright2012-03-121-9/+12
|
* - [feature] Added "false()" and "true()" expressionMike Bayer2012-01-181-0/+21
| | | | | | | constructs to sqlalchemy.sql namespace, though not part of __all__ as of yet. - [bug] sql.false() and sql.true() compile to 0 and 1, respectively in sqlite [ticket:2368]
* that's not a "name=0", that's a counter. so name is None unconditonally.Mike Bayer2012-01-071-5/+11
| | | | [ticket:2348]
* - [bug] the "name" of an FK constraint in SQLiteMike Bayer2012-01-071-0/+37
| | | | | | is reflected as "None", not "0" [ticket:2364]. SQLite does not appear to support constraint naming in any case (the names are ignored).
* - Ensured that the same ValueError is raised forMike Bayer2011-08-041-1/+15
| | | | | | illegal date/time/datetime string parsed from the database regardless of whether C extensions are in use or not.
* - SQLite dialect no longer strips quotesMike Bayer2011-07-281-2/+27
| | | | | | | | off of reflected default value, allowing a round trip CREATE TABLE to work. This is consistent with other dialects that also maintain the exact form of the default. [ticket:2189]
* test only runs on sqliteMike Bayer2011-04-101-0/+4
|
* - Fixed bug where reflection of foreign keyMike Bayer2011-04-101-0/+19
| | | | | | created as "REFERENCES <tablename>" without col name would fail. [ticket:2115] (also in 0.6.7)
* - move all the comments that got shoved below the fixture grabs back upMike Bayer2011-03-271-1/+2
|
* - remove test.sql._base, test.engine._base, test.orm._base, move those ↵Mike Bayer2011-03-271-7/+7
| | | | | | | 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/+2
| | | | | - having occasional issues with BasicEntity grabbing, if it persists may have to pass an explicit base class into setup_classes()/setup_mappers()
* fix sqlite testMike Bayer2011-02-111-1/+1
|
* - The path given as the location of a sqlite database is nowMike Bayer2011-02-101-2/+10
| | | | | | normalized via os.path.abspath(), so that directory changes within the process don't affect the ultimate location of a relative file path. [ticket:2036]
* - Non-DBAPI errors which occur in the scope of an `execute()`Mike Bayer2011-02-091-1/+1
| | | | | | | | call are now wrapped in sqlalchemy.exc.StatementError, and the text of the SQL statement and repr() of params is included. This makes it easier to identify statement executions which fail before the DBAPI becomes involved. [ticket:2015]
* - factor consistent set_isolation_level(), get_isolation_level()Mike Bayer2011-01-161-14/+0
| | | | | | per-connection methods for sqlite, postgresql, psycopg2 dialects - move isolation test suite to test engines/test_transaction - preparing for [ticket:2001]
* - fix reflection of unknown types with arguments, NullType() accepts no ↵Mike Bayer2011-01-121-18/+27
| | | | arguments.
* - A TypeDecorator of Integer can be used with a primary keyMike Bayer2011-01-111-0/+14
| | | | | | | | | | | | | | | | | | | column, and the "autoincrement" feature of various dialects as well as the "sqlite_autoincrement" flag will honor the underlying database type as being Integer-based. [ticket:2005] - Result-row processors are applied to pre-executed SQL defaults, as well as cursor.lastrowid, when determining the contents of result.inserted_primary_key. [ticket:2006] - Bind parameters present in the "columns clause" of a select are now auto-labeled like other "anonymous" clauses, which among other things allows their "type" to be meaningful when the row is fetched, as in result row processors. - TypeDecorator is present in the "sqlalchemy" import space.
* - whitespace removal bonanzaMike Bayer2011-01-021-10/+10
|
* - sqlalchemy.test and nose plugin moves back to being entirelyMike Bayer2010-11-281-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | outside of "sqlalchemy" and under "test/". Rationale: - coverage plugin works without issue, without need for an awkward additional package install - command line for "nosetests" isn't polluted with SQLAlchemy options [ticket:1949]
| * - move sqlalchemy.test to test.libMike Bayer2010-11-151-2/+2
| |
* | - NullPool is now used by default for SQLite file-Mike Bayer2010-11-281-1/+12
|/ | | | | | based databases. :memory: databases will continue to select SingletonThreadPool by default. [ticket:1921]
* - On the same theme, the REFERENCES clause in a CREATE TABLEMike Bayer2010-11-121-3/+33
| | | | | | that includes a remote schema to a *different* schema than that of the parent table doesn't render at all, as cross-schema references do not appear to be supported.
* - The REFERENCES clause in a CREATE TABLE that includesMike Bayer2010-11-121-0/+21
| | | | | a remote schema name now renders the remote name without the schema clause, as required by SQLite. [ticket:1851]
* test/dialectMike Bayer2010-07-111-258/+254
|
* - Fixed concatenation of constraints when "PRIMARY KEY"Mike Bayer2010-05-271-0/+13
| | | | | | | constraint gets moved to column level due to SQLite AUTOINCREMENT keyword being rendered. [ticket:1812] - remove some extra space in between constraint DDL - added alias() to binary comparison test, fixing pg + mysql failures
* fix sqlite testsMike Bayer2010-03-191-4/+4
|
* Match tests have been completely wrong.Michael Trier2010-02-261-1/+1
|
* - The assert_unicode flag is deprecated. SQLAlchemy will raiseMike Bayer2010-02-251-4/+4
| | | | | | a warning in all cases where it is asked to encode a non-unicode Python string, and will do nothing for DBAPIs that already accept Python unicode objects.
* - Added "native_datetime=True" flag to create_engine().Mike Bayer2010-02-111-0/+25
| | | | | | | | | This will cause the DATE and TIMESTAMP types to skip all bind parameter and result row processing, under the assumption that PARSE_DECLTYPES has been enabled on the connection. Note that this is not entirely compatible with the "func.current_date()", which will be returned as a string. [ticket:1685]
* - Column() supports a keyword argument "sqlite_autoincrement", whichMike Bayer2009-12-181-1/+23
| | | | | | | | applies the SQLite keyword "AUTOINCREMENT" to columns within DDL - will prevent generation of a separate PRIMARY KEY constraint. [ticket:1016] - added docs - fixed underlines in mysql.rst
* - sqlite dialect properly generates CREATE INDEX for a tableMike Bayer2009-12-071-1/+13
| | | | that is in an alternate schema. [ticket:1439]
* - The Boolean type, when used on a backend that doesn'tMike Bayer2009-12-061-3/+9
| | | | | | | | | | have native boolean support, will generate a CHECK constraint "col IN (0, 1)" along with the int/smallint- based column type. This can be switched off if desired with create_constraint=False. Note that MySQL has no native boolean *or* CHECK constraint support so this feature isn't available on that platform. [ticket:1589]
* - reworked the DDL generation of ENUM and similar to be more platform agnostic.Mike Bayer2009-12-061-6/+1
| | | | | | | Uses a straight CheckConstraint with a generic expression. Preparing for boolean constraint in [ticket:1589] - CheckConstraint now accepts SQL expressions, though support for quoting of values will be very limited. we don't want to get into formatting dates and such.