Changes from previous:
# ----------------------------------------------------------
# 0.11010 2011-10-05
# ----------------------------------------------------------
* Add "if exists" to drop view statements in Pg.
# ----------------------------------------------------------
# 0.11009 2011-09-02
# ----------------------------------------------------------
* Fix MySQL producer to properly quote all table names on output (patch from geistteufel)
# ----------------------------------------------------------
# 0.11008 2011-05-04
# ----------------------------------------------------------
* Correctly create and parse FK constraints in SQLite
* Correct postgis geography type insertion and linebreak fix for multiple geometry/geography columns
* made PostgreSQL producer consistent with other producers in terms of
quoting and allowing functions in constraints and indices
* Add distinction of autoinc and regular primary keys to the GraphViz producer
* Fix odd invocation of Test::More::pass() in t/36-filters.t (RT#64728)
* Quote everything in SQL Server
* Turn off constraints before dropping tables in SQL Server
* Make true unique constraints if needed in SQL Server
* Fixed Producer::PostgresSQL to output array type after type size,
i.e. varchar(64)[] rather than varchar[](64)
# ----------------------------------------------------------
# 0.11007 2010-11-30
# ----------------------------------------------------------
* Fix POD typo in SQL/Translator/Schema/Trigger.pm
* Add explicit Scalar::Util to the deplist for really old perls
* Add support for PostGIS Geometry and Geography data types in the Pg producer
* Some minor fixes to squash warnings on new perls
* Support a custom_type_name hint when creating enum types in PostgreSQL
* Fix sqlt options/pod mismatch (RT#58318)
* Oracle Producer multicolumn constraint support
* Add support for triggers in the MySQL producer
* Fix unstable order of View's in MySQL parser
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
pkgsrc changes:
- adjust dependencies
Upstream changes:
# ----------------------------------------------------------
# 0.11006 2010-06-03
# ----------------------------------------------------------
* Fix Producer::Oracle varchar2 without size def (ORA-00906: missing right
parenthesis)
* Fix Producer::Oracle translate float and double to float instead of number
* Fix Producer::Oracle generation of too long unique constraint names
* Fix Producer::SQLite when generating VIEWs with add_drop_table => 1
* Fix Producer::MySQL not quoting index names when requested (RT#56173)
* Fix Producer::MySQL wrapping extra ()s around VIEW SELECT-ors (RT#56419)
* Fix Field::default_value to behave like a real accessor (allow undef as
an unsetting argument)
* Fix Mysql/Pg/SQLite/MSSQL producers to properly *not* quote numeric default
values (RT#57059)
* Producer::Oracle tests now use Test::Differences
* Prettify output of SQLite producer (less bogus newlines)
* Augment SQLite and Pg producers to accept a perl-formatted (%d.%03d%03d)
and regular no-leading-zero (X.X.X) *_version producer args
Upstream changes:
# ----------------------------------------------------------
# 0.11005 2010-02-24
# ----------------------------------------------------------
* Fix Parser::DBI::Oracle reading too many tables (RT#49413)
* Fix Parser::MySQL tripping up on PRIMARY KEY ... USING (currently value is ignored) (RT#50468)
* Fix runaway debug trace (RT#52276)
* Fix Parser::PostgreSQL choking on commit; statements in DDL (#RT52277)
* Producer::Oracle now respects quote_field|table_names, and
no longer does name munging of reserved table names
* Producer::Oracle now correctly outputs databse-unique index names
pkgsrc changes:
- Adding recommended dependencies
- Adjusting dependencies according to META.yml
Upstream changes:
# ----------------------------------------------------------
# 0.11001 2009-08-18
# ----------------------------------------------------------
* Removed last use of Readonly
* Adjusted YAML dependency
# ----------------------------------------------------------
# 0.11000 2009-08-18
# ----------------------------------------------------------
* Re-add version numbers to files, else cpan's "upgrade" gets very confused
* Replaced code using Readonly, since most of the rest uses constant, and thats already a dep
* Moved YAML and XML::LibXML back to recommends, the tests for both now skip if not installed
* Bumped to 0.11000 to supercede 0.10 which has incorrect numbering scheme
# ----------------------------------------------------------
# 0.10 2009-08-13
# ----------------------------------------------------------
* Resolved the following RT bugs (thanks to everyone for reporting!):
25791 does not recognize PostgreSQL ON_ERROR_STOP
29265 sqlt-diagram: --natural-join needs Graph::Directed
37814 SQLite translator failing to parse schema
42548 Producer::PostgreSQL incorrectly inserts the size in
'time(stamp)? with(out) time zone' fields
43173 SQL::Translator::Parser without versionnumber - will install
old 0.09002
46805 (No subject)
47026 META.yml is not packaged due to MANIFEST.SKIP (easyfix)
32130 Move from XML::XPath to XML::LibXML::XPathContext
22261 MySQL parse
13915 missing optional prerequisite cause make test to fail
8847 Diagram.pm: BINMODE missing in printing of graphic file.
21065 GraphViz producer fails on tables named 'node'
35448 Producer::PostgreSQL types without size
22026 sqlt-diagram uses -f arg twice
47897 [PATCH] Fix uninitialized value within @_ in (uc|lc)
47668 Mysql Parser doesn't recognize key types
46448 sqlt-graph errors out on MySQL DDL with btree keys
47176 Add Foreign Key support to Parser::DBI::PostgreSQL.pm
48025 MySQL Producer: Case inconsistency between elements in
@no_length_attr and $data_type
48569 sqlt-diagram fails to load SQLite schema
48596 SQL::Translator::Diff::schema_diff should produce a list in
list context
44907 SQL::Translator::Producer::PostgreSQL produce() in list context
should return a list of statements
Upstream changes:
# ----------------------------------------------------------
# 0.09007 2009-06-25
# ----------------------------------------------------------
* Fixed Pg parser - caching the compiled P::RD schema is a *very*
bad idea
* Fix MSSQL handling of ON UPDATE/DELETE RESTRICT
* Delay MSSQL FK constraint deployment until after all CREATE TABLE
statements
* Coerce other engine's bytea/blob/clob datatypes to VarBinary
- Updating package of p5 module SQL::Translator from 0.09004 to 0.09006
- Setting license to gnu-gpl-v2
- Adjusting dependencies according to Makefile.PL
Upstream changes:
# ----------------------------------------------------------
# 0.09006 2009-06-10
# ----------------------------------------------------------
* Multiple test and dependency adhustments to make smokers happy
* Fix YAML producer wrt extra attribute
* Added support for "time(stamp) (p) with time zone" for Pg producer (mo)
# ----------------------------------------------------------
# 0.09005 2009-06-08
# ----------------------------------------------------------
* Add parser support for MySQL default values with a single quote
* Properly quote absolute table names in the MySQL producer
* Added semi-colon for (DROP|CREATE) TYPE statements in the Pg producer (wreis)
* Added CREATE VIEW subrules for mysql parser (wreis)
* ALTER TABLE/ALTER COLUMN/DROP DEFAULT support in Pg producer (mo)
* XML parser support for multi-event triggers
* SQLite producer support for multi-event triggers
* XML parser switched from XML::XPath to XML::LibXML
* Pg producer ALTER TABLE/COLUMN and DROP DEFAULT support
* MySQL producer skips length attribute for columns which do not support that
attribute. Currently following column types are added to that list:
date time timestamp datetime year
* Switch to Module::Install (mandates minimum perl 5.005)
* Major cleanup of GraphViz proucer
* Massive amount of fixes to SQLite/Pg/Mysql/MSSQL parsers/producers
Fix most of the problems uncovered by the roundtrip test framework
Some highlights:
- Rewind exhausted globs before attempting a read
- Do not add xml comment header if no_comments is set
- table/field counts are held per schema object, not globally
- no more variable table and column names in SQLite and MSSQL
- VIEW support for Pg parser, also some cleanups
- The way we generate Pg create view statements was not standards compliant
(per RhodiumToad in #postgresql)
- Disable MSSQL view/procedure production - they never worked in the first place
- SQLite/MSSQL improvements:
- Support parsing of all DROP clauses
- Support parsing of field-level comments
- When producing do not append table names to constraint/index names
Pkgsrc changes:
o Canonicalize HOMEPAGE
Upstream changes:
# ----------------------------------------------------------
# 0.09002 2008-12-05
# ----------------------------------------------------------
* parsing MySQL CURRENT_TIMESTAMP as scalar ref so it can be produced without
quotes (jgoulah)
* Add ignore_opts parser arg (to ignore table options) in Parser::MySQL
(jgoulah)
* Skip tests for buggy Spreadsheet::ParseExcel versions (rbo)
* Add support for skip tables parser arg in Parser::DBI::MySQL (jgoulah)
* Changed behaviour of ::Producer::Oracle when returning an array of statements
to make it compatible to DBI->do()
* Fixed a few bugs in ::Producer::Oracle
* Applied patch from jgoulah to support mysql's MERGE option
* Applied patch from rbo to add support of multiple database events on a trigger
* Applied patch from lukes to allow drop if exists in sqlite producer, with
version >= 3.3
* Applied patch from rjbs with minor changes, now we support scalar refs in
default values!
* Fixed SQLite producer to end index statements in newlines, in scalar context
* Decreed that all list context statements shall not end in ; or ;\n
* Fixed SQLite, Diff and MySQL producers to agree with Decree.
* Added support for CREATE VIEW + tests in the Pg producer (wreis)
* Added support for CREATE VIEW + tests in the sqlite producer (groditi)
* Added proper argument parsing and documentation to MySQL Parser and
Producer (ribasushi)
* Using DROP VIEW instead of OR REPLACE clause in the Pg producer, as replace
only allows replacement with identical set of columns (wreis)
* Added support for DROP VIEW and fixed CREATE VIEW statement in the sqlite
producer (wreis)
* Removed source_db and target_db accessors from Diff (throwback
to old version, only output_db is used)
* Support for longer varchar fields in MySQL
Changes:
# ----------------------------------------------------------
# 0.09001 2008-08-19
# ----------------------------------------------------------
* Added support for CREATE VIEW + tests in the mysql producer
(groditi)
* Added support for SET fields in the mysql producer + test (groditi)
* Added support for proper booleans in the mysql producer, when a
mysql version of at least 4.x is supplied
* Added support for proper enums under pg (as of 8.3), with pg
version check, and deferrable constraints
* Added support to truncate long constraint and index names in the
mysql producer, because of a change to DBIx::Class to produce such
long names in some cases.
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
SQL::Translator is a group of Perl modules that converts vendor-specific
SQL table definitions into other formats, such as other vendor-specific
SQL, ER diagrams, documentation (POD and HTML), XML, and Class::DBI
classes. The main focus of SQL::Translator is SQL, but parsers
exist for other structured data formats, including Excel spreadsheets
and arbitrarily delimited text files. Through the separation of
the code into parsers and producers with an object model in between,
it's possible to combine any parser with any producer, to plug in
custom parsers or producers, or to manipulate the parsed data via
the built-in object model. Presently only the definition parts of
SQL are handled (CREATE, ALTER), not the manipulation of data
(INSERT, UPDATE, DELETE).