summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/sqlite
Commit message (Collapse)AuthorAgeFilesLines
...
* | - move LIMIT/OFFSET rendering to be as bind parameters, for all backendsMike Bayer2010-08-291-4/+4
|/ | | | | | | | | | which support it. This includes SQLite, MySQL, Postgresql, Firebird, Oracle (already used binds with ROW NUMBER OVER), MSSQL (when ROW NUMBER is used, not TOP). Not included are Informix, Sybase, MaxDB, Access [ticket:805] - LIMIT/OFFSET parameters need to stay as literals within SQL constructs. This because they may not be renderable as binds on some backends.
* - Calling fetchone() or similar on a result thatMike Bayer2010-08-031-1/+1
| | | | | | | | | | | | | | | | has already been exhausted, has been closed, or is not a result-returning result now raises ResourceClosedError, a subclass of InvalidRequestError, in all cases, regardless of backend. Previously, some DBAPIs would raise ProgrammingError (i.e. pysqlite), others would return None leading to downstream breakages (i.e. MySQL-python). - Connection, ResultProxy, as well as Session use ResourceClosedError for all "this connection/transaction/result is closed" types of errors.
* - Changed the scheme used to generate truncatedMike Bayer2010-07-211-1/+1
| | | | | | | | | | | | "auto" index names when using the "index=True" flag on Column. The truncation only takes place with the auto-generated name, not one that is user-defined (an error would be raised instead), and the truncation scheme itself is now based on a fragment of an md5 hash of the identifier name, so that multiple indexes on columns with similar names still have unique names. [ticket:1855]
* - Fixed concatenation of constraints when "PRIMARY KEY"Mike Bayer2010-05-271-1/+1
| | | | | | | 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
* place docs for DBAPI-agnostic transaction_isolation setting for sqlite, pg ↵Mike Bayer2010-04-301-1/+9
| | | | [ticket:1784]
* clean up sqlite version detection stuffMike Bayer2010-03-262-7/+12
|
* removed all dialect table_names() methods and standardizedMike Bayer2010-03-191-6/+3
| | | | on get_table_names(). [ticket:1739]
* - moved most Decimal bind/result handling into types.py, out of sqlite, ↵Mike Bayer2010-03-181-15/+0
| | | | | | | mysql dialects. - added an explicit test for [ticket:1216] - some questions remain about MSSQL - would like to simplify/remove bind handling for numerics
* - added pyodbc for sybase driver.Mike Bayer2010-03-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | - generalized the "freetds" / "unicode statements" behavior of MS-SQL/pyodbc into the base Pyodbc connector, as this seems to apply to Sybase as well. - generalized the python-sybase "use autocommit for DDL" into the pyodbc connector. With pyodbc, the "autocommit" flag on connection is used, as Pyodbc seems to have more database conversation than python-sybase that can't otherwise be suppressed. - Some platforms will now interpret certain literal values as non-bind parameters, rendered literally into the SQL statement. This to support strict SQL-92 rules that are enforced by some platforms including MS-SQL and Sybase. In this model, bind parameters aren't allowed in the columns clause of a SELECT, nor are certain ambiguous expressions like "?=?". When this mode is enabled, the base compiler will render the binds as inline literals, but only across strings and numeric values. Other types such as dates will raise an error, unless the dialect subclass defines a literal rendering function for those. The bind parameter must have an embedded literal value already or an error is raised (i.e. won't work with straight bindparam('x')). Dialects can also expand upon the areas where binds are not accepted, such as within argument lists of functions (which don't work on MS-SQL when native SQL binding is used).
* - The except_() method now renders as MINUS on Oracle,Mike Bayer2010-03-161-2/+3
| | | | | which is more or less equivalent on that platform. [ticket:1712]
* - The visit_pool() method of Dialect is removed, and replaced withMike Bayer2010-03-151-14/+14
| | | | | | | | on_connect(). This method returns a callable which receives the raw DBAPI connection after each one is created. The callable is assembled into a first_connect/connect pool listener by the connection strategy if non-None. Provides a simpler interface for dialects.
* - name all the "sub" dialect components <DB><component>_<dialectname>, ↵Mike Bayer2010-03-141-2/+2
| | | | [ticket:1738]
* typoMike Bayer2010-03-051-1/+1
|
* - Added an optional C extension to speed up the sql layer byGaëtan de Menten2010-02-131-24/+20
| | | | | | | | | | | | | | | reimplementing the highest impact functions. The actual speedups will depend heavily on your DBAPI and the mix of datatypes used in your tables, and can vary from a 50% improvement to more than 200%. It also provides a modest (~20%) indirect improvement to ORM speed for large queries. Note that it is *not* built/installed by default. See README for installation instructions. - The most common result processors conversion function were moved to the new "processors" module. Dialect authors are encouraged to use those functions whenever they correspond to their needs instead of implementing custom ones.
* - Added "native_datetime=True" flag to create_engine().Mike Bayer2010-02-112-9/+79
| | | | | | | | | 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]
* - types.Binary is renamed to types.LargeBinary, it onlyMike Bayer2010-01-231-1/+1
| | | | | | | produces BLOB, BYTEA, or a similar "long binary" type. New base BINARY and VARBINARY types have been added to access these MySQL/MS-SQL specific types in an agnostic way [ticket:1664].
* happy new yearMike Bayer2010-01-071-1/+1
|
* and the docs...Mike Bayer2009-12-181-3/+6
|
* - Column() supports a keyword argument "sqlite_autoincrement", whichMike Bayer2009-12-181-0/+42
| | | | | | | | 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-2/+26
| | | | that is in an alternate schema. [ticket:1439]
* - The Boolean type, when used on a backend that doesn'tMike Bayer2009-12-061-16/+0
| | | | | | | | | | 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]
* revert part of the change of r6510 because "select datetime('now')" in SQLiteGaëtan de Menten2009-11-171-2/+2
| | | | does not contain microseconds
* - sqliteGaëtan de Menten2009-11-171-55/+71
| | | | | | | | | | | | | | | | - DATE, TIME and DATETIME types can now take optional storage_format and regexp argument. storage_format can be used to store those types using a custom string format. regexp allows to use a custom regular expression to match string values from the database. - Time and DateTime types now use by a default a stricter regular expression to match strings from the database. Use the regexp argument if you are using data stored in a legacy format. - __legacy_microseconds__ on SQLite Time and DateTime types is not supported anymore. You should use the storage_format argument instead. - Date, Time and DateTime types are now stricter in what they accept as bind parameters: Date type only accepts date objects (and datetime ones, because they inherit from date), Time only accepts time objects, and DateTime only accepts date and datetime objects.
* - pg8000 + postgresql dialects now check for float/numeric returnMike Bayer2009-11-151-4/+4
| | | | | | | | | | types to more intelligently determine float() vs. Decimal(), [ticket:1567] - since result processing is a hot issue of late, the DBAPI type returned from cursor.description is certainly useful in cases like these to determine an efficient result processor. There's likely other result processors that can make use of it. But, backwards incompat change to result_processor(). Happy major version number..
* add "dialect" to the __all__ of each root dialect packageMike Bayer2009-11-011-2/+2
|
* added comment so that other people don't spend their time trying to optimizeGaëtan de Menten2009-10-301-0/+2
| | | | optimal code
* minor speed improvement on date, datetime and time types on SQLiteGaëtan de Menten2009-10-301-1/+2
|
* - generalized Enum to issue a CHECK constraint + VARCHAR on default platformMike Bayer2009-10-251-1/+1
| | | | - added native_enum=False flag to do the same on MySQL, PG, if desired
* export UPPERCASE types as "from sqlalchemy.dialects.<dbname> import VARCHAR, ↵Mike Bayer2009-10-101-1/+11
| | | | TEXT, INET, ..."
* - boolean, int, and float arguments count as "cache key" values for ↵Mike Bayer2009-10-011-0/+6
| | | | | | inspector info_cache() - added awareness of sqlite implicit auto indexes [ticket:1551]
* merge 0.6 series to trunk.Mike Bayer2009-08-063-0/+704