summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/sybase/base.py
Commit message (Collapse)AuthorAgeFilesLines
...
* - move LIMIT/OFFSET rendering to be as bind parameters, for all backendsMike Bayer2010-08-291-0/+2
| | | | | | | | | | 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.
* - 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]
* 78 chars for sybaseMike Bayer2010-07-061-16/+28
|
* this is a rewrite from the old sybase module with almost nothingMike Bayer2010-03-271-5/+6
| | | | remaining from the original, setting primary copyright
* - Added with_hint() method to Query() construct. This callsMike Bayer2010-03-271-0/+3
| | | | | | | | | | directly down to select().with_hint() and also accepts entities as well as tables and aliases. See with_hint() in the SQL section below. [ticket:921] - Added with_hint() method to select() construct. Specify a table/alias, hint text, and optional dialect name, and "hints" will be rendered in the appropriate place in the statement. Works for Oracle, Sybase, MySQL. [ticket:921]
* removed all dialect table_names() methods and standardizedMike Bayer2010-03-191-3/+0
| | | | on get_table_names(). [ticket:1739]
* - normalize sybase version numbersMike Bayer2010-03-181-0/+8
| | | | - sybase has 255 identifier length on 15, 30 earlier
* turning the decimals to floats allows the E notation to work with ↵Mike Bayer2010-03-181-4/+2
| | | | sybase+pyodbc for small E notations
* working through syb capabilitiesMike Bayer2010-03-171-3/+0
|
* - pyodbc can do *some* unicode with sybase, python-sybase not at all.Mike Bayer2010-03-171-5/+22
| | | | | Since python-sybase source code seems to be all from 2001 with no updates, making pyodbc the default driver.
* - added pyodbc for sybase driver.Mike Bayer2010-03-171-23/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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).
| * - mxodbc can use default execute() callMike Bayer2010-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | - modified SQLCompiler to support rendering of bind parameters as literal inline strings for specific sections, if specified by the compiler subclass, using either literal_binds=True passed to process() or any visit method, or by setting to False the "binds_in_columns_clause" flag for SQL-92 compatible columns clauses.. The compiler subclass is responsible for implementing the literal quoting function which should make use of the DBAPI's native capabilities. - SQLCompiler now passes **kw to most process() methods (should be all, ideally) so that literal_binds is propagated. - added some rudimentary tests for mxodbc.
* | - basic sybase+pyodbc support. in particular this will impact freetds ↵Mike Bayer2010-03-171-1/+28
|/ | | | detection for MS-SQL as well.
* - many incantations to get the tests to run reasonablyMike Bayer2010-03-141-7/+38
| | | | | - executemany() for some reason uses some tiny buffer, overriding it - we need to use the IDENTITY_INSERT thing
* - initial working version of sybase, with modifications to the transactionalMike Bayer2010-03-141-221/+133
| | | | | | | | | | model to accomodate Sybase's default mode of "no ddl in transactions". - identity insert not working yet. it seems the default here might be the opposite of that of MSSQL. - reflection will be a full rewrite - default DBAPI is python-sybase, well documented and nicely DBAPI compliant except for the bind parameter situation, where we have a straightforward workaround - full Sybase docs at: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0/title.htm
* - Added an optional C extension to speed up the sql layer byGaëtan de Menten2010-02-131-18/+1
| | | | | | | | | | | | | | | 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.
* - types.Binary is renamed to types.LargeBinary, it onlyMike Bayer2010-01-231-6/+6
| | | | | | | 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].
* seriously, this is not 0.6 code !Mike Bayer2009-12-061-1/+3
|
* add a warning for unported dialects. considered a full blown ↵Mike Bayer2009-12-061-0/+2
| | | | NotImplementedError but will see if this gets the message across
* - pg8000 + postgresql dialects now check for float/numeric returnMike Bayer2009-11-151-1/+1
| | | | | | | | | | 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..
* - dialect.get_default_schema_name(connection) is nowMike Bayer2009-11-031-2/+3
| | | | | public via dialect.default_schema_name. [ticket:1571]
* close cursors: mostly fetchone -> firstPhilip Jenvey2009-09-111-4/+1
|
* merge 0.6 series to trunk.Mike Bayer2009-08-061-0/+458