Make drop_view(:view_name, :foreign=>true) drop foreign tables on PostgreSQL
Make create_table with :foreign option reversible on PostgreSQL

Now that we support dropping foreign tables, creating foreign
tables should be reversible.
Make Database#foreign_key_list work on Microsoft SQL Server 2005

Apparently if the order clause is not qualified, things still work
on newer versions of MSSQL, maybe because it uses the SELECT list.
However, it's bad practice to rely on that fact, and MSSQL 2005
apparently needs the order clause to be qualified for this to work.
Make Sequel::Model.cache_associations = false skip the database's schema cache when loading the schema

This now makes the option misnamed, since it does more than just
disabling caching the association metadata.  However, any time
you are disabling caching of the association metadata, you are
probably also going to want to disable schema caching, so this
should make the option more usable in practice.
Make validates_unique use a qualified primary key if the dataset is joined (Fixes #895)

If the dataset is joined, an unqualified primary key reference
could be ambiguous, and would be ambiguous when
class_table_inheritance is used with auto_validations.  This
qualifies the reference in such cases.

Note that there are other unqualified references still in the
query, but those can be qualified by using a :where option,
and don't affect the class_table_inheritance case.
Add Model#qualified_pk_hash, for returning a hash with qualified pk keys

Now that we have 3 separate internal users of such a method, it
seems worthwhile to add it, as opposed to calling
model.qualified_primary_key_hash directly.
Speed up Model.primary_key_hash and .qualified_primary_key_hash

The greater speedup is for .qualified_primary_key hash, since that
no longer calls primary_key_hash and then modifies the output.
Instead, it just uses a similar implementation.

In both cases, move the Symbol check first as that is the common
case, and raise an exception via else instead of at the top
of the method.

Also, for composite primary keys, use zip instead of
each_with_index, which should be slightly faster.
Stop converting '' default values to nil default values on MySQL

This has been done every since the MySQL-specific schema parsing
was added in 2.6.0.  I'm sure it was done for a good reason,
most likely because '' was used as a default value even when
the default was NULL.  However, this doesn't seem to be the
case anymore.  As it is useful to differentiate between a
NULL default and an empty string default, it's best to remove
the check.
Handle variable shadowing warnings
Drop void variable use
Drop/mark unused variables