Merge pull request #25 from gthb/ticket_2821

Hide password in URL and Engine __repr__
Conflicts:
	lib/sqlalchemy/engine/url.py
changelog
its a feature
add test for upcoming pullreq
Merge pull request #26 from hackop/ticket_2819

re.match to re.search
changelog
- put exact version string in the test
- use match with a .* preceding instead of search
- add monetdb
- break out into "production" and "experimental"
Fix a typo: evaluted -> evaluated.
Merge pull request #32 from yoloseem/patch-1

Fix a typo: evaluted -> evaluated.
Non-working "schema" argument on :class:`.ForeignKey` is deprecated;
raises a warning.  Removed in 0.9. [ticket:2831]
Fixed bug where using an annotation such as :func:`.remote` or
:func:`.foreign` on a :class:`.Column` before association with a parent
:class:`.Table` could produce issues related to the parent table not
rendering within joins, due to the inherent copy operation performed
by an annotation. [ticket:2813]

Conflicts:
	lib/sqlalchemy/sql/elements.py
A :func:`.select` that is made to refer to itself in its FROM clause,
typically via in-place mutation, will raise an informative error
message rather than causing a recursion overflow.
[ticket:2815]

Conflicts:
	lib/sqlalchemy/sql/selectable.py
- Fixed bug in default compiler plus those of postgresql, mysql, and
mssql to ensure that any literal SQL expression values are
rendered directly as literals, instead of as bound parameters,
within a CREATE INDEX statement. [ticket:2742]
- don't need expression_as_ddl(); literal_binds and include_table
take care of this functionality.

Conflicts:
	lib/sqlalchemy/sql/util.py
Parenthesis will be applied to a compound SQL expression as
rendered in the column list of a CREATE INDEX statement.
[ticket:2742]
MySQL-connector dialect now allows options in the create_engine
query string to override those defaults set up in the connect,
including "buffered" and "raise_on_warnings".
[ticket:2515]
-  Added new option to :func:`.relationship` ``distinct_target_key``.
This enables the subquery eager loader strategy to apply a DISTINCT
to the innermost SELECT subquery, to assist in the case where
duplicate rows are generated by the innermost query which corresponds
to this relationship (there's not yet a general solution to the issue
of dupe rows within subquery eager loading, however, when joins outside
of the innermost subquery produce dupes).  When the flag
is set to ``True``, the DISTINCT is rendered unconditionally, and when
it is set to ``None``, DISTINCT is rendered if the innermost relationship
targets columns that do not comprise a full primary key.
The option defaults to False in 0.8 (e.g. off by default in all cases),
None in 0.9 (e.g. automatic by default).   Thanks to Alexander Koval
for help with this. [ticket:2836]

Conflicts:
	lib/sqlalchemy/orm/relationships.py
alphabetical ordering
workaround for #2838 here.  still need to figure out why an ENUM test is suddenly hitting this.
The ``.unique`` flag on :class:`.Index` could be produced as ``None``
if it was generated from a :class:`.Column` that didn't specify ``unique``
(where it defaults to ``None``).  The flag will now always be ``True`` or
``False``. [ticket:2825]

Conflicts:
	lib/sqlalchemy/sql/schema.py