Changeset: 9abcee740629 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9abcee740629
Added Files:
        geom/sql/71_geom.sql
        geom/sql/71_geom_import.sql
        sql/backends/monet5/UDF/udf/89_udf.sql
        sql/backends/monet5/UDF/udf/89_udf.sql.h
        sql/backends/monet5/UDF/udf/89_udf_hge.sql
        sql/backends/monet5/UDF/udf/89_udf_hge.sql.h
        sql/backends/monet5/generator/90_generator.sql
        sql/backends/monet5/generator/90_generator.sql.h
        sql/backends/monet5/generator/90_generator_hge.sql
        sql/backends/monet5/generator/90_generator_hge.sql.h
        sql/backends/monet5/vaults/bam/85_bam.sql
        sql/backends/monet5/vaults/fits/73_fits.mal
        sql/backends/monet5/vaults/fits/73_fits.sql
        sql/backends/monet5/vaults/lidar/75_lidar.sql
        sql/backends/monet5/vaults/netcdf/74_netcdf.sql
        sql/backends/monet5/vaults/shp/76_shp.mal
        sql/backends/monet5/vaults/shp/76_shp.sql
        sql/scripts/71_statistics.sql
        sql/scripts/71_statistics.sql.h
Removed Files:
        sql/backends/monet5/vaults/fits/72_fits.mal
        sql/backends/monet5/vaults/shp/75_shp.mal
        sql/scripts/42_geom.sql
        sql/scripts/42_geom.sql.h
        sql/scripts/43_geom_import.sql
        sql/scripts/43_geom_import.sql.h
        sql/scripts/72_fits.sql
        sql/scripts/72_fits.sql.h
        sql/scripts/74_netcdf.sql
        sql/scripts/74_netcdf.sql.h
        sql/scripts/75_lidar.sql
        sql/scripts/75_lidar.sql.h
        sql/scripts/76_shp.sql
        sql/scripts/76_shp.sql.h
        sql/scripts/80_statistics.sql
        sql/scripts/80_statistics.sql.h
        sql/scripts/81_udf.sql
        sql/scripts/81_udf.sql.h
        sql/scripts/81_udf_hge.sql
        sql/scripts/81_udf_hge.sql.h
        sql/scripts/85_bam.sql
        sql/scripts/85_bam.sql.h
        sql/scripts/90_generator.sql
        sql/scripts/90_generator.sql.h
        sql/scripts/90_generator_hge.sql
        sql/scripts/90_generator_hge.sql.h
Modified Files:
        geom/sql/Makefile.ag
        sql/backends/monet5/UDF/udf/Makefile.ag
        sql/backends/monet5/generator/Makefile.ag
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/vaults/bam/Makefile.ag
        sql/backends/monet5/vaults/fits/Makefile.ag
        sql/backends/monet5/vaults/lidar/Makefile.ag
        sql/backends/monet5/vaults/netcdf/Makefile.ag
        sql/backends/monet5/vaults/shp/Makefile.ag
        sql/scripts/Makefile.ag
        sql/scripts/sql_scripts.c
        sql/scripts/sql_scripts.h
Branch: translate-scripts
Log Message:

Move extension SQL scripts back to original directories and load them in a 
installation directory (i.e. createdb)


diffs (truncated from 586 to 300 lines):

diff --git a/sql/scripts/42_geom.sql b/geom/sql/71_geom.sql
rename from sql/scripts/42_geom.sql
rename to geom/sql/71_geom.sql
diff --git a/sql/scripts/43_geom_import.sql b/geom/sql/71_geom_import.sql
rename from sql/scripts/43_geom_import.sql
rename to geom/sql/71_geom_import.sql
diff --git a/geom/sql/Makefile.ag b/geom/sql/Makefile.ag
--- a/geom/sql/Makefile.ag
+++ b/geom/sql/Makefile.ag
@@ -4,4 +4,10 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 
+headers_sql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 71_geom.sql 71_geom_import.sql
+}
+
 EXTRA_DIST_DIR = Tests conformance functions pg_regression
diff --git a/sql/scripts/81_udf.sql b/sql/backends/monet5/UDF/udf/89_udf.sql
rename from sql/scripts/81_udf.sql
rename to sql/backends/monet5/UDF/udf/89_udf.sql
diff --git a/sql/backends/monet5/UDF/udf/89_udf.sql.h 
b/sql/backends/monet5/UDF/udf/89_udf.sql.h
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/udf/89_udf.sql.h
@@ -0,0 +1,10 @@
+/*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0.  If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
+*/
+
+// This file was generated automatically with sql2h.py. Do not edit this file 
directly.
+{ "89_udf", "\n\n\ncreate function reverse(src string)\nreturns string 
external name udf.reverse;\n\n\ncreate function fuse(one tinyint, two 
tinyint)\nreturns smallint external name udf.fuse;\n\ncreate function fuse(one 
smallint, two smallint)\nreturns integer external name udf.fuse;\n\ncreate 
function fuse(one integer, two integer)\nreturns bigint external name 
udf.fuse;" }, 
diff --git a/sql/scripts/81_udf_hge.sql 
b/sql/backends/monet5/UDF/udf/89_udf_hge.sql
rename from sql/scripts/81_udf_hge.sql
rename to sql/backends/monet5/UDF/udf/89_udf_hge.sql
diff --git a/sql/backends/monet5/UDF/udf/89_udf_hge.sql.h 
b/sql/backends/monet5/UDF/udf/89_udf_hge.sql.h
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/udf/89_udf_hge.sql.h
@@ -0,0 +1,10 @@
+/*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0.  If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
+*/
+
+// This file was generated automatically with sql2h.py. Do not edit this file 
directly.
+{ "89_udf_hge", "\n\n\ncreate function fuse(one bigint, two bigint)\nreturns 
hugeint external name udf.fuse;" }, 
diff --git a/sql/backends/monet5/UDF/udf/Makefile.ag 
b/sql/backends/monet5/UDF/udf/Makefile.ag
--- a/sql/backends/monet5/UDF/udf/Makefile.ag
+++ b/sql/backends/monet5/UDF/udf/Makefile.ag
@@ -21,11 +21,18 @@ INCLUDES = ../.. \
 lib__udf = {
        MODULE
        DIR = libdir/monetdb5
-       SOURCES = udf.c udf.h udf_impl.h
+       SOURCES = udf.c udf.h udf_impl.h 89_udf.sql.h
        LIBS = WIN32?../../../../../monetdb5/tools/libmonetdb5 \
               WIN32?../../../../../gdk/libbat
 }
 
+lib__udf_hge = {
+       COND = HAVE_HGE
+       MODULE
+       DIR = libdir/monetdb5
+       SOURCES = 89_udf_hge.sql.h
+}
+
 headers_mal = {
        HEADERS = mal
        DIR = libdir/monetdb5
diff --git a/sql/scripts/90_generator.sql 
b/sql/backends/monet5/generator/90_generator.sql
rename from sql/scripts/90_generator.sql
rename to sql/backends/monet5/generator/90_generator.sql
diff --git a/sql/scripts/90_generator.sql.h 
b/sql/backends/monet5/generator/90_generator.sql.h
rename from sql/scripts/90_generator.sql.h
rename to sql/backends/monet5/generator/90_generator.sql.h
diff --git a/sql/scripts/90_generator_hge.sql 
b/sql/backends/monet5/generator/90_generator_hge.sql
rename from sql/scripts/90_generator_hge.sql
rename to sql/backends/monet5/generator/90_generator_hge.sql
diff --git a/sql/scripts/90_generator_hge.sql.h 
b/sql/backends/monet5/generator/90_generator_hge.sql.h
rename from sql/scripts/90_generator_hge.sql.h
rename to sql/backends/monet5/generator/90_generator_hge.sql.h
diff --git a/sql/backends/monet5/generator/Makefile.ag 
b/sql/backends/monet5/generator/Makefile.ag
--- a/sql/backends/monet5/generator/Makefile.ag
+++ b/sql/backends/monet5/generator/Makefile.ag
@@ -22,9 +22,16 @@ INCLUDES = ../../../include \
 lib__generator = {
        MODULE
        DIR = libdir/monetdb5
-       SOURCES = generator.c  generator.h
+       SOURCES = generator.c generator.h 90_generator.sql.h
        LIBS = WIN32?../../../../monetdb5/tools/libmonetdb5 \
               WIN32?../../../../gdk/libbat
 }
 
+lib__generator_hge = {
+       COND = HAVE_HGE
+       MODULE
+       DIR = libdir/monetdb5
+       SOURCES = 90_generator_hge.sql.h
+}
+
 EXTRA_DIST_DIR = Tests
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -467,6 +467,8 @@ SQLinit(Client c)
                        SQLnewcatalog = 1;
        }
        if (SQLnewcatalog > 0) {
+               char path[FILENAME_MAX];
+               str fullname;
                char *commit = "commit;\n";
 
                SQLnewcatalog = 0;
@@ -474,7 +476,68 @@ SQLinit(Client c)
 
                fprintf(stdout, "# SQL catalog created, loading sql scripts 
once\n");
 
-               if ((msg = install_sql_scripts(c)) != MAL_SUCCEED) {
+               if ((msg = install_sql_scripts1(c)) != MAL_SUCCEED) {
+                       MT_lock_unset(&sql_contextLock);
+                       return msg;
+               }
+
+               //load custom scripts here
+               snprintf(path, FILENAME_MAX, "createdb");
+               slash_2_dir_sep(path);
+               fullname = MSP_locate_sqlscript(path, 1);
+               if (fullname) {
+                       str filename = fullname;
+                       str p, n, newmsg= MAL_SUCCEED;
+                       fprintf(stdout, "# SQL catalog created, loading sql 
scripts once\n");
+                       do {
+                               stream *fd = NULL;
+
+                               p = strchr(filename, PATH_SEP);
+                               if (p)
+                                       *p = '\0';
+                               if ((n = strrchr(filename, DIR_SEP)) == NULL) {
+                                       n = filename;
+                               } else {
+                                       n++;
+                               }
+                               fprintf(stdout, "# loading sql script: %s\n", 
n);
+                               fd = open_rastream(filename);
+                               if (p)
+                                       filename = p + 1;
+
+                               if (fd) {
+                                       size_t sz;
+                                       sz = getFileSize(fd);
+                                       if (sz > (size_t) 1 << 29) {
+                                               close_stream(fd);
+                                               newmsg = createException(MAL, 
"createdb", SQLSTATE(42000) "File %s too large to process", filename);
+                                       } else {
+                                               bstream *bfd = NULL;
+
+                                               if((bfd = bstream_create(fd, sz 
== 0 ? (size_t) (128 * BLOCK) : sz)) == NULL) {
+                                                       close_stream(fd);
+                                                       newmsg = 
createException(MAL, "createdb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
+                                               } else {
+                                                       if (bstream_next(bfd) 
>= 0)
+                                                               newmsg = 
SQLstatementIntern(c, &bfd->buf, "sql.init", TRUE, FALSE, NULL);
+                                                       bstream_destroy(bfd);
+                                               }
+                                       }
+                                       if (m->sa)
+                                               sa_destroy(m->sa);
+                                       m->sa = NULL;
+                                       m->sqs = NULL;
+                                       if (newmsg){
+                                               fprintf(stderr,"%s",newmsg);
+                                               freeException(newmsg);
+                                       }
+                               }
+                       } while (p);
+                       GDKfree(fullname);
+               } else
+                       fprintf(stderr, "!could not read createdb.sql\n");
+
+               if ((msg = install_sql_scripts2(c)) != MAL_SUCCEED) {
                        MT_lock_unset(&sql_contextLock);
                        return msg;
                }
diff --git a/sql/scripts/85_bam.sql b/sql/backends/monet5/vaults/bam/85_bam.sql
rename from sql/scripts/85_bam.sql
rename to sql/backends/monet5/vaults/bam/85_bam.sql
diff --git a/sql/backends/monet5/vaults/bam/Makefile.ag 
b/sql/backends/monet5/vaults/bam/Makefile.ag
--- a/sql/backends/monet5/vaults/bam/Makefile.ag
+++ b/sql/backends/monet5/vaults/bam/Makefile.ag
@@ -43,6 +43,12 @@ headers_mal = {
        SOURCES = bam.mal
 }
 
+headers_sql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 85_bam.sql
+}
+
 headers_autoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
diff --git a/sql/backends/monet5/vaults/fits/72_fits.mal 
b/sql/backends/monet5/vaults/fits/73_fits.mal
rename from sql/backends/monet5/vaults/fits/72_fits.mal
rename to sql/backends/monet5/vaults/fits/73_fits.mal
diff --git a/sql/scripts/72_fits.sql 
b/sql/backends/monet5/vaults/fits/73_fits.sql
rename from sql/scripts/72_fits.sql
rename to sql/backends/monet5/vaults/fits/73_fits.sql
diff --git a/sql/backends/monet5/vaults/fits/Makefile.ag 
b/sql/backends/monet5/vaults/fits/Makefile.ag
--- a/sql/backends/monet5/vaults/fits/Makefile.ag
+++ b/sql/backends/monet5/vaults/fits/Makefile.ag
@@ -37,8 +37,14 @@ headers_fitsmal = {
        SOURCES = fits.mal
 }
 
+headers_fitssql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 73_fits.sql
+}
+
 headers_fitsautoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
-       SOURCES = 72_fits.mal
+       SOURCES = 73_fits.mal
 }
diff --git a/sql/scripts/75_lidar.sql 
b/sql/backends/monet5/vaults/lidar/75_lidar.sql
rename from sql/scripts/75_lidar.sql
rename to sql/backends/monet5/vaults/lidar/75_lidar.sql
diff --git a/sql/backends/monet5/vaults/lidar/Makefile.ag 
b/sql/backends/monet5/vaults/lidar/Makefile.ag
--- a/sql/backends/monet5/vaults/lidar/Makefile.ag
+++ b/sql/backends/monet5/vaults/lidar/Makefile.ag
@@ -37,6 +37,12 @@ headers_lidarmal = {
        SOURCES = lidar.mal
 }
 
+headers_lidarsql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 75_lidar.sql
+}
+
 headers_lidarautoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
diff --git a/sql/scripts/74_netcdf.sql 
b/sql/backends/monet5/vaults/netcdf/74_netcdf.sql
rename from sql/scripts/74_netcdf.sql
rename to sql/backends/monet5/vaults/netcdf/74_netcdf.sql
diff --git a/sql/backends/monet5/vaults/netcdf/Makefile.ag 
b/sql/backends/monet5/vaults/netcdf/Makefile.ag
--- a/sql/backends/monet5/vaults/netcdf/Makefile.ag
+++ b/sql/backends/monet5/vaults/netcdf/Makefile.ag
@@ -37,6 +37,12 @@ headers_netcdfmal = {
        SOURCES = netcdf.mal
 }
 
+headers_netcdfsql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 74_netcdf.sql
+}
+
 headers_netcdfautoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
diff --git a/sql/backends/monet5/vaults/shp/75_shp.mal 
b/sql/backends/monet5/vaults/shp/76_shp.mal
rename from sql/backends/monet5/vaults/shp/75_shp.mal
rename to sql/backends/monet5/vaults/shp/76_shp.mal
diff --git a/sql/scripts/76_shp.sql b/sql/backends/monet5/vaults/shp/76_shp.sql
rename from sql/scripts/76_shp.sql
rename to sql/backends/monet5/vaults/shp/76_shp.sql
diff --git a/sql/backends/monet5/vaults/shp/Makefile.ag 
b/sql/backends/monet5/vaults/shp/Makefile.ag
--- a/sql/backends/monet5/vaults/shp/Makefile.ag
+++ b/sql/backends/monet5/vaults/shp/Makefile.ag
@@ -39,8 +39,14 @@ headers_shpmal = {
        SOURCES = shp.mal
 }
 
+headers_shpsql = {
+       HEADERS = sql
+       DIR = libdir/monetdb5/createdb
+       SOURCES = 76_shp.sql
+}
+
 headers_shpautoload = {
        HEADERS = mal
        DIR = libdir/monetdb5/autoload
-       SOURCES = 75_shp.mal
+       SOURCES = 76_shp.mal
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to