| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
from being received; thanks a ton to huddlej at wwu.edu !
[ticket:1265]
|
|
|
|
|
|
|
| |
subclasses Unicode so that convert_unicode=True by default.
NVARCHAR2 reflects into this type automatically so
these columns pass unicode on a reflected table with no explicit
convert_unicode=True flags. [ticket:1233]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
with a more succinct "dialect.execution_ctx_cls" member
|
|
|
|
|
|
| |
- insert/update/delete are documented generatively
- values({}) is no longer deprecated, thus enabling
unicode/Columns as keys
|
|
|
|
|
|
| |
two-phase commit. We now have field reports
of Oracle two-phase commit working properly
with this change.
|
| |
|
| |
|
|
|
|
|
|
| |
to be based solely on presence of cursor.description.
All the regexp-based guessing about statements returning rows
has been removed [ticket:1212].
|
|
|
|
| |
[ticket:1178]
|
|
|
|
|
| |
- wrote a docstring for oracle dialect, needs formatting perhaps
- made FIRST_ROWS optimization optional based on optimize_limits=True, [ticket:536]
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
comments at the front before a SELECT as SELECT statements.
[ticket:1187]
|
| |
|
|
|
|
| |
account [ticket:1155]
|
|
|
|
|
|
| |
and instead uses subqueries in conjunction with a special
Oracle optimization comment. Allows LIMIT/OFFSET to work
in conjunction with DISTINCT. [ticket:536]
|
|
|
|
|
|
|
|
|
|
|
|
| |
of work logging is now
class level like all the other logging.
- trimmed back the logging API, centralized class_logger() as the single point of configuration for
logging, removed per-instance logging checks from ORM.
- Engine and Pool logging remain at the instance level. The modulus of "instance ids" has been upped
to 65535. I'd like to remove the modulus altogether but I do see a couple of users each month
calling create_engine() on a per-request basis, an incorrect practice but I'd rather their applications
don't just run out of memory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
from [ticket:1068]. This feature is on hold
pending further development.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
| |
on PostgreSQL, SQLite, MySQL, MS-SQL, and Oracle backends.
|
|
|
|
|
| |
- removed ancient descriptor() functions from dialects; replaced with Dialect.name
- removed similarly ancient sys.modules silliness in Engine.name
|
| |
|
|
|
|
| |
of the same name. [ticket:709]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
0.4 development continues at /sqlalchemy/branches/rel_0_4
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- 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')]
|
| |
|
|
|
|
|
| |
- simplified oracle non-ansi join generation, removed hooks from base compiler
- removed join() call from _label generation, fixed repeat label gen
|
|
|
|
|
|
| |
test results showing tuples faster
- changed cache decorator call on default_schema_name call to a connection.info specific one
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exactly synonymous with the "schema" keyword. Tables
can now be reflected with alternate "owner" attributes,
explicitly stated on the Table object or not using
"schema".
- all of the "magic" searching for synonyms, DBLINKs etc.
during table reflection
are disabled by default unless you specify
"oracle_resolve_synonyms=True" on the Table object.
Resolving synonyms necessarily leads to some messy
guessing which we'd rather leave off by default.
When the flag is set, tables and related tables
will be resolved against synonyms in all cases, meaning
if a synonym exists for a particular table, reflection
will use it when reflecting related tables. This is
stickier behavior than before which is why it's
off by default.
|
| |
|
|
|
|
| |
test for query equivalence to account for underscoring of bind variables.
|
|
|
|
| |
broken unit tests in the Oracle module
|
|
|
|
| |
integrity
|
|
|
|
|
|
|
| |
other tests to more specific modules
- added "now()" as a generic function; on SQLite and
Oracle compiles as "CURRENT_TIMESTAMP"; "now()"
on all others [ticket:943]
|
|
|
|
|
|
| |
column mapping when generating a LIMIT/OFFSET subquery,
allows columns to map properly to result sets even
if long-name truncation kicks in [ticket:941]
|
|
|
|
|
|
| |
util.warn() wraps this up.
- SADeprecationWarning has moved to exceptions. An alias remains in logging until 0.5.
|
| |
|
| |
|