MonetDB: Jan2014 - add not true/not false parsing (solving bug 3...

2014-07-09 Thread Niels Nes
Changeset: be17bc388a09 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be17bc388a09
Modified Files:
sql/server/sql_parser.y
Branch: Jan2014
Log Message:

add not true/not false parsing (solving bug 3505)


diffs (22 lines):

diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -4272,10 +4272,18 @@ literal:
{ sql_subtype t;
  sql_find_subtype(t, boolean, 0, 0 );
  $$ = _newAtomNode( atom_bool(SA, t, FALSE)); }
+ |  NOT BOOL_FALSE
+   { sql_subtype t;
+ sql_find_subtype(t, boolean, 0, 0 );
+ $$ = _newAtomNode( atom_bool(SA, t, TRUE)); }
  |  BOOL_TRUE
{ sql_subtype t;
  sql_find_subtype(t, boolean, 0, 0 );
  $$ = _newAtomNode( atom_bool(SA, t, TRUE)); }
+ |  NOT BOOL_TRUE
+   { sql_subtype t;
+ sql_find_subtype(t, boolean, 0, 0 );
+ $$ = _newAtomNode( atom_bool(SA, t, FALSE)); }
  ;
 
 interval_expression:
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - don't assert but return error on atom_cast (f...

2014-07-09 Thread Niels Nes
Changeset: 17cd8c14c3b4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=17cd8c14c3b4
Modified Files:
sql/server/sql_atom.c
Branch: Jan2014
Log Message:

don't assert but return error on atom_cast (fix bug 3506)


diffs (83 lines):

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
@@ -657,21 +657,24 @@ atom_cast(atom *a, sql_subtype *tp)
else
a-data.val.lval *= mul;
} else if (a-data.vtype == TYPE_int) {
-   assert(div || ((lng) GDK_int_min = (lng) 
a-data.val.ival * mul  (lng) a-data.val.ival * mul = (lng) GDK_int_max));
+   if (!div  ((lng) GDK_int_min  (lng) 
a-data.val.ival * mul || (lng) a-data.val.ival * mul  (lng) GDK_int_max))
+   return 0;
a-data.val.ival += (int)rnd;
if (div)
a-data.val.ival /= (int) mul;
else
a-data.val.ival *= (int) mul;
} else if (a-data.vtype == TYPE_sht) {
-   assert(div || ((lng) GDK_sht_min = (lng) 
a-data.val.shval * mul  (lng) a-data.val.shval * mul = (lng) GDK_sht_max));
+   if (!div  ((lng) GDK_sht_min  (lng) 
a-data.val.shval * mul || (lng) a-data.val.shval * mul  (lng) GDK_sht_max))
+   return 0;
a-data.val.shval += (sht)rnd;
if (div)
a-data.val.shval /= (sht) mul;
else
a-data.val.shval *= (sht) mul;
} else if (a-data.vtype == TYPE_bte) {
-   assert(div || ((lng) GDK_bte_min = (lng) 
a-data.val.btval * mul  (lng) a-data.val.btval * mul = (lng) GDK_bte_max));
+   if (!div  ((lng) GDK_bte_min  (lng) 
a-data.val.btval * mul || (lng) a-data.val.btval * mul  (lng) GDK_bte_max))
+   return 0;
a-data.val.btval += (bte)rnd;
if (div)
a-data.val.btval /= (bte) mul;
@@ -711,13 +714,16 @@ atom_cast(atom *a, sql_subtype *tp)
if (a-data.vtype == TYPE_lng) {
a-data.val.lval = (int) val;
} else if (a-data.vtype == TYPE_int) {
-   assert( ((lng) GDK_int_min = val  val = 
(lng) GDK_int_max));
+   if ( ((lng) GDK_int_min  val || val  (lng) 
GDK_int_max))
+   return 0;
a-data.val.ival = (int) val;
} else if (a-data.vtype == TYPE_sht) {
-   assert( ((lng) GDK_sht_min = val  val = 
(lng) GDK_sht_max));
+   if ( ((lng) GDK_sht_min  val || val  (lng) 
GDK_sht_max))
+   return 0;
a-data.val.shval = (int) val;
} else if (a-data.vtype == TYPE_bte) {
-   assert( ((lng) GDK_bte_min = val  val = 
(lng) GDK_bte_max));
+   if ( ((lng) GDK_bte_min  val || val  (lng) 
GDK_bte_max))
+   return 0;
a-data.val.btval = (int) val;
}
return 1;
@@ -779,15 +785,18 @@ atom_cast(atom *a, sql_subtype *tp)
if (a-data.vtype == TYPE_lng)
a-data.val.lval *= mul;
else if (a-data.vtype == TYPE_int) {
-   assert((lng) GDK_int_min = (lng) 
a-data.val.ival * mul  (lng) a-data.val.ival * mul = (lng) GDK_int_max);
+   if ((lng) GDK_int_min  (lng) a-data.val.ival 
* mul || (lng) a-data.val.ival * mul  (lng) GDK_int_max)
+   return 0;
a-data.val.ival *= (int) mul;
}
else if (a-data.vtype == TYPE_sht) {
-   assert((lng) GDK_sht_min = (lng) 
a-data.val.shval * mul  (lng) a-data.val.shval * mul = (lng) GDK_sht_max);
+   if ((lng) GDK_sht_min  (lng) a-data.val.shval 
* mul || (lng) a-data.val.shval * mul  (lng) GDK_sht_max)
+   return 0;
a-data.val.shval *= (sht) mul;
}
else if (a-data.vtype == TYPE_bte) {
-

MonetDB: Jan2014 - Use ID field in /etc/os-release instead of NA...

2014-07-09 Thread Sjoerd Mullender
Changeset: f7dcfc1e4035 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f7dcfc1e4035
Modified Files:
configure.ag
Branch: Jan2014
Log Message:

Use ID field in /etc/os-release instead of NAME field.
The NAME field may contain spaces, which causes make rpm to fail.


diffs (12 lines):

diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -486,7 +486,7 @@ case $host_os in
if test -s /etc/os-release; then
# this is the new way of getting release information
# works for Fedora = 17, Ubuntu = 12.04 (Precise Pangolin)
-   LINUX_DIST=`source /etc/os-release; echo ${NAME}:${VERSION_ID}`
+   LINUX_DIST=`source /etc/os-release; echo ${ID}:${VERSION_ID}`
elif test -s /etc/fedora-release ; then
LINUX_DIST=`cat /etc/fedora-release | head -n1 \
| sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( 
.*\)*$|\1:\2|'` 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - Updated for RHEL 7, fixed dependency for syst...

2014-07-09 Thread Sjoerd Mullender
Changeset: 88364dd0303b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=88364dd0303b
Modified Files:
MonetDB.spec
Branch: Jan2014
Log Message:

Updated for RHEL 7, fixed dependency for systemd-tmpfiles.
RHEL 7 has systemd-tmpfiles, unlike older RHEL versions, so we use
that there.


diffs (40 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -589,9 +589,9 @@ used from the MAL level.
 Summary: MonetDB5 SQL server modules
 Group: Applications/Databases
 Requires: MonetDB5-server = %{version}-%{release}
-%if %{?rhel:0}%{!?rhel:1}
-# for systemd-tmpfiles
-Requires: systemd-units
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
+Requires: %{_bindir}/systemd-tmpfiles
 %endif
 Obsoletes: MonetDB-SQL-devel
 Obsoletes: %{name}-SQL
@@ -605,7 +605,7 @@ accelerators.  It also has an SQL fronte
 This package contains the SQL frontend for MonetDB.  If you want to
 use SQL with MonetDB, you will need to install this package.
 
-%if %{?rhel:0}%{!?rhel:1}
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
 %post SQL-server5
 systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
@@ -615,11 +615,11 @@ systemd-tmpfiles --create %{_sysconfdir}
 %{_bindir}/monetdb
 %{_bindir}/monetdbd
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb
-%if %{?rhel:0}%{!?rhel:1}
-# Fedora 15 and newer
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
 %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %else
-# RedHat Enterprise Linux
+# RedHat Enterprise Linux  7
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb
 %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Merge with Jan2014 branch.

2014-07-09 Thread Sjoerd Mullender
Changeset: 6a7075430925 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6a7075430925
Modified Files:
MonetDB.spec
configure.ag
sql/server/sql_atom.c
sql/server/sql_parser.y
Branch: default
Log Message:

Merge with Jan2014 branch.


diffs (157 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -562,9 +562,9 @@ used from the MAL level.
 Summary: MonetDB5 SQL server modules
 Group: Applications/Databases
 Requires: MonetDB5-server = %{version}-%{release}
-%if %{?rhel:0}%{!?rhel:1}
-# for systemd-tmpfiles
-Requires: systemd-units
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
+Requires: %{_bindir}/systemd-tmpfiles
 %endif
 Obsoletes: MonetDB-SQL-devel
 Obsoletes: %{name}-SQL
@@ -578,7 +578,7 @@ accelerators.  It also has an SQL fronte
 This package contains the SQL frontend for MonetDB.  If you want to
 use SQL with MonetDB, you will need to install this package.
 
-%if %{?rhel:0}%{!?rhel:1}
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
 %post SQL-server5
 systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
@@ -588,11 +588,11 @@ systemd-tmpfiles --create %{_sysconfdir}
 %{_bindir}/monetdb
 %{_bindir}/monetdbd
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb
-%if %{?rhel:0}%{!?rhel:1}
-# Fedora 15 and newer
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
 %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %else
-# RedHat Enterprise Linux
+# RedHat Enterprise Linux  7
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb
 %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -477,7 +477,7 @@ case $host_os in
if test -s /etc/os-release; then
# this is the new way of getting release information
# works for Fedora = 17, Ubuntu = 12.04 (Precise Pangolin)
-   LINUX_DIST=`source /etc/os-release; echo ${NAME}:${VERSION_ID}`
+   LINUX_DIST=`source /etc/os-release; echo ${ID}:${VERSION_ID}`
elif test -s /etc/fedora-release ; then
LINUX_DIST=`cat /etc/fedora-release | head -n1 \
| sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( 
.*\)*$|\1:\2|'` 
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
@@ -657,21 +657,24 @@ atom_cast(atom *a, sql_subtype *tp)
else
a-data.val.lval *= mul;
} else if (a-data.vtype == TYPE_int) {
-   assert(div || ((lng) GDK_int_min = (lng) 
a-data.val.ival * mul  (lng) a-data.val.ival * mul = (lng) GDK_int_max));
+   if (!div  ((lng) GDK_int_min  (lng) 
a-data.val.ival * mul || (lng) a-data.val.ival * mul  (lng) GDK_int_max))
+   return 0;
a-data.val.ival += (int)rnd;
if (div)
a-data.val.ival /= (int) mul;
else
a-data.val.ival *= (int) mul;
} else if (a-data.vtype == TYPE_sht) {
-   assert(div || ((lng) GDK_sht_min = (lng) 
a-data.val.shval * mul  (lng) a-data.val.shval * mul = (lng) GDK_sht_max));
+   if (!div  ((lng) GDK_sht_min  (lng) 
a-data.val.shval * mul || (lng) a-data.val.shval * mul  (lng) GDK_sht_max))
+   return 0;
a-data.val.shval += (sht)rnd;
if (div)
a-data.val.shval /= (sht) mul;
else
a-data.val.shval *= (sht) mul;
} else if (a-data.vtype == TYPE_bte) {
-   assert(div || ((lng) GDK_bte_min = (lng) 
a-data.val.btval * mul  (lng) a-data.val.btval * mul = (lng) GDK_bte_max));
+   if (!div  ((lng) GDK_bte_min  (lng) 
a-data.val.btval * mul || (lng) a-data.val.btval * mul  (lng) GDK_bte_max))
+   return 0;
a-data.val.btval += (bte)rnd;
if (div)
a-data.val.btval /= (bte) mul;
@@ -711,13 +714,16 @@ atom_cast(atom *a, sql_subtype *tp)
if (a-data.vtype == TYPE_lng) {
a-data.val.lval = (int) val;
} else if (a-data.vtype == TYPE_int) {
-   assert( ((lng) GDK_int_min = val  val = 
(lng) GDK_int_max));
+   if ( ((lng) GDK_int_min  val || val  (lng) 

MonetDB: Jan2014 - added limit without records in copy into. Bew...

2014-07-09 Thread Niels Nes
Changeset: 08f2048691fb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=08f2048691fb
Modified Files:
sql/server/sql_parser.y
Branch: Jan2014
Log Message:

added limit without records in copy into. Beware this can only work
with file based input (not with streaming!) Fixes bug 3504


diffs (16 lines):

diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -2528,7 +2528,11 @@ opt_using:
 opt_nr:
 /* empty */{ $$ = NULL; }
  |  poslng RECORDS { $$ = append_lng(append_lng(L(), $1), 0); }
- |  poslng OFFSET poslng RECORDS   { $$ = append_lng(append_lng(L(), $1), 
$3); }
+ |  OFFSET poslng  { $$ = append_lng(append_lng(L(), -1), $2); }
+ |  poslng OFFSET poslng RECORDS   
+   { $$ = append_lng(append_lng(L(), $1), $3); }
+ |  poslng RECORDS OFFSET poslng   
+   { $$ = append_lng(append_lng(L(), $1), $4); }
  ;
 
 opt_null_string:
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - fixed bug 3498, make sure we have a table (no...

2014-07-09 Thread Niels Nes
Changeset: d3a1eddca24b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d3a1eddca24b
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: Jan2014
Log Message:

fixed bug 3498, make sure we have a table (not a single row)
before we do the topn.

fixed bug 3489, distinct with order by, use the proper extend directly for the 
possible order by columns (which are not part of the output)


diffs (74 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -1768,7 +1768,7 @@ rel2bin_semijoin( mvc *sql, sql_rel *rel
 }
 
 static stmt *
-rel2bin_distinct(mvc *sql, stmt *s)
+rel2bin_distinct(mvc *sql, stmt *s, stmt **distinct)
 {
node *n;
stmt *g = NULL, *grp = NULL, *ext = NULL, *cnt = NULL;
@@ -1808,6 +1808,8 @@ rel2bin_distinct(mvc *sql, stmt *s)
list_append(rl, stmt_project(sql-sa, ext, t));
}
 
+   if (distinct)
+   *distinct = ext;
s = stmt_list(sql-sa, rl);
return s;
 }
@@ -1869,7 +1871,7 @@ rel2bin_union( mvc *sql, sql_rel *rel, l
}
 
if (need_distinct(rel)) 
-   sub = rel2bin_distinct(sql, sub);
+   sub = rel2bin_distinct(sql, sub, NULL);
return sub;
 }
 
@@ -2008,7 +2010,7 @@ rel2bin_except( mvc *sql, sql_rel *rel, 
}
 
if (need_distinct(rel))
-   sub = rel2bin_distinct(sql, sub);
+   sub = rel2bin_distinct(sql, sub, NULL);
return sub;
 }
 
@@ -2134,7 +2136,7 @@ rel2bin_inter( mvc *sql, sql_rel *rel, l
}
 
if (need_distinct(rel))
-   sub = rel2bin_distinct(sql, sub);
+   sub = rel2bin_distinct(sql, sub, NULL);
return sub;
 }
 
@@ -2232,7 +2234,10 @@ rel2bin_project( mvc *sql, sql_rel *rel,
assert(0);
return NULL;
}
-   if (sub  sub-nrcols = 1  s-nrcols == 0)
+   /* single value with limit */
+   if (topn  rel-r  sub  sub-nrcols == 0)
+   s = const_column(sql-sa, s);
+   else if (sub  sub-nrcols = 1  s-nrcols == 0)
s = stmt_const(sql-sa, bin_first_column(sql-sa, sub), 
s);

s = stmt_rename(sql, rel, exp, s);
@@ -2288,11 +2293,11 @@ rel2bin_project( mvc *sql, sql_rel *rel,
sub = stmt_list(sql-sa, npl);
}
if (need_distinct(rel)) {
-   psub = rel2bin_distinct(sql, psub);
+   stmt *distinct = NULL;
+   psub = rel2bin_distinct(sql, psub, distinct);
/* also rebuild sub as multiple orderby expressions may use the 
sub table (ie aren't part of the result columns) */
if (sub) {
list *npl = sa_list(sql-sa);
-   stmt *distinct = stmt_mirror(sql-sa, 
psub-op4.lval-h-data);

pl = sub-op4.lval;
for ( n=pl-h ; n; n = n-next) 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - fixed bug 3491, ie not need for a crossproduc...

2014-07-09 Thread Niels Nes
Changeset: d207b2b7ece5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d207b2b7ece5
Modified Files:
sql/server/rel_select.c
Branch: Jan2014
Log Message:

fixed bug 3491, ie not need for a crossproduct if both left and right are only 
expressions, not relations.


diffs (12 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -3019,7 +3019,7 @@ rel_logical_exp(mvc *sql, sql_rel *rel, 
e = exp_compare(sql-sa,  e, r, cmp_equal);
rel = rel_select(sql-sa, rel, e);
}
-   if (l_is_value)
+   if (l_is_value  outer)
rel = rel_crossproduct(sql-sa, outer, rel, 
op_join);
rel = rel_project(sql-sa, rel, rel_projections(sql, 
outer, NULL, 1, 1));
set_processed(rel);
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - on windows convert \r\n substrings in seperat...

2014-07-09 Thread Niels Nes
Changeset: 1f4ed128ee53 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f4ed128ee53
Modified Files:
sql/backends/monet5/sql.c
Branch: Jan2014
Log Message:

on windows convert \r\n substrings in seperators into \n.


diffs (37 lines):

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
@@ -2654,6 +2654,21 @@ bat2return(MalStkPtr stk, InstrPtr pci, 
}
 }
 
+#ifdef WIN32
+static void
+fix_windows_newline(unsigned char *s)
+{
+   char *p = NULL;
+   int c = '\r';
+
+   if (s  (p=strchr((char*)s, c)) != NULL  p[1] == '\n') {
+   for(; p[1]; p++) 
+   p[0] = p[1];
+   p[0] = 0;
+   }
+}
+#endif
+
 /* str mvc_import_table_wrap(int *res, str *sname, str *tname, unsigned char* 
*T, unsigned char* *R, unsigned char* *S, unsigned char* *N, str *fname, lng 
*sz, lng *offset); */
 str
 mvc_import_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
@@ -2710,6 +2725,11 @@ mvc_import_table_wrap(Client cntxt, MalB
 #else
s = bstream_create(ss, 0x200);
 #endif
+#ifdef WIN32
+   fix_windows_newline(tsep);
+   fix_windows_newline(rsep);
+   fix_windows_newline(ssep);
+#endif
if (s != NULL) {
b = mvc_import_table(cntxt, be-mvc, s, *sname, *tname, (char 
*) tsep, (char *) rsep, (char *) ssep, (char *) ns, *sz, *offset, *locked);
bstream_destroy(s);
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jan2014 - merging

2014-07-09 Thread Niels Nes
Changeset: 63f90cc76c10 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=63f90cc76c10
Modified Files:
MonetDB.spec
configure.ag
Branch: Jan2014
Log Message:

merging


diffs (52 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -589,9 +589,9 @@ used from the MAL level.
 Summary: MonetDB5 SQL server modules
 Group: Applications/Databases
 Requires: MonetDB5-server = %{version}-%{release}
-%if %{?rhel:0}%{!?rhel:1}
-# for systemd-tmpfiles
-Requires: systemd-units
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
+Requires: %{_bindir}/systemd-tmpfiles
 %endif
 Obsoletes: MonetDB-SQL-devel
 Obsoletes: %{name}-SQL
@@ -605,7 +605,7 @@ accelerators.  It also has an SQL fronte
 This package contains the SQL frontend for MonetDB.  If you want to
 use SQL with MonetDB, you will need to install this package.
 
-%if %{?rhel:0}%{!?rhel:1}
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
 %post SQL-server5
 systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
@@ -615,11 +615,11 @@ systemd-tmpfiles --create %{_sysconfdir}
 %{_bindir}/monetdb
 %{_bindir}/monetdbd
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb
-%if %{?rhel:0}%{!?rhel:1}
-# Fedora 15 and newer
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} = 7
+# RHEL = 7, and all current Fedora
 %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %else
-# RedHat Enterprise Linux
+# RedHat Enterprise Linux  7
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb
 %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -486,7 +486,7 @@ case $host_os in
if test -s /etc/os-release; then
# this is the new way of getting release information
# works for Fedora = 17, Ubuntu = 12.04 (Precise Pangolin)
-   LINUX_DIST=`source /etc/os-release; echo ${NAME}:${VERSION_ID}`
+   LINUX_DIST=`source /etc/os-release; echo ${ID}:${VERSION_ID}`
elif test -s /etc/fedora-release ; then
LINUX_DIST=`cat /etc/fedora-release | head -n1 \
| sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( 
.*\)*$|\1:\2|'` 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: geo - ST_Length2D added

2014-07-09 Thread Foteini Alvanaki
Changeset: 3f383ee48c92 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f383ee48c92
Modified Files:
geom/monetdb5/geom.c
geom/sql/40_geom.sql
Branch: geo
Log Message:

ST_Length2D added


diffs (24 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -1178,8 +1178,6 @@ str wkbGeometryType(char** out, wkb** ge
 }
 
 /* returns the number of dimensions of the geometry */
-/* geos does not know the number of dimensions as long as a wkb has been 
created 
- * more precisely it descards all dimensions but x and y*/
 str wkbCoordDim(int *out, wkb **geom) {
return wkbBasicInt(out, *geom, GEOSGeom_getCoordinateDimension, 
geom.CoordDim);
 }
diff --git a/geom/sql/40_geom.sql b/geom/sql/40_geom.sql
--- a/geom/sql/40_geom.sql
+++ b/geom/sql/40_geom.sql
@@ -331,7 +331,7 @@ CREATE FUNCTION ST_Intersects(geom1 Geom
 --CREATE FUNCTION ST_Intersects(geog1 Geography, geog2 Geography) RETURNS 
boolean EXTERNAL NAME geom.Intersects;
 CREATE FUNCTION ST_Length(geom Geometry) RETURNS double EXTERNAL NAME 
geom.Length;
 --CREATE FUNCTION ST_Length(geog Geography, use_spheroid boolean) RETURNS 
double EXTERNAL NAME geom.Length;
---CREATE FUNCTION ST_Length2D RETURNS EXTERNAL NAME
+CREATE FUNCTION ST_Length2D(geom Geometry) RETURNS double EXTERNAL NAME 
geom.Length;
 --CREATE FUNCTION ST_3DLength RETURNS EXTERNAL NAME
 --CREATE FUNCTION ST_Length_Spheroid RETURNS EXTERNAL NAME
 --CREATE FUNCTION ST_Length2D_Spheroid RETURNS EXTERNAL NAME
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: geo - implemented functions for testing the relative po...

2014-07-09 Thread Foteini Alvanaki
Changeset: 945d4284f09b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=945d4284f09b
Modified Files:
geom/monetdb5/geom.c
Branch: geo
Log Message:

implemented functions for testing the relative positions of mbrs
+ function for returing the distance of the centroids of two mbrs


diffs (158 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -170,7 +170,19 @@ geom_export str wkbTransform(wkb**, wkb*
 geom_export str geom_2_geom(wkb** resWKB, wkb **valueWKB, int* columnType, 
int* columnSRID); 
 
 geom_export str wkbMBR(mbr **res, wkb **geom);
+geom_export str mbrAbove(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrBelow(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrContained(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrContains(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrDistance(double *out, mbr **b1, mbr **b2);
+geom_export str mbrEqual(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrLeft(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrOverlapOrAbove(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrOverlapOrBelow(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrOverlapOrLeft(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrOverlapOrRight(bit *out, mbr **b1, mbr **b2);
 geom_export str mbrOverlaps(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrRight(bit *out, mbr **b1, mbr **b2);
 geom_export str wkbCoordinateFromWKB(dbl*, wkb**, int*);
 geom_export str wkbCoordinateFromMBR(dbl*, mbr**, int*);
 
@@ -2117,15 +2129,132 @@ str wkbMBR(mbr **geomMBR, wkb **geomWKB)
return MAL_SUCCEED; 
 }
 
-/*checks whether two mbrs overlap */
+/* returns true if b1 is above b2 */
+str mbrAbove(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out = ((*b1)-ymin (*b2)-ymax); 
+   return MAL_SUCCEED;
+}
+
+/* returns true if b1 is below b2 */
+str mbrBelow(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out = ( (*b1)-ymax  (*b2)-ymin);
+   return MAL_SUCCEED;
+}
+
+/* returns true if box1 is left of box2 */
+str mbrLeft(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out = ( (*b1)-xmax  (*b2)-xmin );
+   return MAL_SUCCEED;
+}
+
+/* returns true if box1 is right of box2 */
+str mbrRight(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else 
+   *out = ( (*b1)-xmin  (*b2)-xmax );
+   return MAL_SUCCEED;
+}
+
+/* returns true if b1 is contained in b2 */
+str mbrContained(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out = ( ((*b1)-xmin  (*b2)-xmin)  ((*b1)-xmax  
(*b2)-xmax)  ((*b1)-ymin  (*b2)-ymin)  ((*b1)-ymax  (*b2)-ymax));
+   return MAL_SUCCEED;
+}
+
+/*returns true if b1 contains b2 */
+str mbrContains(bit *out, mbr **b1, mbr **b2) {
+   return mbrContained(out, b2, b1);
+}
+
+/* returns the Euclidean distance of the centroids of the boxes */
+str mbrDistance(double *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2)) {
+   *out = 0;
+   return MAL_SUCCEED;
+   }
+
+   //compute the centroids of the two polygons
+   double b1_Cx = ((*b1)-xmin+(*b1)-xmax)/2.0;
+   double b1_Cy = ((*b1)-ymin+(*b1)-ymax)/2.0;
+   double b2_Cx = ((*b2)-xmin+(*b2)-xmax)/2.0;
+   double b2_Cy = ((*b2)-ymin+(*b2)-ymax)/2.0;
+
+   //compute the euclidean distance
+   *out = sqrt( pow(b1_Cx*b2_Cx, 2.0) + pow(b1_Cy*b2_Cy, 2.0));
+
+   return MAL_SUCCEED;
+}
+
+/* returns true if the boxes are the same */
+str mbrEqual(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1)  mbr_isnil(*b2))
+   *out = 1;
+   else if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out = ( ((*b1)-xmin == (*b2)-xmin)  ((*b1)-xmax == 
(*b2)-xmax)  ((*b1)-ymin == (*b2)-ymin)  ((*b1)-ymax == (*b2)-ymax));
+   return MAL_SUCCEED;
+}
+
+/*returns true if the two mbrs overlap */
 str mbrOverlaps(bit *out, mbr **b1, mbr **b2) {
if (mbr_isnil(*b1) || mbr_isnil(*b2))
*out = 0;
-   else
+   else //they cannot overlap if b2 is left, right, above or below b1
*out = !((*b2)-ymax  (*b1)-ymin || (*b2)-ymin  (*b1)-ymax 
|| (*b2)-xmax  (*b1)-xmin || (*b2)-xmin  (*b1)-xmax);
return MAL_SUCCEED;
 }
 
+/* returns true if box1 overlaps or is above box2 when only the Y coordinate 
is considered*/
+str mbrOverlapOrAbove(bit *out, mbr **b1, mbr **b2) {
+   if (mbr_isnil(*b1) || mbr_isnil(*b2))
+   *out = 0;
+   else
+   *out =  ((*b1)-ymin = (*b2)-ymin);
+   return 

MonetDB: geo - mbr functions added in 40_geom.sql and geom.mal

2014-07-09 Thread Foteini Alvanaki
Changeset: 597c7a9fe762 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=597c7a9fe762
Modified Files:
geom/monetdb5/geom.mal
geom/sql/40_geom.sql
Branch: geo
Log Message:

mbr functions added in 40_geom.sql and geom.mal


diffs (62 lines):

diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -262,8 +262,32 @@ comment Transforms a geometry from one 
 
 command mbr(:wkb) :mbr address wkbMBR
 comment Creates the mbr for the given wkb.;
-command mbrOverlaps(a:mbr, b:mbr) :bit address mbrOverlaps
-comment Returns true if the two mbrs overlap;
+command mbrOverlaps(box1:mbr, box2:mbr) :bit address mbrOverlaps
+comment Returns true if box1 overlaps box2;
+command mbrOverlapOrLeft(box1:mbr, box2:mbr) :bit address mbrOverlapOrLeft
+comment Returns true if box1 overlaps or is to the left of box2;
+command mbrOverlapOrBelow(box1:mbr, box2:mbr) :bit address mbrOverlapOrBelow
+comment Returns true if box1 overlaps or is below box2;
+command mbrOverlapOrRight(box1:mbr, box2:mbr) :bit address mbrOverlapOrRight
+comment Returns true if box1 overlalps or is right of box2;
+command mbrLeft(box1:mbr, box2:mbr) :bit address mbrLeft
+comment Returns true if box1 is left of box2;
+command mbrBelow(box1:mbr, box2:mbr) :bit address mbrBelow
+comment Returns true if box1 is below box2;
+command mbrEqual(box1:mbr, box2:mbr) :bit address mbrEqual
+comment Returns true if box1 is the same as box2;
+command mbrRight(box1:mbr, box2:mbr) :bit address mbrRight
+comment Returns true if box1 is right of box2;
+command mbrContained(box1:mbr, box2:mbr) :bit address mbrContained
+comment Returns true if box1 is contained by box2;
+command mbrOverlapOrAbove(box1:mbr, box2:mbr) :bit address mbrOverlapOrAbove
+comment Returns true if box1 overlaps or is above box2;
+command mbrAbove(box1:mbr, box2:mbr) :bit address mbrAbove
+comment Returns true if box1 is above box2;
+command mbrContains(box1:mbr, box2:mbr) :bit address mbrContains
+comment Returns true if box1 contains box2;
+command mbrDistance(box1:mbr, box2:mbr) :dbl address mbrDistance
+comment Returns the distance of the centroids of the two boxes;
 command coordinateFromWKB(:wkb, :int) :dbl address wkbCoordinateFromWKB
 comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided 
geometry;
 command coordinateFromMBR(:mbr, :int) :dbl address wkbCoordinateFromMBR
diff --git a/geom/sql/40_geom.sql b/geom/sql/40_geom.sql
--- a/geom/sql/40_geom.sql
+++ b/geom/sql/40_geom.sql
@@ -64,7 +64,19 @@ CREATE TYPE mbr EXTERNAL NAME mbr;
 -- as that returns Geometry objects, and we prefer the explicit mbr's
 -- minimum bounding rectangle (mbr)
 CREATE FUNCTION mbr(geom Geometry) RETURNS mbr external name geom.mbr;
-CREATE FUNCTION mbrOverlaps(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrOverlaps;
+CREATE FUNCTION mbrOverlap(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrOverlap;
+CREATE FUNCTION mbrOverlapOrLeft(box1 mbr, box2 mbr) RETURNS boolean external 
name geom.mbrOverlapOrLeft;
+CREATE FUNCTION mbrOverlapOrBelow(box1 mbr, box2 mbr) RETURNS boolean external 
name geom.mbrOverlapOrBelow;
+CREATE FUNCTION mbrOverlapOrRight(box1 mbr, box2 mbr) RETURNS boolean external 
name geom.mbrOverlapOrRight;
+CREATE FUNCTION mbrLeft(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrLeft;
+CREATE FUNCTION mbrBelow(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrBelow;
+CREATE FUNCTION mbrEqual(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrEqual;
+CREATE FUNCTION mbrRight(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrRight;
+CREATE FUNCTION mbrContained(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrContained;
+CREATE FUNCTION mbrOverlapOrAbove(box1 mbr, box2 mbr) RETURNS boolean external 
name geom.mbrOverlapOrAbove;
+CREATE FUNCTION mbrAbove(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrAbove;
+CREATE FUNCTION mbrContains(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrContains;
+CREATE FUNCTION mbrDistance(box1 mbr, box2 mbr) RETURNS double external name 
geom.mbrDistance;
 
 
 -
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: geo - minor changes on the names format

2014-07-09 Thread Foteini Alvanaki
Changeset: 1ffb2f22f668 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1ffb2f22f668
Modified Files:
geom/monetdb5/geom.c
geom/monetdb5/geom.mal
geom/sql/40_geom.sql
Branch: geo
Log Message:

minor changes on the names format


diffs (48 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -170,7 +170,7 @@ geom_export str wkbTransform(wkb**, wkb*
 geom_export str geom_2_geom(wkb** resWKB, wkb **valueWKB, int* columnType, 
int* columnSRID); 
 
 geom_export str wkbMBR(mbr **res, wkb **geom);
-geom_export str mbroverlaps(bit *out, mbr **b1, mbr **b2);
+geom_export str mbrOverlaps(bit *out, mbr **b1, mbr **b2);
 geom_export str wkbCoordinateFromWKB(dbl*, wkb**, int*);
 geom_export str wkbCoordinateFromMBR(dbl*, mbr**, int*);
 
@@ -2118,7 +2118,7 @@ str wkbMBR(mbr **geomMBR, wkb **geomWKB)
 }
 
 /*checks whether two mbrs overlap */
-str mbroverlaps(bit *out, mbr **b1, mbr **b2) {
+str mbrOverlaps(bit *out, mbr **b1, mbr **b2) {
if (mbr_isnil(*b1) || mbr_isnil(*b2))
*out = 0;
else
diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -262,7 +262,7 @@ comment Transforms a geometry from one 
 
 command mbr(:wkb) :mbr address wkbMBR
 comment Creates the mbr for the given wkb.;
-command mbroverlaps(a:mbr, b:mbr) :bit address mbroverlaps
+command mbrOverlaps(a:mbr, b:mbr) :bit address mbrOverlaps
 comment Returns true if the two mbrs overlap;
 command coordinateFromWKB(:wkb, :int) :dbl address wkbCoordinateFromWKB
 comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided 
geometry;
diff --git a/geom/sql/40_geom.sql b/geom/sql/40_geom.sql
--- a/geom/sql/40_geom.sql
+++ b/geom/sql/40_geom.sql
@@ -63,9 +63,8 @@ CREATE TYPE mbr EXTERNAL NAME mbr;
 -- Envelope():Geometry
 -- as that returns Geometry objects, and we prefer the explicit mbr's
 -- minimum bounding rectangle (mbr)
-CREATE FUNCTION mbr (g Geometry) RETURNS mbr external name geom.mbr;
-CREATE FUNCTION mbroverlaps(a mbr, b mbr) RETURNS BOOLEAN external name 
geom.mbroverlaps;
-
+CREATE FUNCTION mbr(geom Geometry) RETURNS mbr external name geom.mbr;
+CREATE FUNCTION mbrOverlaps(box1 mbr, box2 mbr) RETURNS boolean external name 
geom.mbrOverlaps;
 
 
 -
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: geo - tests for null arguments added in MakePoint funct...

2014-07-09 Thread Foteini Alvanaki
Changeset: 02c6eb845839 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=02c6eb845839
Modified Files:
geom/monetdb5/geom.c
geom/monetdb5/geom.mal
Branch: geo
Log Message:

tests for null arguments added in MakePoint functions
geosGeometry is now destroyed before returning


diffs (246 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -1068,15 +1068,23 @@ static str geomMakePoint(wkb **geomWKB, 
*geomWKB = wkb_nil;
throw(MAL, geomMakePoint, Failed to crete WKB from 
GEOSGeometry);
}
+
return MAL_SUCCEED;
 }
 
 /* creates a point using the x, y coordinates */
 str geomMakePoint2D(wkb** out, double* x, double* y) {
GEOSGeom geosGeometry = NULL;
+   str ret = MAL_SUCCEED;
+   GEOSCoordSequence *seq = NULL;
+
+   if (*x == dbl_nil || *y == dbl_nil) {
+   *out = wkb_nil;
+   return MAL_SUCCEED;
+   }
 
//create the point from the coordinates
-   GEOSCoordSequence *seq = GEOSCoordSeq_create(1, 2);
+   seq = GEOSCoordSeq_create(1, 2);
GEOSCoordSeq_setX(seq, 0, *x);
GEOSCoordSeq_setY(seq, 0, *y);
geosGeometry = GEOSGeom_createPoint(seq);
@@ -1087,15 +1095,25 @@ str geomMakePoint2D(wkb** out, double* x
throw(MAL, geomMakePoint, Failed to create GEOSGeometry from 
the coordiates);
}
 
-   return geomMakePoint(out, geosGeometry);
+   ret = geomMakePoint(out, geosGeometry);
+   GEOSGeom_destroy(geosGeometry);
+
+   return ret;
 }
 
 /* creates a point using the x, y, z coordinates */
 str geomMakePoint3D(wkb** out, double* x, double* y, double* z) {
GEOSGeom geosGeometry = NULL;
+   str ret = MAL_SUCCEED;
+   GEOSCoordSequence *seq = NULL;
+
+   if (*x == dbl_nil || *y == dbl_nil || *z == dbl_nil) {
+   *out = wkb_nil;
+   return MAL_SUCCEED;
+   }
 
//create the point from the coordinates
-   GEOSCoordSequence *seq = GEOSCoordSeq_create(1, 3);
+   seq = GEOSCoordSeq_create(1, 3);
GEOSCoordSeq_setX(seq, 0, *x);
GEOSCoordSeq_setY(seq, 0, *y);
GEOSCoordSeq_setZ(seq, 0, *z);
@@ -1106,15 +1124,25 @@ str geomMakePoint3D(wkb** out, double* x
throw(MAL, geomMakePoint, Failed to create GEOSGeometry from 
the coordiates);
}
 
-   return geomMakePoint(out, geosGeometry);
+   ret = geomMakePoint(out, geosGeometry);
+   GEOSGeom_destroy(geosGeometry);
+
+   return ret;
 }
 
 /* creates a point using the x, y, z, m coordinates */
 str geomMakePoint4D(wkb** out, double* x, double* y, double* z, double* m) {
GEOSGeom geosGeometry = NULL;
+   str ret = MAL_SUCCEED;
+   GEOSCoordSequence *seq = NULL;
+
+   if (*x == dbl_nil || *y == dbl_nil || *z == dbl_nil || *m == dbl_nil) {
+   *out = wkb_nil;
+   return MAL_SUCCEED;
+   }
 
//create the point from the coordinates
-   GEOSCoordSequence *seq = GEOSCoordSeq_create(1, 4);
+   seq = GEOSCoordSeq_create(1, 4);
GEOSCoordSeq_setX(seq, 0, *x);
GEOSCoordSeq_setY(seq, 0, *y);
GEOSCoordSeq_setZ(seq, 0, *z);
@@ -1126,15 +1154,25 @@ str geomMakePoint4D(wkb** out, double* x
throw(MAL, geomMakePoint, Failed to create GEOSGeometry from 
the coordiates);
}
 
-   return geomMakePoint(out, geosGeometry);
+   ret = geomMakePoint(out, geosGeometry);
+   GEOSGeom_destroy(geosGeometry);
+
+   return ret;
 }
 
 /* creates a point using the x, y, m coordinates */
 str geomMakePointM(wkb** out, double* x, double* y, double* m) {
GEOSGeom geosGeometry = NULL;
+   str ret = MAL_SUCCEED;
+   GEOSCoordSequence *seq = NULL;
+
+   if (*x == dbl_nil || *y == dbl_nil || *m == dbl_nil) {
+   *out = wkb_nil;
+   return MAL_SUCCEED;
+   }
 
//create the point from the coordinates
-   GEOSCoordSequence *seq = GEOSCoordSeq_create(1, 3);
+   seq = GEOSCoordSeq_create(1, 3);
GEOSCoordSeq_setOrdinate(seq, 0, 0, *x);
GEOSCoordSeq_setOrdinate(seq, 0, 1, *y);
GEOSCoordSeq_setOrdinate(seq, 0, 2, *m);
@@ -1145,7 +1183,10 @@ str geomMakePointM(wkb** out, double* x,
throw(MAL, geomMakePoint, Failed to create GEOSGeometry from 
the coordiates);
}
 
-   return geomMakePoint(out, geosGeometry);
+   ret = geomMakePoint(out, geosGeometry);
+   GEOSGeom_destroy(geosGeometry);
+
+   return ret;
 }
 
 /* common code for functions that return integer */
@@ -2181,16 +,18 @@ str mbrContains(bit *out, mbr **b1, mbr 
 
 /* returns the Euclidean distance of the centroids of the boxes */
 str mbrDistance(double *out, mbr **b1, mbr **b2) {
+   double b1_Cx = 0.0, b1_Cy = 0.0, b2_Cx =0.0, b2_Cy=0.0;
+
if (mbr_isnil(*b1) || mbr_isnil(*b2)) {
*out = 0;

MonetDB: geo - merge with default

2014-07-09 Thread Foteini Alvanaki
Changeset: 0df19f89526e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0df19f89526e
Added Files:
geom/BugTracker/Tests/copy_into_mbr.3492.modules
geom/BugTracker/Tests/copy_into_mbr.3492.sql
geom/BugTracker/Tests/copy_into_mbr.3492.stable.err
geom/BugTracker/Tests/copy_into_mbr.3492.stable.out
Modified Files:
MonetDB.spec
NT/installer32/MonetDB-ODBC-Installer.vdproj
NT/installer32/MonetDB5-Geom-Module.vdproj
NT/installer32/MonetDB5-SQL-Installer.vdproj
NT/installer64/MonetDB-ODBC-Installer.vdproj
NT/installer64/MonetDB5-Geom-Module.vdproj
NT/installer64/MonetDB5-SQL-Installer.vdproj
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures_gsl.stable.out
clients/Tests/MAL-signatures_nocfitsio.stable.out
clients/Tests/MAL-signatures_sphinxclient.stable.out
clients/Tests/SQL-dump.stable.out
clients/Tests/SQL-dump.stable.out.32bit
clients/Tests/SQL-dump.stable.out.64bit.oid32
clients/Tests/SQL-dump_gsl.stable.out
clients/Tests/SQL-dump_gsl.stable.out.oid32
clients/Tests/SQL-dump_nogeom.stable.out
clients/mapiclient/dump.c
clients/mapiclient/mclient.c
clients/odbc/driver/ODBCConvert.c
clients/odbc/driver/ODBCUtil.h
clients/python2/monetdb/sql/monetize.py
clients/python2/test/test_monetize.py
clients/python3/monetdb/sql/monetize.py
clients/python3/test/test_monetize.py
configure.ag
gdk/gdk_logger.c
gdk/gdk_posix.c
gdk/gdk_private.h
gdk/gdk_storage.c
geom/BugTracker/Tests/All
geom/monetdb5/geom.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_module.c
monetdb5/mal/mal_parser.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/kernel/array.c
sql/backends/monet5/sql_scenario.c
sql/server/sql_atom.c
sql/server/sql_parser.y
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions_gsl.stable.out
sql/test/Tests/systemfunctions_nogeom.stable.out
sql/test/pg_regress/Tests/All
sql/test/pg_regress/Tests/aggregates.stable.err
sql/test/pg_regress/Tests/aggregates.stable.out
sql/test/pg_regress/Tests/alter_table.sql
sql/test/pg_regress/Tests/alter_table.stable.err
sql/test/pg_regress/Tests/alter_table.stable.out
sql/test/pg_regress/Tests/arrays.sql
sql/test/pg_regress/Tests/arrays.stable.err
sql/test/pg_regress/Tests/arrays.stable.out
sql/test/pg_regress/Tests/bit.stable.err
sql/test/pg_regress/Tests/bit.stable.out
sql/test/pg_regress/Tests/boolean.sql
sql/test/pg_regress/Tests/boolean.stable.err
sql/test/pg_regress/Tests/boolean.stable.out
sql/test/pg_regress/Tests/box.stable.err
sql/test/pg_regress/Tests/box.stable.out
sql/test/pg_regress/Tests/btree_index.stable.err
sql/test/pg_regress/Tests/btree_index.stable.out
sql/test/pg_regress/Tests/case.stable.err
sql/test/pg_regress/Tests/case.stable.out
sql/test/pg_regress/Tests/char.sql
sql/test/pg_regress/Tests/char.stable.err
sql/test/pg_regress/Tests/char.stable.out
sql/test/pg_regress/Tests/circle.stable.err
sql/test/pg_regress/Tests/circle.stable.out
sql/test/pg_regress/Tests/cluster.sql
sql/test/pg_regress/Tests/cluster.stable.err
sql/test/pg_regress/Tests/cluster.stable.out
sql/test/pg_regress/Tests/comments.stable.err
sql/test/pg_regress/Tests/comments.stable.out
sql/test/pg_regress/Tests/conversion.stable.err
sql/test/pg_regress/Tests/conversion.stable.out
sql/test/pg_regress/Tests/copy2.stable.err
sql/test/pg_regress/Tests/copy2.stable.out
sql/test/pg_regress/Tests/create_aggregate.stable.err
sql/test/pg_regress/Tests/create_aggregate.stable.out
sql/test/pg_regress/Tests/create_index.stable.err
sql/test/pg_regress/Tests/create_index.stable.out
sql/test/pg_regress/Tests/create_misc.stable.err
sql/test/pg_regress/Tests/create_misc.stable.out
sql/test/pg_regress/Tests/create_operator.stable.err
sql/test/pg_regress/Tests/create_operator.stable.out
sql/test/pg_regress/Tests/create_table.sql
sql/test/pg_regress/Tests/create_table.stable.err
sql/test/pg_regress/Tests/create_table.stable.out
sql/test/pg_regress/Tests/create_type.stable.err
sql/test/pg_regress/Tests/create_type.stable.out
sql/test/pg_regress/Tests/create_view.stable.err
sql/test/pg_regress/Tests/create_view.stable.out
sql/test/pg_regress/Tests/date.stable.err
sql/test/pg_regress/Tests/date.stable.out
sql/test/pg_regress/Tests/domain.stable.err
   

MonetDB: geo - removed second variable definition

2014-07-09 Thread Foteini Alvanaki
Changeset: 200a0658aeac for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=200a0658aeac
Modified Files:
geom/monetdb5/geom.c
Branch: geo
Log Message:

removed second variable definition


diffs (12 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -832,7 +832,7 @@ int mbrFROMSTR(char *src, int *len, mbr 
l = strlen(src);
assert(l = GDK_int_max);
nchars = (int) l;
-   size_t l = strlen(src);
+   l = strlen(src);
assert(l = GDK_int_max);
nchars = (int) l;
}
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list