summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/postgres.py
Commit message (Collapse)AuthorAgeFilesLines
* merge 0.6 series to trunk.Mike Bayer2009-08-061-889/+0
|
* changed reference to PostgreSQL in docs.rel_0_5_5Mike Bayer2009-07-131-5/+5
|
* - added unit test for exception formattingMike Bayer2009-05-261-2/+1
| | | | | | | | | | - Deprecated the hardcoded TIMESTAMP function, which when used as func.TIMESTAMP(value) would render "TIMESTAMP value". This breaks on some platforms as Postgres doesn't allow bind parameters to be used in this context. The hard-coded uppercase is also inappropriate and there's lots of other PG casts that we'd need to support. So instead, use text constructs i.e. select(["timestamp '12/05/09'"]).
* extract() is now dialect-sensitive and supports SQLite and others.Jason Kirtland2009-03-301-0/+6
|
* - Added PGUuid and PGBit types toMike Bayer2009-03-011-2/+11
| | | | | | | | | sqlalchemy.databases.postgres. [ticket:1327] - Refection of unknown PG types won't crash when those types are specified within a domain. [ticket:1327] - executemany() in conjunction with INSERT..RETURNING is documented as undefined by psycopg2.
* - PG Index reflection won't fail when an index withMike Bayer2009-02-031-4/+5
| | | | multiple expressions is encountered.
* added some missing internal types for reflection, [ticket:1287]Mike Bayer2009-01-201-0/+2
|
* happy new yearMike Bayer2009-01-121-1/+1
|
* - mysql, postgres: "%" signs in text() constructs are automatically escaped ↵Mike Bayer2009-01-021-0/+5
| | | | | | | to "%%". Because of the backwards incompatible nature of this change, a warning is emitted if '%%' is detected in the string. [ticket:1267]
* - Reflected foreign keys will properly locateMike Bayer2008-12-261-5/+6
| | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed bugs in sqlalchemy documentation. Closes #1263.Michael Trier2008-12-241-1/+1
|
* - Added Index reflection support to Postgres, using aMike Bayer2008-12-231-0/+38
| | | | | great patch we long neglected, submitted by Ken Kuhlman. [ticket:714]
* removed the "create_execution_context()" method from dialects and replacedMike Bayer2008-12-191-4/+2
| | | | with a more succinct "dialect.execution_ctx_cls" member
* - postgres docstringMike Bayer2008-12-061-6/+76
| | | | | | - insert/update/delete are documented generatively - values({}) is no longer deprecated, thus enabling unicode/Columns as keys
* - bump, this may become 0.5.0Mike Bayer2008-11-141-1/+2
| | | | | - Calling alias.execute() in conjunction with server_side_cursors won't raise AttributeError.
* - Simplified the check for ResultProxy "autoclose without results"Mike Bayer2008-11-041-41/+6
| | | | | | to be based solely on presence of cursor.description. All the regexp-based guessing about statements returning rows has been removed [ticket:1212].
* Modifications to allow the backends to control the behavior of an empty ↵Michael Trier2008-10-201-0/+2
| | | | insert. If supports_empty_insert is True then the backend specifically supports the 'insert into t1 () values ()' syntax. If supports_default_values is True then the backend supports the 'insert into t1 default values' syntax. If both are false then the backend has no support for empty inserts at all and an exception gets raised. Changes here are careful to not change current behavior except where the current behavior was failing to begin with.
* - 0.5.0rc3, dohMike Bayer2008-10-181-21/+1
| | | | | | | | | | | | - 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.
* - compiler visit_label() checks a flag "within_order_by" and will render its ↵Mike Bayer2008-08-031-1/+1
| | | | | | | | | | | | | | | | | | | 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]
* - Removed 2.3 Decimal compatJason Kirtland2008-07-151-2/+2
|
* Added new basic match() operator that performs a full-text search. Supported ↵Michael Trier2008-07-131-0/+1
| | | | on PostgreSQL, SQLite, MySQL, MS-SQL, and Oracle backends.
* - re-fixed the fix to the prefixes fixMike Bayer2008-07-061-10/+1
| | | | | - removed ancient descriptor() functions from dialects; replaced with Dialect.name - removed similarly ancient sys.modules silliness in Engine.name
* Added PGCidr type to postgres. Closes #1092Michael Trier2008-07-031-0/+5
| | | | (cherry picked from commit 2394a6bb6c5f77afd448640ce03cf6fda0335a23)
* merged r4870 from 0.4 branch, index name truncation, [ticket:820]Mike Bayer2008-06-221-1/+1
|
* merged r4857, postgres server_side_cursors fix, from 0.4 branchMike Bayer2008-06-171-1/+4
|
* restored a "distinct" setting that got whackedMike Bayer2008-06-091-1/+1
|
* merged merge fix from r4834/rel_0_4 branchMike Bayer2008-06-031-1/+1
|
* Columns now have default= and server_default=. PassiveDefault fades away.Jason Kirtland2008-05-141-3/+4
|
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-091-12/+18
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* refactor of default_paramstyle, use paramstyle argument on Dialect to changeMatt Harrison2008-04-071-2/+2
|
* - Got PG server side cursors back into shape, added fixedMike Bayer2008-04-021-9/+14
| | | | | | | unit tests as part of the default test suite. Added better uniqueness to the cursor ID [ticket:1001] - update().values() and insert().values() take keyword arguments.
* - Revamped the Connection memoize decorator a bit, moved to engineJason Kirtland2008-04-021-2/+2
| | | | | - MySQL character set caching is more aggressive but will invalidate the cache if a SET is issued. - MySQL connection memos are namespaced: info[('mysql', 'server_variable')]
* - reverted previous "strings instead of tuples" change due to more specific ↵Mike Bayer2008-03-301-2/+3
| | | | | | test results showing tuples faster - changed cache decorator call on default_schema_name call to a connection.info specific one
* some cache decorator calls...Mike Bayer2008-03-301-4/+3
|
* - like() and ilike() take an optional keyword argumentMike Bayer2008-03-191-2/+2
| | | | | | "escape=<somestring>", which is set as the escape character using the syntax "x LIKE y ESCAPE '<somestring>'" [ticket:993]
* check for NoneMike Bayer2008-03-041-1/+3
|
* - postgres PGArray is a "mutable" type by default;Mike Bayer2008-03-041-2/+15
| | | | | when used with the ORM, mutable-style equality/ copy-on-write techniques are used to test for changes.
* - postgres TIMESTAMP renders correctly [ticket:981]Mike Bayer2008-02-271-0/+7
|
* - added exception wrapping/reconnect support to result setMike Bayer2008-02-251-1/+1
| | | | | | fetching. Reconnect works for those databases that raise a catchable data error during results (i.e. doesn't work on MySQL) [ticket:978]
* - Oracle and others properly encode SQL used for defaultsMike Bayer2008-01-301-1/+1
| | | | | | like sequences, etc., even if no unicode idents are used since identifier preparer may return a cached unicode identifier.
* fixed NOT ILIKEMike Bayer2008-01-111-1/+2
|
* - added "ilike()" operator to column operations.Mike Bayer2008-01-111-1/+2
| | | | | compiles to ILIKE on postgres, lower(x) LIKE lower(y) on all others [ticket:727]
* - 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-28/+28
|
* - finally added PGMacAddr type to postgresMike Bayer2008-01-101-0/+5
| | | | [ticket:580]
* redid the _for_ddl String/Text deprecation warning correctly [ticket:912]Mike Bayer2008-01-091-2/+2
|
* - changed name of TEXT to Text since its a "generic" type; TEXT name isMike Bayer2008-01-051-2/+2
| | | | | | | 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]
* fix not calling the result processor of PGArray subtypes. (a rather ↵Ants Aasma2008-01-031-1/+1
| | | | embarrasing copypaste error) [ticket:913]
* happy new yearMike Bayer2008-01-011-1/+1
|