Add Daniele Varrazzo to AUTHORS file.
When restricting dbtoyaml to schemas/tables, don't exclude non-schema objects.
Implement -n option for yamltodb. Fixes #6.

 * docs/yamltodb.rst: Document new option.
 * pyrseas/database.py (Database._trim_objects): New function to
   remove unwanted objects from internal map.  (Database.diff_map):
   Add schemas argument and pass it to new function.
 * pyrseas/yamltodb.py: Add new option, trim input map if necessary
   and pass list of schemas to diff_map.
Add support for CATEGORY and PREFERRED to TYPEs.

 * pyrseas/dbobject/dbtype.py (BaseType.create): Handle new clauses.
   (TypeDict.query): Retrieve new catalog columns.
   (TypeDict._from_catalog): Delete category on non-base types.
 * tests/dbobject/test_type.py: Add test for category.
Add support for SORTOP clause for AGGREGATEs.

 * pyrseas/dbobject/function.py (Aggregate.create): Reorganize all
   optional clauses and add SORTOP.  (ProcDict.query): Retrieve
   aggsortop.  (ProcDict._from_catalog): Remove sortop if not used.
 * tests/dbobject/test_function.py: Add test for SORTOP.
Add support for OPERATOR HASHES/MERGES clauses.  Fixes #15.

 * pyrseas/dbobject/operator.py (Operator.create): Add HASHES and
   MERGES clauses.  (OperatorDict.query): Retrieve oprcanhash and
   oprcanmerge.
 * tests/dbobject/test_operator.py: New test to verify HASHES clause.
Add -u/--update option to yamltodb to apply changes.
Prepare for py3k: print(), except as, and imports.

 * pyrseas/dbconn.py, pyrseas/dbobject/constraint.py,
   pyrseas/dbobject/index.py, pyrseas/dbobject/language.py,
   pyrseas/dbobject/rule.py, pyrseas/dbobject/schema.py
   pyrseas/dbobject/table.py, pyrseas/dbobject/textsearch.py: Change
   except Xxx, exc to except Xxx as exc.
 * pyrseas/dbobject/table.py, pyrseas/dbobject/schema.py: Use full
   paths for imports.
 * pyrseas/dbtoyaml.py, pyrseas/yamltodb.py: Replace print statement
   by print() function.
Add -f/--file option to dbtoyaml.
Add -o/--output option to yamltodb.
Change -f/--file for dbtoyaml to -o/--output for consistency.
Add support for INDEX column qualifiers. Fixes #16.

 * pyrseas/dbobject/index.py (Index.key_columns): Rework to output
   expanded column clause.  (Index.to_map): Eliminate dbcols argument
   and remove code for keycols.  (Index.create): Use columns attribute
   instead of keycols.  (IndexDict.query): Fetch pg_get_indexdef.
   (IndexDict._from_catalog): Parse index defintion to build new
   columns list.  (IndexDict.from_map): Use columns attribute instead
   of keycols.
 * pyrseas/dbobject/table.py (Table.to_map): Remove argument to
   Index.to_map.
 * tests/dbobject/test_index.py: Add two tests for new functionality.
Add -W/--password option to dbtoyaml/yamltodb.  Fixes #18.

 * docs/dbtoyaml.rst, docs/yamltodb.rst: Document new option.
 * pyrseas/dbconn.py (DbConnection.__init__): Add pswd argument and
   prompt the uer if True.  (DbConnection.connect): Add password to
   connection string. If connect fails and it's a FATAL error, exit.
 * pyrseas/dbtoyaml.py, pyrseas/yamltodb.py: Add new option.
Clarify how to affect multiple tables/schemas in dbtoyaml/yamltodb.
Rename tests.dbobject.utils to pyrseas.testutils so it can be used elsewhere.
Correct DbConnection instantiations as a result of commit 78aa961.

 * pyrseas/testutils.py (PostgresDb.{execute_and_map,proces_map): Used
   named parameters for host and port since commit 78aa961 inserted
   extra positional argument.
Exclude database-wide objects from yamltodb -n. Fixes #21.
Correct version number for 0.4.1 in NEWS file.
Change DROP COLUMN to handle DROP ATTRIBUTE if applicable.  Fixes #22.

 * pyrseas/dbobject/column.py (Column.drop): If Column object not attached
   to table, issue ALTER TYPE DROP ATTRIBUTE statement instead.
Implement support for foreign data wrappers, servers and user mappings.

 * docs/foreign.rst: Document new objects.
 * docs/index.rst: Add foreign.rst.
 * pyrseas/database.py (Database.Dicts.__init__): Add dictionaries for
   new objects.  (Database.from_map): Process new input objects.
   (Database.diff_map): Call diff_map's for new objects.
 * pyrseas/dbobject/foreign.py: Add classes for new objects.
 * pyrseas/testutils.py (PostgresDb.clear): Drop existing FDWs,
   servers and user mappings.
 * tests/dbobject/__init__.py: Invoke new test module.
 * tests/dbobject/test_foreign.py: New test module.