Changeset: bd615452b27c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd615452b27c
Modified Files:
        monetdb5/mal/mal.c
        monetdb5/mal/mal_embedded.c
        monetdb5/mal/mal_scenario.c
        sql/backends/monet5/sql_scenario.c
Branch: mbedded
Log Message:

make sure we return the scenarios on SQLepilogue


diffs (150 lines):

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -90,8 +90,6 @@ int mal_init(char *modules[], int embedd
  */
 void mal_reset(void)
 {
-       str err = 0;
-
        GDKprepareExit();
        MCstopClients(0);
        dropQRYqueue();
@@ -99,6 +97,8 @@ void mal_reset(void)
        stopProfiler(0);
        AUTHreset();
        if (!GDKinmemory()) {
+               str err = 0;
+
                if ((err = msab_wildRetreat()) != NULL) {
                        TRC_ERROR(MAL_SERVER, "%s\n", err);
                        free(err);
diff --git a/monetdb5/mal/mal_embedded.c b/monetdb5/mal/mal_embedded.c
--- a/monetdb5/mal/mal_embedded.c
+++ b/monetdb5/mal/mal_embedded.c
@@ -120,7 +120,8 @@ malEmbeddedReset(void) //remove extra mo
        stopProfiler(0);
        AUTHreset();
        if (!GDKinmemory()) {
-            str err = 0;
+               str err = 0;
+
                if ((err = msab_wildRetreat()) != NULL) {
                        TRC_ERROR(MAL_SERVER, "%s\n", err);
                        free(err);
@@ -129,7 +130,6 @@ malEmbeddedReset(void) //remove extra mo
                        TRC_ERROR(MAL_SERVER, "%s\n", err);
                        free(err);
                }
-
        }
        mal_factory_reset();
        mal_dataflow_reset();
diff --git a/monetdb5/mal/mal_scenario.c b/monetdb5/mal/mal_scenario.c
--- a/monetdb5/mal/mal_scenario.c
+++ b/monetdb5/mal/mal_scenario.c
@@ -194,8 +194,8 @@ findScenario(str nme)
        int i;
        Scenario scen = scenarioRec;
 
-       for (i = 0; i < MAXSCEN && scen->name; i++, scen++)
-               if (strcmp(scen->name, nme) == 0)
+       for (i = 0; i < MAXSCEN; i++, scen++)
+               if (scen->name && strcmp(scen->name, nme) == 0)
                        return scen;
        return NULL;
 }
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
@@ -222,6 +222,13 @@ SQLepilogue(void *ret)
                        return err;
                }
        }
+       /* return scenarios */
+       Scenario sc = findScenario(s);
+       if (sc)
+               sc->name = NULL;
+       sc = findScenario(m);
+       if (sc)
+               sc->name = NULL;
        return MAL_SUCCEED;
 }
 
@@ -511,76 +518,6 @@ SQLinit(Client c)
                        freeException(other);
                if (msg)
                        TRC_INFO(SQL_PARSER, "%s\n", msg);
-#if 0 //OLD
-               if (GDKembedded()) {
-               } else {
-                       char path[FILENAME_MAX];
-                       str fullname;
-       
-                       snprintf(path, FILENAME_MAX, "createdb");
-                       slash_2_dir_sep(path);
-                       fullname = MSP_locate_sqlscript(path, 1);
-                       if (fullname) {
-                               str filename = fullname, p, n;
-
-                               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);
-                                                       msg = 
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);
-                                                               msg = 
createException(MAL, "createdb", SQLSTATE(HY013) MAL_MALLOC_FAIL);
-                                                       } else {
-                                                               if 
(bstream_next(bfd) >= 0)
-                                                                       msg = 
SQLstatementIntern(c, &bfd->buf, "sql.init", TRUE, FALSE, NULL);
-                                                               
bstream_destroy(bfd);
-                                                       }
-                                               }
-                                       } else
-                                               msg = createException(MAL, 
"createdb", SQLSTATE(HY013) "Couldn't open file %s", filename);
-                               } while (p && msg == MAL_SUCCEED);
-                               GDKfree(fullname);
-                       } else
-                               msg = createException(MAL, "createdb", 
SQLSTATE(HY013) "Could not read createdb.sql");
-       
-                       /* Commit after all the startup scripts have been 
processed */
-                       assert(m->session->tr->active);
-                       if (mvc_status(m) < 0 || msg)
-                               other = mvc_rollback(m, 0, NULL, false);
-                       else
-                               other = mvc_commit(m, 0, NULL, false);
-
-                       if (other && !msg) /* 'msg' variable might be set or 
not, as well as 'other'. Throw the earliest one */
-                               msg = other;
-                       else if (other)
-                               freeException(other);
-
-                       if (msg)
-                               TRC_INFO(SQL_PARSER, "%s\n", msg);
-               }
-#endif
        } else {                /* handle upgrades */
                if (!m->sa)
                        m->sa = sa_create();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to