From 237029cda122bf3e5c38492f07828d70e0343206 Mon Sep 17 00:00:00 2001 From: Gilles Darold Date: Fri, 17 Feb 2017 11:03:08 +0100 Subject: [PATCH] Update changelog and version to 18.1 --- changelog | 99 ++++++++++++++++++++++++++ lib/Ora2Pg.pm | 2 +- lib/Ora2Pg/GEOM.pm | 2 +- lib/Ora2Pg/MySQL.pm | 2 +- lib/Ora2Pg/PLSQL.pm | 2 +- packaging/README | 8 +-- packaging/debian/ora2pg/DEBIAN/control | 2 +- packaging/slackbuild/Ora2Pg.SlackBuild | 2 +- packaging/slackbuild/Ora2Pg.info | 4 +- scripts/ora2pg | 2 +- scripts/ora2pg_scanner | 2 +- 11 files changed, 113 insertions(+), 14 deletions(-) diff --git a/changelog b/changelog index 3f7c023f..ff12ca8c 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,102 @@ +2017 02 17 - v18.1 + +This release fix several issues reported on outer join translation +thanks to the help of Pavel Stehule and reapply the commit on virtual +column export that was accidentally removed from v18.1. It also adds +several new features: + + - Remove CHECK constraints for columns converted into boolean using + REPLACE_AS_BOOLEAN column. + - Oracle function are now marked as stable by default as they can + not modify data. + +Two new configuration directives have been added: + + - DATE_FUNCTION_REWRITE: by default Ora2pg rewrite add_month(), + add_year() and date_trunc() functions set it to 0 to force Ora2Pg + to not translate those functions if translated code is broken. + - GRANT_OBJECT: when exporting GRANT you can now specify a comma + separated list of objects which privileges must be exported. + Default is to export privileges for all objects. For example + set it to TABLE if you just want to export privilege on tables. + +and a new command line option: + + - Add -g | --grant_object command line option to ora2pg to be able + to extract privilege from the given object type. See possible values + with GRANT_OBJECT configuration directive. + +Here is the complete list of changes: + + - Remove empty output.sql file in current directory with direct data + import. Thanks to kuzmaka for the report. + - Fix shell replacement of $$ in function definition in Makefile.PL + embedded configuration file. Thanks to kuzmaka for the report. + - Fix shell replacement of backslash in Makefile.PL embedded + configuration file. Thanks to kuzmaka for the report. + - Add warning level to virtual column notice. + - Fix comment in where clause breaking the outer join association. + Thanks to Pavel Stehule for the report. + - Add parsing and support of virtual column from DDL file. + - Reapply commit on virtual column export that was accidentally + removed in commit d5866c9. Thanks to Alexey for the report. + - Fix mix of inner join and outer join not translated correctly. + Thanks to Pavel Stehule for the help to solve this issue. + - Fix additional comma in column DEFAULT value from DDL input file. + Thanks to Cynthia Shang for the report. + - Fix comments inside FROM clause breaking translation to ANSI outer + joins. Thanks to Pavel Stehule for the report. + - Fix replacement of sdo_geometry type into function. Thanks to + Saber Chaabane for the report. + - Fix subquery in outer join clause. Thanks to Saber Chaabane for + the report. + - Fix duplicated subqueries placeholder in the from clause. + Thanks to Saber Chaabane for the report. + - Fix replacement of subquery place older during outer join rewrite. + Thanks to Saber Chaabane for the report. + - Add DATE_FUNCTION_REWRITE configuration directive. By default + Ora2pg rewrite add_month(), add_year() and date_trunc() functions + set it to 0 to force Ora2Pg to not translate those functions if + translated code is broken. Thanks to Pavel Stehule for the feature + request. + - Do not report error when -g is used but action is not GRANT. + Thanks to Shane Jimmerson for the report. + - Oracle function can not modify data, only procedure can do that, + so mark them as stable. Thanks to Pavel Stehule for the report. + - Missed some obvious combination like upper/lower case or no space + after AND/OR on outer join parsing and some other issues. + - Add missing call to extract_subqueries() recursively. Thanks to + Pavel Stehule for the report. + - Add full support of outer join translation in sub queries. + - Add translation of mixed inner join and Oracle outer join. Thanks + to Pavel Stehule for the report. + - Fix missing space between keyword AS and END from the decode() + transformation. Thanks to Pavel Stehule for the report. + - Fix parsing of outer join with UNION and translation to left join. + Thanks to Pavel Stehule for the report. + - Remove CHECK constraints for columns converted into boolean using + REPLACE_AS_BOOLEAN column. Thanks to Shane Jimmerson for the + feature request. + - Fix regression on SQL and PLSQL rewrite when a text constant + contained a semi-comma. + - Add the GRANT_OBJECT configuration directive. When exporting GRANT + you can specify a comma separated list of objects for which the + privileges will be exported. Default is export for all objects. + Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, + SEQUENCE, PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM and + DIRECTORY. Only one object type is allowed at a time. For example + set it to TABLE if you just want to export privilege on tables. + You can use the -g option to overwrite it. + When used this directive prevent the export of users unless it is + set to USER. In this case only users definitions are exported. + - Add the -g | --grant_object command line option to ora2pg to be able + to extract privilege from the given object type. See possible values + with GRANT_OBJECT configuration directive. + - Improve replacement of ROWNUM by LIMIT+OFFSET clause. + - Fix extra semi-colon at end of statement. + - Override ora2pg.spec with Devrim's one but with String::Random + removing as it is no more used. + 2017 01 29 - v18.0 This new major release adds several new useful features and lot of diff --git a/lib/Ora2Pg.pm b/lib/Ora2Pg.pm index c1ffdd9c..d029374b 100644 --- a/lib/Ora2Pg.pm +++ b/lib/Ora2Pg.pm @@ -41,7 +41,7 @@ use File::Temp qw/ tempfile /; #set locale to LC_NUMERIC C setlocale(LC_NUMERIC,"C"); -$VERSION = '18.0'; +$VERSION = '18.1'; $PSQL = $ENV{PLSQL} || 'psql'; $| = 1; diff --git a/lib/Ora2Pg/GEOM.pm b/lib/Ora2Pg/GEOM.pm index 198fa714..5e4f4c08 100644 --- a/lib/Ora2Pg/GEOM.pm +++ b/lib/Ora2Pg/GEOM.pm @@ -40,7 +40,7 @@ use vars qw($VERSION); use strict; -$VERSION = '18.0'; +$VERSION = '18.1'; # SDO_ETYPE # Second element of triplet in SDO_ELEM_INFO diff --git a/lib/Ora2Pg/MySQL.pm b/lib/Ora2Pg/MySQL.pm index 1349ab8d..8b9b1e1a 100644 --- a/lib/Ora2Pg/MySQL.pm +++ b/lib/Ora2Pg/MySQL.pm @@ -9,7 +9,7 @@ use POSIX qw(locale_h); setlocale(LC_NUMERIC,"C"); -$VERSION = '18.0'; +$VERSION = '18.1'; # These definitions can be overriden from configuration file our %MYSQL_TYPE = ( diff --git a/lib/Ora2Pg/PLSQL.pm b/lib/Ora2Pg/PLSQL.pm index 5a7714dd..cd13da48 100644 --- a/lib/Ora2Pg/PLSQL.pm +++ b/lib/Ora2Pg/PLSQL.pm @@ -31,7 +31,7 @@ use POSIX qw(locale_h); setlocale(LC_NUMERIC,"C"); -$VERSION = '18.0'; +$VERSION = '18.1'; #---------------------------------------------------- # Cost scores used when converting PLSQL to PLPGSQL diff --git a/packaging/README b/packaging/README index 848d14fd..3e504213 100644 --- a/packaging/README +++ b/packaging/README @@ -12,13 +12,13 @@ RPM/ The binary package may be found here: - ~/rpmbuild/RPMS/noarch/ora2pg-18.0-1.noarch.rpm + ~/rpmbuild/RPMS/noarch/ora2pg-18.1-1.noarch.rpm or - /usr/src/redhat/RPMS/i386/ora2pg-18.0-1.noarch.rpm + /usr/src/redhat/RPMS/i386/ora2pg-18.1-1.noarch.rpm To install run: - rpm -i ~/rpmbuild/RPMS/noarch/ora2pg-18.0-1.noarch.rpm + rpm -i ~/rpmbuild/RPMS/noarch/ora2pg-18.1-1.noarch.rpm slackbuild/ @@ -30,7 +30,7 @@ slackbuild/ then take a look at /tmp/build/ to find the Slackware package. To install run the following command: - installpkg /tmp/build/ora2pg-18.0-i386-1gda.tgz + installpkg /tmp/build/ora2pg-18.1-i386-1gda.tgz debian/ diff --git a/packaging/debian/ora2pg/DEBIAN/control b/packaging/debian/ora2pg/DEBIAN/control index 7f93f139..22888f12 100644 --- a/packaging/debian/ora2pg/DEBIAN/control +++ b/packaging/debian/ora2pg/DEBIAN/control @@ -1,5 +1,5 @@ Package: ora2pg -Version: 18.0 +Version: 18.1 Priority: optional Architecture: all Essential: no diff --git a/packaging/slackbuild/Ora2Pg.SlackBuild b/packaging/slackbuild/Ora2Pg.SlackBuild index 7cccf366..d8ea7f43 100644 --- a/packaging/slackbuild/Ora2Pg.SlackBuild +++ b/packaging/slackbuild/Ora2Pg.SlackBuild @@ -12,7 +12,7 @@ ## Fill these variables to your needs ## NAMESRC=${NAMESRC:-ora2pg} -VERSION=${VERSION:-18.0} +VERSION=${VERSION:-18.1} EXT=${EXT:-tar.bz2} NAMEPKG=${NAMEPKG:-ora2pg} PKGEXT=${PKGEXT:-tgz/txz} diff --git a/packaging/slackbuild/Ora2Pg.info b/packaging/slackbuild/Ora2Pg.info index b4c52a8c..9d07b1bc 100644 --- a/packaging/slackbuild/Ora2Pg.info +++ b/packaging/slackbuild/Ora2Pg.info @@ -1,7 +1,7 @@ PRGNAM="Ora2Pg" -VERSION="18.0" +VERSION="18.1" HOMEPAGE="http://ora2pg.darold.net/" -DOWNLOAD="http://downloads.sourceforge.net/ora2pg/ora2pg-18.0.tar.gz" +DOWNLOAD="http://downloads.sourceforge.net/ora2pg/ora2pg-18.1.tar.gz" MD5SUM="" DOWNLOAD_x86_64="UNTESTED" MD5SUM_x86_64="" diff --git a/scripts/ora2pg b/scripts/ora2pg index b023b88e..eb17c5d4 100644 --- a/scripts/ora2pg +++ b/scripts/ora2pg @@ -31,7 +31,7 @@ use POSIX qw(locale_h sys_wait_h _exit); setlocale(LC_NUMERIC, ''); setlocale(LC_ALL, 'C'); -my $VERSION = '18.0'; +my $VERSION = '18.1'; $| = 1; diff --git a/scripts/ora2pg_scanner b/scripts/ora2pg_scanner index f580d807..998f2125 100644 --- a/scripts/ora2pg_scanner +++ b/scripts/ora2pg_scanner @@ -26,7 +26,7 @@ use strict; use Getopt::Long qw(:config no_ignore_case bundling); -my $VERSION = '18.0'; +my $VERSION = '18.1'; my @DB_DNS = (); my $OUTDIR = '';