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