Changeset: ca84b9a312e8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ca84b9a312e8
Modified Files:
Branch: default
Log Message:
Merge with Dec2011 branch.
diffs (281 lines):
diff --git a/clients/php/lib/php_mapi.inc b/clients/php/lib/php_mapi.inc
--- a/clients/php/lib/php_mapi.inc
+++ b/clients/php/lib/php_mapi.inc
@@ -64,7 +64,7 @@
/**
* Execute an SQL query and return the resulting handle by reference.
*/
- function &mapi_execute($conn=NULL, $query) {
+ function mapi_execute($conn=NULL, $query) {
global $connection_pool;
global $rows;
/**
@@ -163,12 +163,12 @@
if ($row[1] == Q_TABLE) {
$operation = Q_TABLE;
// save info about the query
- $fields = split(" ", $row);
+ $fields = explode(" ", $row);
$handle["query"] = array("id" =>
$fields[1], "rows" => $fields[2], "cols" => $fields[3], "index" => $fields[4]);
} else if ($row[1] == Q_UPDATE) {
$operation = Q_UPDATE;
- $fields = split(" ", $row);
+ $fields = explode(" ", $row);
$handle["query"] = array("affected" =>
$fields[1]);
} else if ($row[1] == Q_CREATE) {
$operation = Q_CREATE;
@@ -222,13 +222,13 @@
//$parsed_rows = "";
$rows = rtrim($rows, "\t]");
- return split("\t]", $rows);
+ return explode("\t]", $rows);
// print_r($parsed_rows);
/*
foreach ($rows as &$row) {
$row = ltrim($row, "[ ");
- $row = split(",\t", $row);
+ $row = explode(",\t", $row);
foreach ($row as &$field) {
$field = stripslashes($field);
@@ -244,7 +244,7 @@
function php_parse_row($row) {
$row = ltrim($row, "[ ");
- $row = split(",\t", $row);
+ $row = explode(",\t", $row);
foreach ($row as &$field) {
if ($field == "NULL") {
$field = NULL;
@@ -269,12 +269,12 @@
/* Field names */
$header[1] = ltrim($header[1], "% ");
- $header[1] = split("#", $header[1]);
+ $header[1] = explode("#", $header[1]);
$header_array["fields"] = explode(",\t", $header[1][0]);
/* Field types */
$header[2] = ltrim($header[2], "% ");
- $header[2] = split("#", $header[2]);
+ $header[2] = explode("#", $header[2]);
$header_array["types"] = explode(",\t", $header[2][0]);
return $header_array;
@@ -328,7 +328,7 @@
)
*/
- $credentials = split(":", $challenge);
+ $credentials = explode(":", $challenge);
$algos = explode(',', $credentials[3]);
@@ -352,7 +352,7 @@
if ($response != MSG_PROMPT) {
// not ready to authenticate yet
if ($response[0] == MSG_REDIRECT) {
- $redirects = split("\n", $response);
+ $redirects = explode("\n", $response);
/* Follow the first redirect */
if ( ($redirects[0] == "") ||
(substr($redirects[0], 0, 6) != "^mapi:") ) {
@@ -637,8 +637,8 @@
break;
}
if ($res != NULL) {
- if (!is_array($res['query'] ||
- !array_key_exists('id', $res['query'] ||
+ if (!is_array($res['query']) ||
+ !array_key_exists('id', $res['query'])
||
mapi_free_result($conn['id'],
$res['query']['id']))
{
return TRUE;
diff --git a/java/ChangeLog.Dec2011 b/java/ChangeLog.Dec2011
--- a/java/ChangeLog.Dec2011
+++ b/java/ChangeLog.Dec2011
@@ -1,9 +1,13 @@
# ChangeLog file for java
# This file is updated with Maddlog
+* Thu Dec 8 2011 Fabian Groffen <[email protected]>
+- Changed version scheme of JDBC driver and MCL jar to be more standard,
+ from monetdb-X.Y-<thing>.jar to monetdb-<thing>-X.Y.jar, bug #2943
+
* Fri Oct 14 2011 Fabian Groffen <[email protected]>
- The embedded monet instance capability of MonetConnection was removed.
-- Bump JDBC version to 2.0 (Liberica). JDBC now implements JDBC4 which
+- Bump JDBC version to 2.0 (Liberica). JDBC now implements JDBCv4 which
makes it possible to be built with Java 6 and up. Java 5 and before
are no longer supported, and can use the 1.x releases of the driver.
diff --git a/java/Makefile.ag b/java/Makefile.ag
--- a/java/Makefile.ag
+++ b/java/Makefile.ag
@@ -27,7 +27,7 @@ JAVA_HOME = @JAVA_HOME@
ant_distjdbc = {
COND = HAVE_JAVAJDBC
DIR = datadir/monetdb/lib
- FILES = monetdb-1.6-mcl.jar monetdb-2.0-jdbc.jar jdbcclient.jar
+ FILES = monetdb-mcl-1.6.jar monetdb-jdbc-2.0.jar jdbcclient.jar
}
ant_distmerocontrol = {
diff --git a/java/build.xml b/java/build.xml
--- a/java/build.xml
+++ b/java/build.xml
@@ -45,11 +45,11 @@ All Rights Reserved.
<property file="build.properties" />
<property name="jdbc-jar"
- value="${jardir}/monetdb-${JDBC_MAJOR}.${JDBC_MINOR}-jdbc.jar" />
+ value="${jardir}/monetdb-jdbc-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
<property name="jdbcclient-jar"
value="${jardir}/jdbcclient.jar" />
<property name="mcl-jar"
- value="${jardir}/monetdb-${MCL_MAJOR}.${MCL_MINOR}-mcl.jar" />
+ value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}.jar" />
<property name="mero-control-jar"
value="${jardir}/merocontrol.jar" />
diff --git a/java/pom.xml b/java/pom.xml
new file mode 100644
--- /dev/null
+++ b/java/pom.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>monetdb</groupId>
+ <artifactId>monetdb-jdbc</artifactId>
+ <version>2.0</version>
+ <name>monetdb-jdbc</name>
+ <description>MonetDB JDBC driver</description>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ <repository>
+ <id>clojars</id>
+ <url>http://clojars.org/repo/</url>
+ </repository>
+ </repositories>
+</project>
diff --git a/java/tests/build.xml b/java/tests/build.xml
--- a/java/tests/build.xml
+++ b/java/tests/build.xml
@@ -37,7 +37,7 @@ All Rights Reserved.
<property name="builddir" value="build" />
<property name="jardir" value="../jars" />
<property name="jdbc_jar"
- value="${jardir}/monetdb-${JDBC_MAJOR}.${JDBC_MINOR}-jdbc.jar" />
+ value="${jardir}/monetdb-jdbc-${JDBC_MAJOR}.${JDBC_MINOR}.jar" />
<property name="jdbc_url"
value="jdbc:monetdb://localhost/?user=monetdb&password=monetdb${debug}" />
<property name="jdbctests-jar"
diff --git a/java/version.sh b/java/version.sh
--- a/java/version.sh
+++ b/java/version.sh
@@ -46,11 +46,11 @@ esac
case $1 in
jdbc)
TYPE=JDBC
- FILES="monetdb-XXX-jdbc.jar monetdb-XXX-xmldb.jar"
+ FILES="monetdb-jdbc-XXX.jar"
;;
mcl)
TYPE=MCL
- FILES="monetdb-XXX-mcl.jar"
+ FILES="monetdb-mcl-XXX.jar"
;;
*)
echo "invalid type: $1"
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
@@ -372,7 +372,7 @@ sql_update_dec2011( Client c, mvc *m )
node *nsch, *ntab, *ncol;
sql_trans *tr;
char *buf = GDKmalloc(1024), *err = NULL;
- int bufsize = 1024, pos = 0;
+ size_t bufsize = 1024, pos = 0;
buf[0] = 0;
tr = m->session->tr;
@@ -380,28 +380,28 @@ sql_update_dec2011( Client c, mvc *m )
sql_schema *s = nsch->data;
if ( isalpha((int)s->base.name[0]) ) {
- if (!s->tables.set)
+ if (!s->tables.set)
continue;
for( ntab = (s)->tables.set->h ;ntab; ntab =
ntab->next){
sql_table *t = ntab->data;
- if (!isTable(t) || !t->columns.set)
+ if (!isTable(t) || !t->columns.set)
continue;
for ( ncol = (t)->columns.set->h; ncol; ncol=
ncol->next){
sql_column *c = (sql_column *)
ncol->data;
-
- if (c->type.type->eclass == EC_INTERVAL
&&
- strcmp(c->type.type->base.name,
"sec_interval") == 0) {
- if (bufsize < pos + 100)
+
+ if (c->type.type->eclass == EC_INTERVAL
&&
+ strcmp(c->type.type->sqlname,
"sec_interval") == 0) {
+ while (bufsize < pos + 100 +
strlen(s->base.name) + strlen(t->base.name) + 2*strlen(c->base.name))
buf = GDKrealloc(buf,
bufsize += 1024);
- pos += snprintf(buf+pos,
bufsize-pos, "update \"%s\".\"%s\" set \"%s\"=1000*\"%s\"\n",
+ pos += snprintf(buf+pos,
bufsize-pos, "update \"%s\".\"%s\" set \"%s\"=1000*\"%s\";\n",
s->base.name,
t->base.name, c->base.name, c->base.name);
}
}
}
}
}
- if (bufsize < pos + 256)
+ if (bufsize < pos + 256)
buf = GDKrealloc(buf, bufsize += 1024);
pos += snprintf(buf+pos, bufsize-pos, "create filter function
sys.\"like\"(val string, pat string, esc string) external name
pcre.like_filter;\n");
pos += snprintf(buf+pos, bufsize-pos, "create filter function
sys.\"ilike\"(val string, pat string, esc string) external name
pcre.ilike_filter;\n");
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -85,6 +85,14 @@ mvc_init(char *dbname, int debug, store_
mvc_create_column_(m, t, "readonly", "boolean", 1);
mvc_create_column_(m, t, "temporary", "smallint", 16);
+ if (catalog_version) {
+ int pub = ROLE_PUBLIC;
+ int p = PRIV_SELECT;
+ int zero = 0;
+ sql_table *privs = find_sql_table(s, "privileges");
+ table_funcs.table_insert(m->session->tr, privs,
&t->base.id, &pub, &p, &zero, &zero);
+ }
+
t = mvc_create_view(m, s, "columns", SQL_PERSIST, "SELECT *
FROM (SELECT p.* FROM \"sys\".\"_columns\" AS p UNION ALL SELECT t.* FROM
\"tmp\".\"_columns\" AS t) AS columns;", 1);
mvc_create_column_(m, t, "id", "int", 32);
mvc_create_column_(m, t, "name", "varchar", 1024);
@@ -97,6 +105,14 @@ mvc_init(char *dbname, int debug, store_
mvc_create_column_(m, t, "number", "int", 32);
mvc_create_column_(m, t, "storage_type", "int", 32);
+ if (catalog_version) {
+ int pub = ROLE_PUBLIC;
+ int p = PRIV_SELECT;
+ int zero = 0;
+ sql_table *privs = find_sql_table(s, "privileges");
+ table_funcs.table_insert(m->session->tr, privs,
&t->base.id, &pub, &p, &zero, &zero);
+ }
+
if (!catalog_version) {
sql_create_env(m, s);
sql_create_privileges(m, s);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list