Changeset: be02a1f9bcb7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be02a1f9bcb7
Modified Files:
sql/backends/monet5/sql_optimizer.c
Branch: default
Log Message:
make sure we don't loss statements in SQLStatistics
diffs (43 lines):
diff --git a/sql/backends/monet5/sql_optimizer.c
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -338,19 +338,19 @@ SQLgetStatistics(Client cntxt, mvc *m, M
size_t cnt;
sql_idx *i = mvc_bind_idx(m, s, cname);
- if (!i || isRemote(i->t)) /* alter statements */
- break;
- cnt = store_funcs.count_idx(i);
- assert(cnt <= (size_t) GDK_oid_max);
- b = store_funcs.bind_idx(m->session->tr,i,0);
- if ( b ) {
- str loc;
- if (b->batPersistence == PERSISTENT &&
ATTlocation(&loc,&b->batCacheid) == MAL_SUCCEED && loc)
- varSetProp(mb, k, fileProp,
op_eq, VALset(&vr, TYPE_str, loc));
- cnt = BATcount(b);
- BBPreleaseref(b->batCacheid);
+ if (!i || isRemote(i->t)) { /* alter statements
*/
+ cnt = store_funcs.count_idx(i);
+ assert(cnt <= (size_t) GDK_oid_max);
+ b =
store_funcs.bind_idx(m->session->tr,i,0);
+ if ( b ) {
+ str loc;
+ if (b->batPersistence ==
PERSISTENT && ATTlocation(&loc,&b->batCacheid) == MAL_SUCCEED && loc)
+ varSetProp(mb, k,
fileProp, op_eq, VALset(&vr, TYPE_str, loc));
+ cnt = BATcount(b);
+ BBPreleaseref(b->batCacheid);
+ }
+ rows = (wrd) cnt;
}
- rows = (wrd) cnt;
} else if (s && f == bindRef && cname) {
size_t cnt;
sql_table *t = mvc_bind_table(m, s, tname);
@@ -387,6 +387,7 @@ SQLgetStatistics(Client cntxt, mvc *m, M
varSetProp(mb, k, rowsProp, op_eq, VALset(&vr,
TYPE_wrd, &rows));
if (not_null)
varSetProp(mb, k, notnilProp, op_eq, NULL);
+
{
int lowprop = hlbProp, highprop = hubProp;
/* rows == cnt has been checked above to be <=
GDK_oid_max */
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list