From: <rib...@us...> - 2010-03-05 10:23:40
|
Revision: 1688 http://sqlfairy.svn.sourceforge.net/sqlfairy/?rev=1688&view=rev Author: ribasushi Date: 2010-03-05 10:23:33 +0000 (Fri, 05 Mar 2010) Log Message: ----------- r1685@Thesaurus (orig r1684): faxm0dem | 2010-02-25 10:13:29 +0100 I'm not to be trusted with the chainsaw r1686@Thesaurus (orig r1685): faxm0dem | 2010-02-25 13:38:04 +0100 add to changes r1687@Thesaurus (orig r1686): faxm0dem | 2010-02-25 14:18:30 +0100 float doesn't need to be forced to 126 either Modified Paths: -------------- trunk/sqlfairy/Changes trunk/sqlfairy/lib/SQL/Translator/Producer/Oracle.pm trunk/sqlfairy/t/51-xml-to-oracle.t trunk/sqlfairy/t/51-xml-to-oracle_quoted.t trunk/sqlfairy/t/data/oracle/schema_diff_a.yaml trunk/sqlfairy/t/data/oracle/schema_diff_b.yaml trunk/sqlfairy/t/data/oracle/schema_diff_c.yaml Property Changed: ---------------- trunk/sqlfairy/ Property changes on: trunk/sqlfairy ___________________________________________________________________ Modified: svk:merge - 43122cfd-0f3f-0410-9171-884ef7c37379:/branches/roundtrip:1555 + 43122cfd-0f3f-0410-9171-884ef7c37379:/branches/oracle_datatypes:1686 43122cfd-0f3f-0410-9171-884ef7c37379:/branches/roundtrip:1555 Modified: trunk/sqlfairy/Changes =================================================================== --- trunk/sqlfairy/Changes 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/Changes 2010-03-05 10:23:33 UTC (rev 1688) @@ -1,4 +1,10 @@ # ---------------------------------------------------------- +# 0.11006 +# ---------------------------------------------------------- +* Fix Producer::Oracle varchar2 without size def (ORA-00906: missing right parenthesis) +* Fix Producer::Oracle translate float and double to float instead of number + +# ---------------------------------------------------------- # 0.11005 2010-02-24 # ---------------------------------------------------------- * Fix Parser::DBI::Oracle reading too many tables (RT#49413) Modified: trunk/sqlfairy/lib/SQL/Translator/Producer/Oracle.pm =================================================================== --- trunk/sqlfairy/lib/SQL/Translator/Producer/Oracle.pm 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/lib/SQL/Translator/Producer/Oracle.pm 2010-03-05 10:23:33 UTC (rev 1688) @@ -118,7 +118,7 @@ # MySQL types # bigint => 'number', - double => [ 'float', 126 ], + double => 'float', decimal => 'number', float => 'float', int => 'number', @@ -625,6 +625,16 @@ undef @size; } + # + # Fixes ORA-00906: missing right parenthesis + # if size is 0 or undefined + # + for (qw/varchar2/) { + if ( $data_type =~ /^($_)$/i ) { + $size[0] ||= $max_size{$_}; + } + } + $field_def .= " $data_type"; if ( defined $size[0] && $size[0] > 0 ) { $field_def .= '(' . join( ',', @size ) . ')'; Modified: trunk/sqlfairy/t/51-xml-to-oracle.t =================================================================== --- trunk/sqlfairy/t/51-xml-to-oracle.t 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/t/51-xml-to-oracle.t 2010-03-05 10:23:33 UTC (rev 1688) @@ -48,9 +48,9 @@ title varchar2(100) DEFAULT \'hello\' NOT NULL, description clob DEFAULT \'\', email varchar2(500), - explicitnulldef varchar2, - explicitemptystring varchar2 DEFAULT \'\', - emptytagdef varchar2 DEFAULT \'\', + explicitnulldef varchar2(4000), + explicitemptystring varchar2(4000) DEFAULT \'\', + emptytagdef varchar2(4000) DEFAULT \'\', another_id number(10) DEFAULT \'2\', timest date, PRIMARY KEY (id), @@ -112,9 +112,9 @@ title varchar2(100) DEFAULT 'hello' NOT NULL, description clob DEFAULT '', email varchar2(500), - explicitnulldef varchar2, - explicitemptystring varchar2 DEFAULT '', - emptytagdef varchar2 DEFAULT '', + explicitnulldef varchar2(4000), + explicitemptystring varchar2(4000) DEFAULT '', + emptytagdef varchar2(4000) DEFAULT '', another_id number(10) DEFAULT '2', timest date, PRIMARY KEY (id), Modified: trunk/sqlfairy/t/51-xml-to-oracle_quoted.t =================================================================== --- trunk/sqlfairy/t/51-xml-to-oracle_quoted.t 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/t/51-xml-to-oracle_quoted.t 2010-03-05 10:23:33 UTC (rev 1688) @@ -48,9 +48,9 @@ "title" varchar2(100) DEFAULT \'hello\' NOT NULL, "description" clob DEFAULT \'\', "email" varchar2(500), - "explicitnulldef" varchar2, - "explicitemptystring" varchar2 DEFAULT \'\', - "emptytagdef" varchar2 DEFAULT \'\', + "explicitnulldef" varchar2(4000), + "explicitemptystring" varchar2(4000) DEFAULT \'\', + "emptytagdef" varchar2(4000) DEFAULT \'\', "another_id" number(10) DEFAULT \'2\', "timest" date, PRIMARY KEY ("id"), @@ -112,9 +112,9 @@ "title" varchar2(100) DEFAULT 'hello' NOT NULL, "description" clob DEFAULT '', "email" varchar2(500), - "explicitnulldef" varchar2, - "explicitemptystring" varchar2 DEFAULT '', - "emptytagdef" varchar2 DEFAULT '', + "explicitnulldef" varchar2(4000), + "explicitemptystring" varchar2(4000) DEFAULT '', + "emptytagdef" varchar2(4000) DEFAULT '', "another_id" number(10) DEFAULT '2', "timest" date, PRIMARY KEY ("id"), Modified: trunk/sqlfairy/t/data/oracle/schema_diff_a.yaml =================================================================== --- trunk/sqlfairy/t/data/oracle/schema_diff_a.yaml 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/t/data/oracle/schema_diff_a.yaml 2010-03-05 10:23:33 UTC (rev 1688) @@ -30,7 +30,7 @@ size: - 0 name: - data_type: varchar2(10) + data_type: varchar2 default_value: ~ extra: {} is_nullable: 0 @@ -39,9 +39,9 @@ name: name order: 59 size: - - 0 + - 10 other: - data_type: varchar2(10) + data_type: varchar2 default_value: ~ extra: {} is_nullable: 1 @@ -50,6 +50,6 @@ name: other order: 59 size: - - 0 + - 10 name: d_operator order: 11 Modified: trunk/sqlfairy/t/data/oracle/schema_diff_b.yaml =================================================================== --- trunk/sqlfairy/t/data/oracle/schema_diff_b.yaml 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/t/data/oracle/schema_diff_b.yaml 2010-03-05 10:23:33 UTC (rev 1688) @@ -30,7 +30,7 @@ size: - 0 name: - data_type: nvarchar2(10) + data_type: nvarchar2 default_value: ~ extra: {} is_nullable: 0 @@ -39,9 +39,9 @@ name: name order: 59 size: - - 0 + - 10 other: - data_type: nvarchar2(10) + data_type: nvarchar2 default_value: ~ extra: {} is_nullable: 0 @@ -50,6 +50,6 @@ name: other order: 59 size: - - 0 + - 10 name: d_operator order: 11 Modified: trunk/sqlfairy/t/data/oracle/schema_diff_c.yaml =================================================================== --- trunk/sqlfairy/t/data/oracle/schema_diff_c.yaml 2010-02-27 00:28:31 UTC (rev 1687) +++ trunk/sqlfairy/t/data/oracle/schema_diff_c.yaml 2010-03-05 10:23:33 UTC (rev 1688) @@ -30,7 +30,7 @@ size: - 0 name: - data_type: nvarchar2(10) + data_type: nvarchar2 default_value: ~ extra: {} is_nullable: 0 @@ -39,9 +39,9 @@ name: name order: 59 size: - - 0 + - 10 foo: - data_type: nvarchar2(10) + data_type: nvarchar2 default_value: ~ extra: {} is_nullable: 0 @@ -50,9 +50,9 @@ name: foo order: 59 size: - - 0 + - 10 other: - data_type: nvarchar2(10) + data_type: nvarchar2 default_value: ~ extra: {} is_nullable: 0 @@ -61,6 +61,6 @@ name: other order: 59 size: - - 0 + - 10 name: d_operator order: 11 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |