summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/informix.py
Commit message (Collapse)AuthorAgeFilesLines
* merge 0.6 series to trunk.Mike Bayer2009-08-061-493/+0
|
* happy new yearMike Bayer2009-01-121-1/+1
|
* - Reflected foreign keys will properly locateMike Bayer2008-12-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | their referenced column, even if the column was given a "key" attribute different from the reflected name. This is achieved via a new flag on ForeignKey/ForeignKeyConstraint called "link_to_name", if True means the given name is the referred-to column's name, not its assigned key. [ticket:650] - removed column types from sqlite doc, we aren't going to list out "implementation" types since they aren't significant and are less present in 0.6 - mysql will report on missing reflected foreign key targets in the same way as other dialects (we can improve that to be immediate within reflecttable(), but it should be within ForeignKeyConstraint()). - postgres dialect can reflect table with an include_columns list that doesn't include one or more primary key columns
* removed the "create_execution_context()" method from dialects and replacedMike Bayer2008-12-191-3/+1
| | | | with a more succinct "dialect.execution_ctx_cls" member
* - 0.5.0rc3, dohMike Bayer2008-10-181-9/+2
| | | | | | | | | | | | - The internal notion of an "OID" or "ROWID" column has been removed. It's basically not used by any dialect, and the possibility of its usage with psycopg2's cursor.lastrowid is basically gone now that INSERT..RETURNING is available. - Removed "default_order_by()" method on all FromClause objects. - profile/compile/select test is 8 function calls over on buildbot 2.4 for some reason, will adjust after checking the results of this commit
* - The 'length' argument to all Numeric types has been renamedMike Bayer2008-08-241-1/+1
| | | | | | | | | | | | | | | | to 'scale'. 'length' is deprecated and is still accepted with a warning. [ticket:827] - The 'length' argument to MSInteger, MSBigInteger, MSTinyInteger, MSSmallInteger and MSYear has been renamed to 'display_width'. [ticket:827] - mysql._Numeric now consumes 'unsigned' and 'zerofill' from the given kw, so that the same kw can be passed along to Numeric and allow the 'length' deprecation logic to still take effect - added testlib.engines.all_dialects() to return a dialect for every db module - informix added to sqlalchemy.databases.__all__. Since other "experimental" dbs like access and sybase are there, informix should be as well.
* - Temporarily rolled back the "ORDER BY" enhancementMike Bayer2008-08-061-3/+2
| | | | | from [ticket:1068]. This feature is on hold pending further development.
* - compiler visit_label() checks a flag "within_order_by" and will render its ↵Mike Bayer2008-08-031-2/+3
| | | | | | | | | | | | | | | | | | | own name and not its contained expression, if the dialect reports true for supports_simple_order_by_label. the flag is not propagated forwards, meant to closely mimic the syntax Postgres expects which is that only a simple name can be in the ORDER BY, not a more complex expression or function call with the label name embedded (mysql and sqlite support more complex expressions). This further sets the standard for propigation of **kwargs within compiler, that we can't just send **kwargs along blindly to each XXX.process() call; whenever a **kwarg needs to propagate through, most methods will have to be aware of it and know when they should send it on forward and when not. This was actually already the case with result_map as well. The supports_simple_order_by dialect flag defaults to True but is conservatively explicitly set to False on all dialects except SQLite/MySQL/Postgres to start. [ticket:1068]
* - re-fixed the fix to the prefixes fixMike Bayer2008-07-061-8/+1
| | | | | - removed ancient descriptor() functions from dialects; replaced with Dialect.name - removed similarly ancient sys.modules silliness in Engine.name
* Columns now have default= and server_default=. PassiveDefault fades away.Jason Kirtland2008-05-141-1/+1
|
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-091-13/+13
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* refactor of default_paramstyle, use paramstyle argument on Dialect to changeMatt Harrison2008-04-071-1/+1
|
* get basic compilation working for [ticket:972]Mike Bayer2008-02-171-3/+4
|
* - Fixed a couple pyflakes, cleaned up imports & whitespaceJason Kirtland2008-02-141-1/+1
|
* - Warnings are now issued as SAWarning instead of RuntimeWarning; ↵Jason Kirtland2008-01-111-2/+3
| | | | | | util.warn() wraps this up. - SADeprecationWarning has moved to exceptions. An alias remains in logging until 0.5.
* Include column name in length-less String warning (more [ticket:912])Jason Kirtland2008-01-101-77/+77
|
* redid the _for_ddl String/Text deprecation warning correctly [ticket:912]Mike Bayer2008-01-091-1/+1
|
* - changed name of TEXT to Text since its a "generic" type; TEXT name isMike Bayer2008-01-051-1/+1
| | | | | | | deprecated until 0.5. The "upgrading" behavior of String to Text when no length is present is also deprecated until 0.5; will issue a warning when used for CREATE TABLE statements (String with no length for SQL expression purposes is still fine) [ticket:912]
* happy new yearMike Bayer2008-01-011-1/+1
|
* - named_with_column becomes an attributeMike Bayer2007-11-251-9/+0
| | | | | | | | | - cleanup within compiler visit_select(), column labeling - is_select() removed from dialects, replaced with returns_rows_text(), returns_rows_compiled() - should_autocommit() removed from dialects, replaced with should_autocommit_text() and should_autocommit_compiled() - typemap and column_labels collections removed from Compiler, replaced with single "result_map" collection. - ResultProxy uses more succinct logic in combination with result_map to target columns
* - anonymous column expressions are automatically labeled.Mike Bayer2007-11-101-0/+1
| | | | | | | | | | | | | | | | | | | e.g. select([x* 5]) produces "SELECT x * 5 AS anon_1". This allows the labelname to be present in the cursor.description which can then be appropriately matched to result-column processing rules. (we can't reliably use positional tracking for result-column matches since text() expressions may represent multiple columns). - operator overloading is now controlled by TypeEngine objects - the one built-in operator overload so far is String types overloading '+' to be the string concatenation operator. User-defined types can also define their own operator overloading by overriding the adapt_operator(self, op) method. - untyped bind parameters on the right side of a binary expression will be assigned the type of the left side of the operation, to better enable the appropriate bind parameter processing to take effect [ticket:819]
* Moved author comment preventing python 2.3 from importing the module...Jason Kirtland2007-10-131-1/+2
|
* removed unused _fold_identifier_case methodMike Bayer2007-10-021-3/+0
|
* - method call removalMike Bayer2007-08-201-4/+2
|
* pyflakes mop-upJason Kirtland2007-08-191-2/+2
|
* 1. Module layout. sql.py and related move into a package called "sql".Mike Bayer2007-08-181-24/+17
| | | | | | | | | | | | 2. compiler names changed to be less verbose, unused classes removed. 3. Methods on Dialect which return compilers, schema generators, identifier preparers have changed to direct class references, typically on the Dialect class itself or optionally as attributes on an individual Dialect instance if conditional behavior is needed. This takes away the need for Dialect subclasses to know how to instantiate these objects, and also reduces method overhead by one call for each one. 4. as a result of 3., some internal signatures have changed for things like compiler() (now statement_compiler()), preparer(), etc., mostly in that the dialect needs to be passed explicitly as the first argument (since they are just class references now). The compiler() method on Engine and Connection is now also named statement_compiler(), but as before does not take the dialect as an argument. 5. changed _process_row function on RowProxy to be a class reference, cuts out 50K method calls from insertspeed.py
* - merged "fasttypes" branch. this branch changes the signatureMike Bayer2007-08-141-35/+50
| | | | | | | | | | | | | of convert_bind_param() and convert_result_value() to callable-returning bind_processor() and result_processor() methods. if no callable is returned, no pre/post processing function is called. - hooks added throughout base/sql/defaults to optimize the calling of bind param/result processors so that method call overhead is minimized. special cases added for executemany() scenarios such that unneeded "last row id" logic doesn't kick in, parameters aren't excessively traversed. - new performance tests show a combined mass-insert/mass-select test as having 68% fewer function calls than the same test run against 0.3. - general performance improvement of result set iteration is around 10-20%.
* - case_sensitive=(True|False) setting removed from schema items, sinceMike Bayer2007-08-111-1/+1
| | | | | | | checking this state added a lot of method call overhead and there was no decent reason to ever set it to False. Table and column names which are all lower case will be treated as case-insenstive (yes we adjust for Oracle's UPPERCASE style too).
* switch (simple) occurences of 'if len(x)' to 'if x': find . -name '*.py' ↵Jonathan Ellis2007-08-031-1/+1
| | | | |xargs perl -pi.bak -e 's/if len\((\S+)\):/if $1:/' && find . -name '*.bak' |xargs rm
* engine.table_names()Jonathan Ellis2007-07-291-0/+4
| | | | tested vs sqlite and pg. mssql should also be ok (uses ischema like pg.) others are best-guess based on has_table code.
* merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to ↵Mike Bayer2007-07-271-34/+29
| | | | maintenance branch in branches/rel_0_3.
* fix for dbapi() method to be classmethod #546Mike Bayer2007-04-221-3/+5
|
* - informix support added ! courtesy James ZhangMike Bayer2007-04-211-0/+510
- tweak to oracle default execution code to use local connection for compilation - tweak to connection.execute_text() to generate None for parameters when no params sent