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&amp;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

Reply via email to