Changeset: fb98efbc236f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fb98efbc236f
Modified Files:
configure.ag
gdk/gdk_posix.c
geom/lib/libgeom.c
sql/backends/monet5/sql.mx
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/vaults/fits.c
sql/backends/monet5/vaults/fits.h
Branch: headless
Log Message:
Merged from default
diffs (truncated from 355 to 300 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -27,7 +27,7 @@
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
dnl use tar-ustar since we have long (longer than 99 characters) file names
-AM_INIT_AUTOMAKE([tar-ustar])
+AM_INIT_AUTOMAKE([tar-ustar no-dist-gzip dist-bzip2])
AC_CONFIG_SRCDIR([gdk/gdk.h])
AM_CONFIG_HEADER([monetdb_config.h])
AC_SUBST([CONFIG_H], [monetdb_config.h])
@@ -3226,6 +3226,8 @@
monetdb5 \
sql \
geom \
+ fits \
+ rdf \
unixodbc \
java \
jdbc \
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -54,7 +54,7 @@
#ifdef WIN32
int GDK_mem_pagebits = 16; /* on windows, the mmap addresses can be set by
the 64KB */
#else
-int GDK_mem_pagebits = 14; /* on linux, 4KB pages can be addressed */
+int GDK_mem_pagebits = 14; /* on linux, 4KB pages can be addressed (but we
use 16KB) */
#endif
#ifndef MAP_NORESERVE
diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c
--- a/geom/lib/libgeom.c
+++ b/geom/lib/libgeom.c
@@ -34,7 +34,7 @@
{
initGEOS((GEOSMessageHandler)GDKerror, (GEOSMessageHandler)GDKerror);
GEOS_setWKBByteOrder(1); /* NDR (little endian) */
- printf("# MonetDB/GIS module v" VERSION " loaded\n");
+ printf("# MonetDB/GIS module loaded\n");
fflush(stdout); /* make merovingian see this *now* */
}
diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -119,11 +119,11 @@
easier to later re-use part of the catalog code in a separately.
@mal
-pattern setVariable( varname:str, value:any_1 ):void
+pattern setVariable(mvc:ptr, varname:str, value:any_1 ):ptr
address setVariable
comment "Set the value of a session variable";
-pattern getVariable( varname:str ):any_1
+pattern getVariable(mvc:ptr, varname:str ):any_1
address getVariable
comment "Get the value of a session variable";
@@ -2265,21 +2265,20 @@
str
setVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
+ ptr *res = (ptr*)getArgReference(stk, pci, 0);
+ mvc *m = *(mvc**)getArgReference(stk, pci, 1);
+ str varname = *(str *) getArgReference(stk, pci, 2);
+ int mtype = getArgType(mb, pci, 3);
+ ValRecord *src;
+ char *msg = NULL;
char buf[BUFSIZ];
- mvc *m = NULL;
- int mtype = getArgType(mb, pci, 2);
- str varname = *(str *) getArgReference(stk, pci, 1);
- str msg = getContext(cntxt,mb, &m, NULL);
- ValRecord *src;
(void) cntxt;
- if (msg)
- return msg;
-
+ *res = (ptr)m;
if (mtype < 0 || mtype >= 255)
throw(SQL, "sql.setVariable", "failed");
if ( strcmp("optimizer", varname)== 0) {
- msg = setOptimizers(*(str *) getArgReference(stk,pci,2));
+ msg = setOptimizers(*(str *) getArgReference(stk,pci,3));
if ( msg != NULL && strcmp(msg,"default_pipe") == 0 )
return MAL_SUCCEED;
msg = SQLvalidatePipeline();
@@ -2288,7 +2287,7 @@
return msg;
}
}
- src = &stk->stk[getArg(pci, 2)];
+ src = &stk->stk[getArg(pci, 3)];
if (stack_find_var(m, varname)) {
stack_set_var(m, varname, src);
} else {
@@ -2307,16 +2306,12 @@
str
getVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
- mvc *m = NULL;
int mtype = getArgType(mb, pci, 0);
- str varname = *(str *) getArgReference(stk, pci, 1);
- str msg = getContext(cntxt,mb, &m, NULL);
+ mvc *m = *(mvc**)getArgReference(stk, pci, 1);
+ str varname = *(str *) getArgReference(stk, pci, 2);
ValRecord *dst, *src;
(void) cntxt;
- if (msg)
- return msg;
-
if (mtype < 0 || mtype >= 255)
throw(SQL, "sql.getVariable", "failed");
src = stack_get_var(m, varname);
diff --git a/sql/backends/monet5/sql_gencode.c
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -565,6 +565,7 @@
if (VAR_GLOBAL(s->flag)) { /* globals */
int tt = tail_type(s)->type->localtype;
q = newStmt1(mb, sqlRef, "getVariable");
+ q = pushArgument(mb, q, sql->mvc_var);
q = pushStr(mb, q,
s->op1->op4.aval->data.val.sval);
setVarType(mb, getArg(q, 0), tt);
setVarFixed(mb,getArg(q,0));
@@ -1950,8 +1951,10 @@
} else {
int vn = _dumpstmt(sql, mb, s->op1);
q = newStmt1(mb, sqlRef, "setVariable");
+ q = pushArgument(mb, q, sql->mvc_var);
q = pushArgument(mb, q, vn);
- s->nr = 1;
+ getArg(q, 0) = sql->mvc_var=
newTmpVariable(mb,TYPE_ptr);
+ sql->mvc_var = s->nr = getDestVar(q);
}
(void) pushArgument(mb, q, r);
} break;
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
@@ -161,7 +161,7 @@
ms->optimizer = "MALoptimizer";
/* ms->tactics = .. */
ms->engine = "MALengine";
- fprintf(stdout, "# MonetDB/SQL module v" VERSION " loaded\n");
+ fprintf(stdout, "# MonetDB/SQL module loaded\n");
fflush(stdout); /* make merovingian see this *now* */
tmp = SQLinit();
if (tmp != MAL_SUCCEED)
diff --git a/sql/backends/monet5/vaults/fits.c
b/sql/backends/monet5/vaults/fits.c
--- a/sql/backends/monet5/vaults/fits.c
+++ b/sql/backends/monet5/vaults/fits.c
@@ -18,35 +18,29 @@
*/
/*
- * @' The contents of this file are subject to the MonetDB Public License
- * @' Version 1.1 (the "License"); you may not use this file except in
- * @' compliance with the License. You may obtain a copy of the License at
- * @' http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
- * @'
- * @' Software distributed under the License is distributed on an "AS IS"
- * @' basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * @' License for the specific language governing rights and limitations
- * @' under the License.
- * @'
- * @' The Original Code is the MonetDB Database System.
- * @'
- * @' The Initial Developer of the Original Code is CWI.
- * @' Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
- * @' Copyright August 2008-2011 MonetDB B.V.
- * @' All Rights Reserved.
- *
* @a M. Ivanova, M. Kersten, N. Nes
* @f fits
* @- This module contains primitives for accessing data in FITS file format.
- *
- * @-
*/
-/*
- * @-
- *
- */
+
+#include "monetdb_config.h"
+#include <glob.h>
+
+/* clash with GDK? */
+#undef htype
+#undef ttype
+#include <fitsio.h>
+#include <fitsio2.h>
+#include <longnam.h>
+
#include "fits.h"
#include "mutils.h"
+#include "sql_mvc.h"
+#include "sql_scenario.h"
+#include "sql.h"
+#include "clients.h"
+#include "mal_exception.h"
+
#define FITS_INS_COL "INSERT INTO fits_columns(id, name, type, units, number,
table_id) \
VALUES(%d,'%s','%s','%s',%d,%d);"
#define FILE_INS "INSERT INTO fits_files(id, name) VALUES (%d, '%s');"
@@ -458,7 +452,6 @@
char keywrd[80], **cname, nm[FLEN_VALUE];
ptr nilptr;
-
msg = getContext(cntxt, mb, &m, NULL);
if (msg)
return msg;
@@ -475,7 +468,6 @@
msg = createException(MAL, "fits.loadtable", "Table %d is
already created.\n", tname);
return msg;
}
- ;
col = mvc_bind_column(m, fits_tbl, "name");
rid = table_funcs.column_find_row(m->session->tr, col, tname, NULL);
diff --git a/sql/backends/monet5/vaults/fits.h
b/sql/backends/monet5/vaults/fits.h
--- a/sql/backends/monet5/vaults/fits.h
+++ b/sql/backends/monet5/vaults/fits.h
@@ -19,20 +19,8 @@
#ifndef _FITS_
#define _FITS_
-#undef htype
-#undef ttype
-#include "fitsio.h"
-#include "fitsio2.h"
-#include "longnam.h"
-#include "monetdb_config.h"
-#include <sql_mvc.h>
-#include <sql_scenario.h>
-#include <sql.h>
-#include "clients.h"
#include "mal.h"
#include "mal_client.h"
-#include "mal_exception.h"
-#include <glob.h>
#ifdef WIN32
#ifndef LIBFITS
diff --git a/sql/test/Dependencies/Tests/Dependencies.stable.err
b/sql/test/Dependencies/Tests/Dependencies.stable.err
--- a/sql/test/Dependencies/Tests/Dependencies.stable.err
+++ b/sql/test/Dependencies/Tests/Dependencies.stable.err
@@ -10,55 +10,55 @@
# 23:01:45 > Mtimeout -timeout 60 ./Dependencies.SQL Dependencies
# 23:01:45 >
-MAPI = monetdb@localhost:30913
+MAPI = monetdb@alf:38889
QUERY = DROP USER monetdb;
-ERROR = !DROP USER: MALException:removeUser:cannot remove yourself
-MAPI = monetdb@localhost:30913
+ERROR = !SQLException:sql.catalog:DROP USER: MALException:removeUser:cannot
remove yourself
+MAPI = monetdb@alf:38889
QUERY = DROP SCHEMA test;
ERROR = !SQLException:sql.catalog:DROP SCHEMA: unable to drop schema 'test'
(there are database objects which depend on it
-MAPI = monet_test@localhost:30913
+MAPI = monet_test@alf:38889
QUERY = CREATE SCHEMA "test_2" AUTHORIZATION "public";
ERROR = !CREATE SCHEMA: insufficient privileges for user 'monet_test'
-MAPI = monet_test@localhost:30913
+MAPI = monet_test@alf:38889
QUERY = DROP USER monetdb;
-ERROR = !DROP USER: InvalidCredentialsException:requireAdmin:access denied for
user 'monet_test'
-MAPI = monetdb@localhost:30913
+ERROR = !SQLException:sql.catalog:DROP USER:
InvalidCredentialsException:requireAdmin:access denied for user 'monet_test'
+MAPI = monetdb@alf:38889
QUERY = CREATE INDEX id_age_index ON v1(id,age);
-ERROR = !CREATE INDEX: cannot create index on view 'v1'
-MAPI = monetdb@localhost:30913
+ERROR = !SQLException:sql.catalog:CREATE INDEX: cannot create index on view
'v1'
+MAPI = monetdb@alf:38889
QUERY = ALTER TABLE t1 DROP COLUMN id;
ERROR = !ALTER TABLE: cannot drop column 'id': there are database objects
which depend on it
-MAPI = monetdb@localhost:30913
+MAPI = monetdb@alf:38889
QUERY = ALTER TABLE v1 DROP COLUMN age;
ERROR = !ALTER TABLE: cannot drop column from VIEW 'v1'
-MAPI = monetdb@localhost:30913
+MAPI = monetdb@alf:38889
QUERY = ALTER TABLE t2 ADD FOREIGN KEY(age_v1) REFERENCES v1(age);
ERROR = !CONSTRAINT FOREIGN KEY: could not find referenced PRIMARY KEY in
table 'v1'
-MAPI = monetdb@localhost:30913
+MAPI = monetdb@alf:38889
QUERY = DROP TABLE t1;
ERROR = !SQLException:sql.catalog:DROP TABLE: FOREIGN KEY t2.t2_id_t1_fkey
depends on t1
-MAPI = monetdb@localhost:30913
+MAPI = monetdb@alf:38889
QUERY = DROP VIEW v1;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list