Fill in changes, todoify non-passing tests (to draw attention)
Peter Rabbitson [Sun, 7 Jun 2009 10:39:40 +0000 (10:39 +0000)]
Changes
t/60roundtrip.t

diff --git a/Changes b/Changes
index 7984e43..5fe06ed 100644 (file)
--- a/Changes
+++ b/Changes
 * 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
index d667b92..6dbd0c3 100644 (file)
@@ -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",
+    );
+  }
 }