Skip to content

Commit

Permalink
Update changelog and version to 19.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
darold committed Sep 27, 2018
1 parent da5e628 commit fcfc10a
Show file tree
Hide file tree
Showing 11 changed files with 135 additions and 16 deletions.
121 changes: 120 additions & 1 deletion changelog
Original file line number Diff line number Diff line change
@@ -1,4 +1,123 @@
2017 08 18 - v19.0
2018 09 27 - v19.1

This release fix several issues reported during the last month and
add support to PostgreSQL 11 HASH partitioning.

It also adds some new features and configuration directives:

* Add export of default partition and default sub partition.
* Add export of HASH partition type.
* Add support of stored procedure object.
* Add replacement of NLSORT in indexes or queries. For example:
CREATE INDEX test_idx ON emp
(NLSSORT(emp_name, 'NLS_SORT=GERMAN'));
is translated into
CREATE INDEX test_idx ON emp
((emp_name collate "german"));
The collation still need to be adapted, here probably "de_DE".
NLSSORT() in ORDER BY clause are also translated.
* Prevent duplicate index with primary key on partition to be
exported.
* PostgreSQL native partitioning does not allow direct import of
data into already attached partitions. We now force direct import
into main table but we keep Oracle export of data from individual

This release also adds two new command line options:

--oracle_speed: use to know at which speed Oracle is able to send
data. No data will be processed or written written
--ora2pg_speed: use to know at which speed Ora2Pg is able to send
transformed data. Nothing will be written

Use it for debugging purpose. They are useful to see Oracle speed to
send data and at what speed Ora2Pg is processing the data without
reaching disk or direct import into PostgreSQL.

Two new configuration directive has been added:

* PG_SUPPORTS_PROCEDURE : PostgreSQL v11 adds support to stored
procedure objects. Disabled by default.
- PARALLEL_MIN_ROWS: set the minimum number of tuples in a table
before calling Oracle's parallel mode during data export.
Default to 100000 rows.

Note that PG_SUPPORTS_PARTITION and PG_SUPPORTS_IDENTITY are now
enabled by default to use PostgreSQL declarative partionning and
identity column instead of serial data type.

Here is the full list of changes and acknowledgements:

- Fix automatic quoting of table or partition name starting with
a number. Thanks to Barzaqh for the report.
- Add information about custom directory installation. Thanks to
joguess for the report.
- Update list of action in documentation.
- Fix export of spatial geometries. Thanks to burak yurdakul for
the report.
- Fix translation of default value in CREATE TABLE DDL when using
a function. Thanks to Denis Oleynikov for the report.
- Prevent moving index on partition during tablespace export.
Thanks to Maxim Zakharov for the report.
- Fix upper case of partition name in triggers.
- Enforce KEEP_PKEY_NAMES when USE_TABLESPACE is enabled. Thanks
to Maxim Zakharov for the patch.
- Fix parsing of Oracle user login in dblink input from a file.
- Fix multiple duplication of range clause in partition export.
- Add bench of total time and rows to migrate data from Oracle
in debug mode with speed average.
- Fix sub partition prefix name.
- Fix unset oracle username when exporting DBLINK from database.
Thanks to Denis Oleynikov for the report.
- Remove NO VALID to foreign keys on partitioned table. Thanks to
Denis Oleynikov for the report.
- Fix crash of Ora2Pg on regexp with dynamic pattern base on package
code. Thank to Alain Debie and MikeCaliffCBORD for the report.
- PostgreSQL native partitioning does not allow direct import of
data into already attached partitions. When PG_SUPPORTS_PARTITION
is enable we now force direct import into main single table but
we keep Oracle export of data from individual partition. Previous
behavior was to use main table from both side. Thanks to Denis
Oleynikov for the report.
- Add the PARALLEL_MIN_ROWS configuration directive to prevent
Oracle's parallel mode to be activated during data export if the
table have less than a certain amount of rows. Default is 100000
rows. This prevent unnecessary fork of Oracle process. Thanks to
Denis Oleynikov for the feature request.
- Fix composite partition MODULUS value. Thanks to Denis Oleynikov
for the report.
- Fix count of partitions that was not including subpartition count.
- Force PostgreSQL user in FDW user mapping to be PG_USER when it is
defined.
- Sometimes Oracle indexes can be defined as follow:
CREATE INDEX idx_err_status_id
ON err_status (status_id, 1);
which generate errors on PostgreSQL. Remove column names composed
of digit only from the translation. Thanks to Denis Oleynikov for
the report.
- Move Oracle indexes or PK defined on partitioned tables to each
partition as PostgreSQL do not support UNIQUE, PRIMARY KEY,
EXCLUDE, or FOREIGN KEY constraints on partitioned tables.
Definition are created in file PARTITION_INDEXES_output.sql
generated with the PARTITION export type. Thanks to Denis
Oleynikov for the feature request.
- Fix parallel data load from Oracle partitioned tables by using
a unique alias. Thanks to Denis Oleynikov for the report.
- Fix export of composite partitioned (range/hash) table when
PG_SUPPORTS_PARTITION is disabled. Thanks to Denis Oleynikov
for the report.
- Remove composite sub partition from the list of partition, this
return a wrong partition count.
- Fix MODULUS value in hash sub partitioning.
- Index and table partitions could be on separate tablespaces.
Thanks to Maxim Zakharov for the patch.
- Fix case where procedure object name is wrongly double quoted.
Thanks to danghb for the report.
- Fix parser to support comment between procedure|function name
and IS|AS keyword. Thanks to danghb for the report.
- Remove dependency to List::Util for the min() function.


2018 08 18 - v19.0

This major release fix several issues reported by users during last
year. It also adds several new features and configuration directives.
Expand Down
2 changes: 1 addition & 1 deletion lib/Ora2Pg.pm
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ use Benchmark;
#set locale to LC_NUMERIC C
setlocale(LC_NUMERIC,"C");

$VERSION = '19.0';
$VERSION = '19.1';
$PSQL = $ENV{PLSQL} || 'psql';

$| = 1;
Expand Down
2 changes: 1 addition & 1 deletion lib/Ora2Pg/GEOM.pm
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ use vars qw($VERSION);

use strict;

$VERSION = '19.0';
$VERSION = '19.1';

# SDO_ETYPE
# Second element of triplet in SDO_ELEM_INFO
Expand Down
2 changes: 1 addition & 1 deletion lib/Ora2Pg/MySQL.pm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use POSIX qw(locale_h);
setlocale(LC_NUMERIC,"C");


$VERSION = '19.0';
$VERSION = '19.1';

# Some function might be excluded from export and assessment.
our @EXCLUDED_FUNCTION = ('SQUIRREL_GET_ERROR_OFFSET');
Expand Down
2 changes: 1 addition & 1 deletion lib/Ora2Pg/PLSQL.pm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ use POSIX qw(locale_h);
setlocale(LC_NUMERIC,"C");


$VERSION = '19.0';
$VERSION = '19.1';

#----------------------------------------------------
# Cost scores used when converting PLSQL to PLPGSQL
Expand Down
10 changes: 5 additions & 5 deletions packaging/README
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ RPM/

The binary package may be found here:

~/rpmbuild/RPMS/noarch/ora2pg-19.0-1.noarch.rpm
~/rpmbuild/RPMS/noarch/ora2pg-19.1-1.noarch.rpm
or
/usr/src/redhat/RPMS/i386/ora2pg-19.0-1.noarch.rpm
/usr/src/redhat/RPMS/i386/ora2pg-19.1-1.noarch.rpm

To install run:

rpm -i ~/rpmbuild/RPMS/noarch/ora2pg-19.0-1.noarch.rpm
rpm -i ~/rpmbuild/RPMS/noarch/ora2pg-19.1-1.noarch.rpm


slackbuild/
Expand All @@ -30,11 +30,11 @@ slackbuild/
then take a look at /tmp/build/ to find the Slackware package.
To install run the following command:

installpkg /tmp/build/ora2pg-19.0-i386-1gda.tgz
installpkg /tmp/build/ora2pg-19.1-i386-1gda.tgz

or

installpkg /tmp/build/ora2pg-19.0-x86_64-1gda.tgz
installpkg /tmp/build/ora2pg-19.1-x86_64-1gda.tgz

following the architecture.

Expand Down
2 changes: 1 addition & 1 deletion packaging/debian/ora2pg/DEBIAN/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: ora2pg
Version: 19.0
Version: 19.1
Priority: optional
Architecture: all
Essential: no
Expand Down
2 changes: 1 addition & 1 deletion packaging/slackbuild/Ora2Pg.SlackBuild
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

## Fill these variables to your needs ##
NAMESRC=${NAMESRC:-ora2pg}
VERSION=${VERSION:-19.0}
VERSION=${VERSION:-19.1}
EXT=${EXT:-tar.bz2}
NAMEPKG=${NAMEPKG:-ora2pg}
PKGEXT=${PKGEXT:-tgz/txz}
Expand Down
4 changes: 2 additions & 2 deletions packaging/slackbuild/Ora2Pg.info
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PRGNAM="Ora2Pg"
VERSION="19.0"
VERSION="19.1"
HOMEPAGE="http://ora2pg.darold.net/"
DOWNLOAD="http://downloads.sourceforge.net/ora2pg/ora2pg-19.0.tar.gz"
DOWNLOAD="http://downloads.sourceforge.net/ora2pg/ora2pg-19.1.tar.gz"
MD5SUM=""
DOWNLOAD_x86_64="UNTESTED"
MD5SUM_x86_64=""
Expand Down
2 changes: 1 addition & 1 deletion scripts/ora2pg
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ use POSIX qw(locale_h sys_wait_h _exit);
setlocale(LC_NUMERIC, '');
setlocale(LC_ALL, 'C');

my $VERSION = '19.0';
my $VERSION = '19.1';

$| = 1;

Expand Down
2 changes: 1 addition & 1 deletion scripts/ora2pg_scanner
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use strict;

use Getopt::Long qw(:config no_ignore_case bundling);

my $VERSION = '19.0';
my $VERSION = '19.1';

my @DB_DNS = ();
my $OUTDIR = '';
Expand Down

0 comments on commit fcfc10a

Please sign in to comment.