Changeset: 2a62051659e8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2a62051659e8
Modified Files:
monetdb5/modules/atoms/url.c
sql/backends/monet5/sql.c
sql/server/sql_atom.c
sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
Branch: default
Log Message:
Merge with Jan2014 branch.
diffs (159 lines):
diff --git a/monetdb5/modules/atoms/url.c b/monetdb5/modules/atoms/url.c
--- a/monetdb5/modules/atoms/url.c
+++ b/monetdb5/modules/atoms/url.c
@@ -229,11 +229,9 @@ URLgetDomain(str *retval, str *u)
t++;
b = buf;
d = 0;
- for (; *t && *t != '/'; t++) {
+ for (; *t && *t != '/' && *t != ':' && *t != '?' && *t != '#'; t++) {
if (*t == '.')
d = b;
- if (*t == ':')
- break;
*b++ = *t;
if (i++ == 1023)
throw(PARSE, "url.getDomain", "server name too long\n");
@@ -319,7 +317,7 @@ url_getHost(str *retval, url t)
t++;
b = buf;
s = buf;
- for (; *t && *t != '/'; t++) {
+ for (; *t && *t != '/' && *t != ':' && *t != '?' && *t != '#'; t++) {
*b++ = *t;
if (i++ == 1023)
throw(PARSE, "url.getHost", "server name too long");
@@ -487,7 +485,7 @@ url_getRobotURL(str *retval, /* put stri
if (*t != '/')
goto getRobot_done;
*b++ = *t++;
- for (; *t && *t != '/'; t++) {
+ for (; *t && *t && *t != '/' && *t != '?' && *t != '#'; t++) {
*b++ = *t;
if (i++ == 1000)
throw(PARSE, "url.getRobotURL", "server name too long");
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -1634,7 +1634,7 @@ mvc_bind_wrap(Client cntxt, MalBlkPtr mb
}
return MAL_SUCCEED;
}
- if (*sname)
+ if (*sname && strcmp(*sname, str_nil) != 0)
throw(SQL, "sql.bind", "unable to find %s.%s(%s)", *sname,
*tname, *cname);
throw(SQL, "sql.bind", "unable to find %s(%s)", *tname, *cname);
}
diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c
--- a/sql/server/sql_atom.c
+++ b/sql/server/sql_atom.c
@@ -552,8 +552,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_int:
+#if SIZEOF_OID == SIZEOF_INT
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_INT
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
@@ -564,8 +566,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_lng:
+#if SIZEOF_OID == SIZEOF_LNG
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_LNG
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
@@ -602,8 +606,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_int:
+#if SIZEOF_OID == SIZEOF_INT
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_INT
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
@@ -614,8 +620,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_lng:
+#if SIZEOF_OID == SIZEOF_LNG
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_LNG
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
@@ -731,8 +739,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_int:
+#if SIZEOF_OID == SIZEOF_INT
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_INT
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
@@ -743,8 +753,10 @@ atom_cast(atom *a, sql_subtype *tp)
return 0;
break;
case TYPE_lng:
+#if SIZEOF_OID == SIZEOF_LNG
+ case TYPE_oid:
+#endif
#if SIZEOF_WRD == SIZEOF_LNG
- case TYPE_oid:
case TYPE_wrd:
#endif
if (at->type->localtype == TYPE_bte)
diff --git a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
--- a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
+++ b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
@@ -79,9 +79,9 @@ Ready.
% sys.L # table_name
% getdomain_u # name
% clob # type
-% 7 # length
+% 3 # length
[ "nl" ]
-[ "com?x=2" ]
+[ "com" ]
[ "org" ]
#select getExtension(u) from t2972;
% sys.L # table_name
@@ -103,10 +103,10 @@ Ready.
% sys.L # table_name
% gethost_u # name
% clob # type
-% 20 # length
+% 15 # length
[ "www.cwi.nl" ]
-[ "www.monetdb.com?x=2" ]
-[ "www.monetdb.org:8080" ]
+[ "www.monetdb.com" ]
+[ "www.monetdb.org" ]
#select getPort(u) from t2972;
% sys.L # table_name
% getport_u # name
@@ -137,7 +137,7 @@ Ready.
% clob # type
% 38 # length
[ "http://www.cwi.nl/robots.txt" ]
-[ "http://www.monetdb.com?x=2/robots.txt" ]
+[ "http://www.monetdb.com/robots.txt" ]
[ "http://www.monetdb.org:8080/robots.txt" ]
#select isaURL(u) from t2972;
% sys.L # table_name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list