Skip to content

Commit 1dfaa8a

Browse files
author
Markus Sutter
committed
Switch to use generate_random_uuid() instead of uuid_random_v4()
So that users do not have to install an extra extension in PostgreSQL 13+ .
1 parent d188831 commit 1dfaa8a

22 files changed

Lines changed: 30 additions & 30 deletions

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ before_script:
4848
- psql -c 'create database ili2db;' -U $PGUSER
4949
- psql -c 'select version();' -d ili2db -U $PGUSER
5050
- psql -c 'create extension if not exists postgis;' -d ili2db -U $PGUSER
51-
- psql -c 'create extension if not exists "uuid-ossp";' -d ili2db -U $PGUSER
51+
- psql -c 'create extension if not exists pgcrypto;' -d ili2db -U $PGUSER
5252
- psql -c 'select postgis_full_version();' -d ili2db -U $PGUSER
5353
- # dpkg-query -L python3-docutils
5454
- python3 --version

docs/ili2db.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ Das Programm setzt Java 1.8 voraus.
158158

159159
**PostGIS:** Als Datenbank muss mindestens PostgreSQL 8.3 und PostGIS
160160
1.5 vorhanden sein. Falls das Interlis Datenmodell INTERLIS.UUIDOID als
161-
OID verwendet, wird die Funktion uuid_generate_v4() verwendet.
162-
Dazu muss die PostgreSQL-Erweiterung uuid-ossp konfiguriert sein
163-
(``CREATE EXTENSION "uuid-ossp";``). Mit der Option ``--setupPgExt``
161+
OID verwendet, wird die Funktion gen_random_uuid() verwendet.
162+
Dazu muss für PostgreSQL VOR Version 13 die PostgreSQL-Erweiterung pgcrypto konfiguriert sein
163+
(``CREATE EXTENSION "pgcrypto";``). Mit der Option ``--setupPgExt``
164164
erstellt ili2pg die fehlenden notwendigen Erweiterungen.
165165

166166
**FileGDB:** Es muss `Visual Studio 2015 C and C++ Runtimes <https://www.microsoft.com/en-us/download/details.aspx?id=48145>`_
@@ -740,7 +740,7 @@ Optionen:
740740
| | |
741741
| | **FileGDB:** Name der ESRI File Geodatabase-Datei. |
742742
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
743-
| --setupPgExt | **PostGIS:** erstellt postgreql Erweiterungen 'uuid-ossp' und 'postgis' (falls noch nicht vorhanden) |
743+
| --setupPgExt | **PostGIS:** erstellt postgreql Erweiterungen 'pgcrypto' und 'postgis' (falls noch nicht vorhanden) |
744744
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
745745
| --disableRounding | Beim Import und Export werden die Daten per Default gerundet gem. Angaben im Modell. Mit dieser Option findet keine Rundung statt. |
746746
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

docs/ili2db_es.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ El programa requiere Java 1.8.
9999

100100
**PostGIS:** Se requiere por lo menos PostgreSQL 8.3 con PostGIS 1.5. En
101101
el caso de usar el modelo de datos Interlis INTERLIS.UUIDOID como OID,
102-
la función uuid\_generate\_v4() será empleada. Para ello es necesario de
103-
configurar la extensión de PostgreSQL uuid-ossp (CREATE EXTENSION
104-
"uuid-ossp";).
102+
la función gen\_random\_uuid() será empleada. PostgreSQL < 13: Para ello es necesario de
103+
configurar la extensión de PostgreSQL pgcrypto (CREATE EXTENSION
104+
"pgcrypto";).
105105

106106
**FileGDB:** `*Visual Studio 2015 C y C++
107107
Runtimes* <https://www.microsoft.com/en-us/download/details.aspx?id=48145>`__
@@ -453,7 +453,7 @@ Opciones:
453453
| | |
454454
| | **FileGDB:** Nombre de archivo de la FileGeodatabase de ESRI. |
455455
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
456-
| --setupPgExt | **PostGIS:** crea la extensión PostgreSQL 'uuid-ossp' y 'postgis' (si aún no creadas). |
456+
| --setupPgExt | **PostGIS:** crea la extensión PostgreSQL 'pgcrypto' y 'postgis' (si aún no creadas). |
457457
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
458458
| --deleteData | Durante un import de datos (--import), se eliminan todos los datos de las tablas existentes/usadas (con DELETE, la estructura de la tabla permanece). |
459459
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

ili2pg/src/ch/ehi/ili2pg/PgCustomStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public void fixupEmbeddedLink(DbTable dbTable, DbColumn dbColId,
4141
}
4242

4343
private final static String[] pgExtensions = new String[]{
44-
"postgis", "\"uuid-ossp\""
44+
"postgis", "\"pgcrypto\""
4545
};
4646

4747
@Override

ili2pg/src/ch/ehi/ili2pg/PgMain.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void initConfig(Config config) {
3838
config.setJdbcDriver("org.postgresql.Driver");
3939
config.setIdGenerator(ch.ehi.ili2pg.PgSequenceBasedIdGen.class.getName());
4040
config.setIli2dbCustomStrategy(ch.ehi.ili2pg.PgCustomStrategy.class.getName());
41-
config.setUuidDefaultValue("uuid_generate_v4()");
41+
config.setUuidDefaultValue("gen_random_uuid()");
4242
}
4343
@Override
4444
public DbUrlConverter getDbUrlConverter() {
@@ -107,7 +107,7 @@ protected void printConnectOptions() {
107107
protected void printSpecificOptions() {
108108
System.err.println("--dbschema schema The name of the schema in the database. Defaults to not set.");
109109
System.err.println("--oneGeomPerTable If more than one geometry per table, create secondary table.");
110-
System.err.println("--setupPgExt create extensions 'uuid-ossp' and 'postgis'.");
110+
System.err.println("--setupPgExt create extensions 'pgcrypto' and 'postgis'.");
111111
}
112112
@Override
113113
protected int doArgs(String args[],int argi,Config config) throws ParseException

src/ch/ehi/ili2db/converter/AbstractRecordConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ public void addIliTidCol(DbTable dbTable,Domain oidDomain) {
181181
if(isUuidOid(td,oidDomain)){
182182
DbColUuid dbColIliTid= new DbColUuid();
183183
dbColIliTid.setName(DbNames.T_ILI_TID_COL);
184-
// CREATE EXTENSION "uuid-ossp";
184+
// CREATE EXTENSION "pgcrypto";
185185
dbColIliTid.setDefaultValue(uuid_default_value);
186186
dbTable.addColumn(dbColIliTid);
187187
}else{

test/data/Array/Array23InsertIntoTable.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.BasketHandling', 'r
133133
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.defaultSrsAuthority', 'EPSG');
134134
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.defaultSrsCode', '21781');
135135
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.maxSqlNameLength', '60');
136-
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'uuid_generate_v4()');
136+
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'gen_random_uuid()');
137137
INSERT INTO array23.t_ili2db_settings VALUES ('ch.ehi.ili2db.multiPointTrafo', 'coalesce');
138138
INSERT INTO array23.t_ili2db_table_prop VALUES ('binbox_', 'ch.ehi.ili2db.tableKind', 'STRUCTURE');
139139
INSERT INTO array23.t_ili2db_table_prop VALUES ('farbe', 'ch.ehi.ili2db.tableKind', 'STRUCTURE');

test/data/CatalogueObjects/CatalogueObjects1.ili.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ COMMENT ON TABLE CatalogueObjects1.multilingualtext IS '@iliname Localisation_V1
2727
CREATE TABLE CatalogueObjects1.topica_katalog_programm (
2828
T_Id bigint PRIMARY KEY DEFAULT nextval('CatalogueObjects1.t_ili2db_seq')
2929
,T_basket bigint NOT NULL
30-
,T_Ili_Tid uuid NULL DEFAULT uuid_generate_v4()
30+
,T_Ili_Tid uuid NULL DEFAULT gen_random_uuid()
3131
,code varchar(20) NOT NULL
3232
,programm text NULL
3333
,programm_de text NULL

test/data/Dataset23NoSmart/InsertIntoTable.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ END Dataset1.
6666

6767
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.maxSqlNameLength', '60');
6868
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.defaultSrsCode', '21781');
69-
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'uuid_generate_v4()');
69+
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'gen_random_uuid()');
7070
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.sender', 'ili2pg-3.8.1-20170421');
7171
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.interlis.ili2c.ilidirs', '%ILI_FROM_DB;%XTF_DIR;http://models.interlis.ch/;%JAR_DIR');
7272
INSERT INTO dataset1nosmart.t_ili2db_settings VALUES ('ch.ehi.ili2db.BasketHandling', 'readWrite');

test/data/Dataset23Smart1/InsertIntoTable.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ END Dataset1.
6464

6565
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.maxSqlNameLength', '60');
6666
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.defaultSrsCode', '21781');
67-
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'uuid_generate_v4()');
67+
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.uuidDefaultValue', 'gen_random_uuid()');
6868
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.inheritanceTrafo', 'smart1');
6969
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.ehi.ili2db.sender', 'ili2pg-3.8.1-20170421');
7070
INSERT INTO dataset1smart1.t_ili2db_settings VALUES ('ch.interlis.ili2c.ilidirs', '%ILI_FROM_DB;%XTF_DIR;http://models.interlis.ch/;%JAR_DIR');

0 commit comments

Comments
 (0)