From: Peter Rabbitson Date: Sun, 7 Jun 2009 10:39:40 +0000 (+0000) Subject: Fill in changes, todoify non-passing tests (to draw attention) X-Git-Tag: v0.11008~161 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0a2d7cf19e90384553da582487e138f63ec8241d;p=dbsrgits%2FSQL-Translator.git Fill in changes, todoify non-passing tests (to draw attention) --- diff --git a/Changes b/Changes index 7984e43..5fe06ed 100644 --- a/Changes +++ b/Changes @@ -13,7 +13,23 @@ * 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 -* Sitch to Module::Install (mandates minimum perl 5.005) +* Switch to Module::Install (mandates minimum perl 5.005) +* 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 + - Disable MSSQL view/procedure production - they never worked in the first place + - VIEW support for Pg parser, also some cleanups + - The way we generate Pg create view statements was not standards compliant + (per RhodiumToad in #postgresql) + - MSSQL improvements: + - 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 # ---------------------------------------------------------- # 0.09004 2009-02-13 diff --git a/t/60roundtrip.t b/t/60roundtrip.t index d667b92..6dbd0c3 100644 --- a/t/60roundtrip.t +++ b/t/60roundtrip.t @@ -48,21 +48,24 @@ my $plan = [ producer_args => {}, parser_args => {}, }, -# { -# engine => 'Oracle', -# producer_args => {}, -# parser_args => {}, -# }, -# { -# engine => 'Sybase', -# producer_args => {}, -# parser_args => {}, -# }, -# { -# engine => 'DB2', -# producer_args => {}, -# parser_args => {}, -# }, + { + engine => 'Oracle', + producer_args => {}, + parser_args => {}, + todo => 'Needs volunteers', + }, + { + engine => 'Sybase', + producer_args => {}, + parser_args => {}, + todo => 'Needs volunteers', + }, + { + engine => 'DB2', + producer_args => {}, + parser_args => {}, + todo => 'Needs volunteers', + }, # YAML parsing/producing cycles result in some weird self referencing structure # { @@ -99,13 +102,16 @@ my $string_re = { }; for my $args (@$plan) { + TODO: { + local $TODO = $args->{todo} if $args->{todo}; - $args->{name} ||= $args->{engine}; + $args->{name} ||= $args->{engine}; - lives_ok ( - sub { check_roundtrip ($args, $base_schema) }, - "Round trip for $args->{name} did not throw an exception", - ); + lives_ok ( + sub { check_roundtrip ($args, $base_schema) }, + "Round trip for $args->{name} did not throw an exception", + ); + } }