Update of /cvsroot/monetdb/pathfinder/compiler/algebra/opt
In directory
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26181/compiler/algebra/opt
Modified Files:
Tag: xquery-decomposition
opt_algebra_cse.c opt_complex.c opt_general.brg opt_guide.c
opt_join_graph.c opt_join_pd.c opt_mvd.c opt_set.c
opt_thetajoin.c
Log Message:
propagated changes of Friday 15 Feb 2008 - Monday Feb 18 2008
from the development trunk to the xquery-decomposition branch
Index: opt_algebra_cse.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_algebra_cse.c,v
retrieving revision 1.11.2.2
retrieving revision 1.11.2.3
diff -u -d -r1.11.2.2 -r1.11.2.3
--- opt_algebra_cse.c 16 Feb 2008 01:02:09 -0000 1.11.2.2
+++ opt_algebra_cse.c 18 Feb 2008 16:21:14 -0000 1.11.2.3
@@ -42,9 +42,6 @@
#include "logical_mnemonic.h"
#include "ordering.h"
-/* compare types in staircase join operator nodes */
-#include "subtyping.h"
-
#include <assert.h>
#include <string.h> /* strcmp */
#include <stdio.h>
@@ -687,7 +684,8 @@
for (i = 0; i < a.count; i++) {
/* check the equivalence */
- mismatch = PFalg_atom_cmp (a.atoms[i], b.atoms[i])?true:false;
+ mismatch = !(PFalg_atom_comparable (a.atoms[i], b.atoms[i]) &&
+ (PFalg_atom_cmp (a.atoms[i], b.atoms[i]) == 0));
if (mismatch)
break;
@@ -824,7 +822,8 @@
b->sem.attach.value))
return false;
- if (PFalg_atom_cmp (a->sem.attach.value, b->sem.attach.value) != 0)
+ if (PFalg_atom_cmp (a->sem.attach.value,
+ b->sem.attach.value) != 0)
return false;
return true;
@@ -1045,8 +1044,10 @@
ACTATT (R(b), b->sem.step.iter)) &&
(ACTATT (R(a), a->sem.step.item) ==
ACTATT (R(b), b->sem.step.item)) &&
- PFty_eq (a->sem.step.ty, b->sem.step.ty) &&
- (a->sem.step.axis == b->sem.step.axis) &&
+ (a->sem.step.spec.axis == b->sem.step.spec.axis) &&
+ (a->sem.step.spec.kind == b->sem.step.spec.kind) &&
+ (!PFqname_eq (a->sem.step.spec.qname,
+ b->sem.step.spec.qname)) &&
(a->sem.step.level == b->sem.step.level))
return true;
@@ -1058,8 +1059,10 @@
ACTATT (R(b), b->sem.step.iter)) &&
(ACTATT (R(a), a->sem.step.item) ==
ACTATT (R(b), b->sem.step.item)) &&
- PFty_eq (a->sem.step.ty, b->sem.step.ty) &&
- (a->sem.step.axis == b->sem.step.axis) &&
+ (a->sem.step.spec.axis == b->sem.step.spec.axis) &&
+ (a->sem.step.spec.kind == b->sem.step.spec.kind) &&
+ (!PFqname_eq (a->sem.step.spec.qname,
+ b->sem.step.spec.qname)) &&
(a->sem.step.level == b->sem.step.level) &&
(a->sem.step.guide_count == b->sem.step.guide_count)))
return false;
@@ -1745,8 +1748,7 @@
case la_step:
return PFla_step (CSE(L(n)), CSE(R(n)),
- n->sem.step.axis,
- n->sem.step.ty,
+ n->sem.step.spec,
n->sem.step.level,
ACTATT (R(n), n->sem.step.iter),
ACTATT (R(n), n->sem.step.item),
@@ -1754,8 +1756,7 @@
case la_step_join:
return PFla_step_join (CSE(L(n)), CSE(R(n)),
- n->sem.step.axis,
- n->sem.step.ty,
+ n->sem.step.spec,
n->sem.step.level,
ACTATT (R(n), n->sem.step.item),
create_unq_name (CSE(R(n))->schema,
@@ -1763,8 +1764,7 @@
case la_guide_step:
return PFla_guide_step (CSE(L(n)), CSE(R(n)),
- n->sem.step.axis,
- n->sem.step.ty,
+ n->sem.step.spec,
n->sem.step.guide_count,
n->sem.step.guides,
n->sem.step.level,
@@ -1774,8 +1774,7 @@
case la_guide_step_join:
return PFla_guide_step_join (CSE(L(n)), CSE(R(n)),
- n->sem.step.axis,
- n->sem.step.ty,
+ n->sem.step.spec,
n->sem.step.guide_count,
n->sem.step.guides,
n->sem.step.level,
Index: opt_join_pd.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_join_pd.c,v
retrieving revision 1.37.2.2
retrieving revision 1.37.2.3
diff -u -d -r1.37.2.2 -r1.37.2.3
--- opt_join_pd.c 16 Feb 2008 01:02:10 -0000 1.37.2.2
+++ opt_join_pd.c 18 Feb 2008 16:21:19 -0000 1.37.2.3
@@ -1623,8 +1623,7 @@
L(lp),
eqjoin_unq (R(lp), rp, latt, ratt,
p->sem.eqjoin_unq.res),
- lp->sem.step.axis,
- lp->sem.step.ty,
+ lp->sem.step.spec,
lp->sem.step.level,
is_join_att(p, lp->sem.step.item)
? p->sem.eqjoin_unq.res
@@ -1640,8 +1639,7 @@
L(lp),
eqjoin_unq (R(lp), rp, latt, ratt,
p->sem.eqjoin_unq.res),
- lp->sem.step.axis,
- lp->sem.step.ty,
+ lp->sem.step.spec,
lp->sem.step.guide_count,
lp->sem.step.guides,
lp->sem.step.level,
Index: opt_guide.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_guide.c,v
retrieving revision 1.12.2.1
retrieving revision 1.12.2.2
diff -u -d -r1.12.2.1 -r1.12.2.2
--- opt_guide.c 16 Feb 2008 01:02:09 -0000 1.12.2.1
+++ opt_guide.c 18 Feb 2008 16:21:18 -0000 1.12.2.2
@@ -48,7 +48,7 @@
/* prop of n */
#define PROP(n) ((n)->prop)
/* axis of n, n must be a step */
-#define AXIS(n) ((n)->sem.step.axis)
+#define AXIS(n) ((n)->sem.step.spec.axis)
/* Merge 2 guide_steps if it is possible */
static void
@@ -255,15 +255,15 @@
/* create new step operator */
if (n->kind == la_step) {
ret = PFla_guide_step (
- L(n), R(n), n->sem.step.axis,
- n->sem.step.ty, count, guides,
+ L(n), R(n), n->sem.step.spec,
+ count, guides,
n->sem.step.level,
n->sem.step.iter, n->sem.step.item,
n->sem.step.item_res);
} else {
ret = PFla_guide_step_join (
- L(n), R(n), n->sem.step.axis,
- n->sem.step.ty, count, guides,
+ L(n), R(n), n->sem.step.spec,
+ count, guides,
n->sem.step.level,
n->sem.step.item,
n->sem.step.item_res);
@@ -280,9 +280,9 @@
case la_guide_step_join:
if ((PFprop_set (n->prop) ||
- ((n->sem.step.axis == alg_chld ||
- n->sem.step.axis == alg_attr ||
- n->sem.step.axis == alg_self) &&
+ ((n->sem.step.spec.axis == alg_chld ||
+ n->sem.step.spec.axis == alg_attr ||
+ n->sem.step.spec.axis == alg_self) &&
find_guide_max (n->sem.step.guide_count,
n->sem.step.guides) <= 1)) &&
!PFprop_icol (n->prop, n->sem.step.item))
Index: opt_set.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_set.c,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -d -r1.8.2.1 -r1.8.2.2
--- opt_set.c 16 Feb 2008 01:02:10 -0000 1.8.2.1
+++ opt_set.c 18 Feb 2008 16:21:20 -0000 1.8.2.2
@@ -82,8 +82,7 @@
PFla_step_join (
LL(p),
LR(p),
- L(p)->sem.step.axis,
- L(p)->sem.step.ty,
+ L(p)->sem.step.spec,
L(p)->sem.step.level,
L(p)->sem.step.item,
item_res),
@@ -105,8 +104,7 @@
PFla_step_join (
RL(p),
RR(p),
- R(p)->sem.step.axis,
- R(p)->sem.step.ty,
+ R(p)->sem.step.spec,
R(p)->sem.step.level,
R(p)->sem.step.item,
item_res),
@@ -137,8 +135,7 @@
p->sem.step.item)),
p->sem.step.iter,
PFalg_lit_nat (1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.iter,
p->sem.step.item,
@@ -170,8 +167,7 @@
PFalg_proj (p->sem.step.item_res,
p->sem.step.item),
PFalg_proj (iter, iter)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
iter,
p->sem.step.item_res,
@@ -193,8 +189,7 @@
p->sem.step.item)),
p->sem.step.iter,
PFalg_lit_nat (1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
Index: opt_general.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_general.brg,v
retrieving revision 1.45.2.2
retrieving revision 1.45.2.3
diff -u -d -r1.45.2.2 -r1.45.2.3
--- opt_general.brg 16 Feb 2008 01:02:09 -0000 1.45.2.2
+++ opt_general.brg 18 Feb 2008 16:21:16 -0000 1.45.2.3
@@ -42,7 +42,6 @@
#include "alg_dag.h"
#include "oops.h" /* PFoops() */
#include "mem.h" /* PFmalloc() */
-#include "subtyping.h"
/* Easily access subtree-parts */
#include "child_mnemonic.h"
@@ -1121,14 +1120,15 @@
case 63:
/* combine steps if they are of the form:
``/descandent-or-self::node()/child::element()'' */
- if (R(p)->sem.step.axis == alg_desc_s &&
- PFty_equality (R(p)->sem.step.ty, PFty_xs_anyNode ()) &&
- p->sem.step.axis == alg_chld) {
+ if (R(p)->sem.step.spec.axis == alg_desc_s &&
+ R(p)->sem.step.spec.kind == node_kind_node &&
+ p->sem.step.spec.axis == alg_chld) {
+ PFalg_step_spec_t spec = p->sem.step.spec;
+ spec.axis = alg_desc,
/* rewrite child into descendant
and discard descendant-or-self step */
*p = *PFla_step_simple (
- L(p), RR(p),
- alg_desc, p->sem.step.ty,
+ L(p), RR(p), spec,
p->sem.step.iter, R(p)->sem.step.item,
p->sem.step.item_res);
SEEN(p) = false;
Index: opt_complex.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_complex.c,v
retrieving revision 1.37.2.4
retrieving revision 1.37.2.5
diff -u -d -r1.37.2.4 -r1.37.2.5
--- opt_complex.c 16 Feb 2008 01:02:09 -0000 1.37.2.4
+++ opt_complex.c 18 Feb 2008 16:21:15 -0000 1.37.2.5
@@ -1192,12 +1192,12 @@
p->sem.step.level = PFprop_level (p->prop,
p->sem.step.item_res);
- if ((p->sem.step.axis == alg_desc ||
- p->sem.step.axis == alg_desc_s) &&
+ if ((p->sem.step.spec.axis == alg_desc ||
+ p->sem.step.spec.axis == alg_desc_s) &&
p->sem.step.level >= 1 &&
p->sem.step.level - 1 == PFprop_level (R(p)->prop,
p->sem.step.item))
- p->sem.step.axis = alg_chld;
+ p->sem.step.spec.axis = alg_chld;
if (R(p)->kind == la_project &&
RL(p)->kind == la_step) {
@@ -1220,8 +1220,7 @@
*p = *PFla_project (PFla_step (
L(p),
RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
RL(p)->sem.step.iter,
RL(p)->sem.step.item,
@@ -1231,7 +1230,7 @@
break;
}
else if (R(p)->kind == la_rowid &&
- p->sem.step.axis == alg_chld &&
+ p->sem.step.spec.axis == alg_chld &&
p->sem.step.iter == R(p)->sem.rowid.res &&
!PFprop_icol (p->prop, p->sem.step.iter) &&
PFprop_key (p->prop, p->sem.step.item)) {
@@ -1252,12 +1251,12 @@
p->sem.step.level = level;
}
- if ((p->sem.step.axis == alg_desc ||
- p->sem.step.axis == alg_desc_s) &&
+ if ((p->sem.step.spec.axis == alg_desc ||
+ p->sem.step.spec.axis == alg_desc_s) &&
p->sem.step.level >= 1 &&
p->sem.step.level - 1 == PFprop_level (R(p)->prop,
p->sem.step.item))
- p->sem.step.axis = alg_chld;
+ p->sem.step.spec.axis = alg_chld;
break;
case la_step_join:
@@ -1265,12 +1264,12 @@
p->sem.step.level = PFprop_level (p->prop,
p->sem.step.item_res);
- if ((p->sem.step.axis == alg_desc ||
- p->sem.step.axis == alg_desc_s) &&
+ if ((p->sem.step.spec.axis == alg_desc ||
+ p->sem.step.spec.axis == alg_desc_s) &&
p->sem.step.level >= 1 &&
p->sem.step.level - 1 == PFprop_level (R(p)->prop,
p->sem.step.item))
- p->sem.step.axis = alg_chld;
+ p->sem.step.spec.axis = alg_chld;
break;
case la_fcns:
Index: opt_thetajoin.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_thetajoin.c,v
retrieving revision 1.14.2.3
retrieving revision 1.14.2.4
diff -u -d -r1.14.2.3 -r1.14.2.4
--- opt_thetajoin.c 16 Feb 2008 01:02:10 -0000 1.14.2.3
+++ opt_thetajoin.c 18 Feb 2008 16:21:21 -0000 1.14.2.4
@@ -1677,16 +1677,14 @@
*p = *(thetajoin_opt (step_join (
L(p),
RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
@@ -1697,8 +1695,7 @@
resolve_name_conflict (R(p), p->sem.step.item_res);
*p = *(thetajoin_opt (step_join (
L(p), RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
@@ -1712,8 +1709,7 @@
step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
@@ -1733,8 +1729,7 @@
*p = *(thetajoin_opt (guide_step_join (
L(p),
RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1743,8 +1738,7 @@
guide_step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1757,8 +1751,7 @@
resolve_name_conflict (R(p), p->sem.step.item_res);
*p = *(thetajoin_opt (guide_step_join (
L(p), RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1774,8 +1767,7 @@
guide_step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
Index: opt_mvd.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_mvd.c,v
retrieving revision 1.32.2.2
retrieving revision 1.32.2.3
diff -u -d -r1.32.2.2 -r1.32.2.3
--- opt_mvd.c 16 Feb 2008 01:02:10 -0000 1.32.2.2
+++ opt_mvd.c 18 Feb 2008 16:21:20 -0000 1.32.2.3
@@ -1204,8 +1204,7 @@
attach (RL(p),
p->sem.step.iter,
lit_nat(1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.iter,
p->sem.step.item,
@@ -1219,8 +1218,7 @@
attach (RR(p),
p->sem.step.iter,
lit_nat(1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.iter,
p->sem.step.item,
@@ -1241,16 +1239,14 @@
*p = *(cross_can (step_join (
L(p),
RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res)));
@@ -1259,8 +1255,7 @@
else if (switch_left) {
*p = *(cross_can (step_join (
L(p), RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res),
@@ -1272,8 +1267,7 @@
step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
p->sem.step.item_res)));
@@ -1292,8 +1286,7 @@
attach (RL(p),
p->sem.step.iter,
lit_nat(1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1310,8 +1303,7 @@
attach (RR(p),
p->sem.step.iter,
lit_nat(1)),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1334,8 +1326,7 @@
*p = *(cross_can (guide_step_join (
L(p),
RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1344,8 +1335,7 @@
guide_step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1356,8 +1346,7 @@
else if (switch_left) {
*p = *(cross_can (guide_step_join (
L(p), RL(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -1371,8 +1360,7 @@
guide_step_join (
L(p),
RR(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
Index: opt_join_graph.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_join_graph.c,v
retrieving revision 1.9.2.2
retrieving revision 1.9.2.3
diff -u -d -r1.9.2.2 -r1.9.2.3
--- opt_join_graph.c 16 Feb 2008 01:02:10 -0000 1.9.2.2
+++ opt_join_graph.c 18 Feb 2008 16:21:18 -0000 1.9.2.3
@@ -178,13 +178,13 @@
of unnecessary eqjoin and rowid operators */
case la_step:
if ((PFprop_key_right (p->prop, p->sem.step.item) &&
- (p->sem.step.axis == alg_attr ||
- p->sem.step.axis == alg_chld ||
- p->sem.step.axis == alg_self)) ||
+ (p->sem.step.spec.axis == alg_attr ||
+ p->sem.step.spec.axis == alg_chld ||
+ p->sem.step.spec.axis == alg_self)) ||
(PFprop_key_right (p->prop, p->sem.step.item) &&
PFprop_level_right (p->prop, p->sem.step.item) >= 0 &&
- (p->sem.step.axis == alg_desc ||
- p->sem.step.axis == alg_desc_s))) {
+ (p->sem.step.spec.axis == alg_desc ||
+ p->sem.step.spec.axis == alg_desc_s))) {
PFalg_att_t item_res;
item_res = PFalg_ori_name (
@@ -196,8 +196,7 @@
PFla_step_join (
L(p),
R(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
item_res),
@@ -215,14 +214,14 @@
case la_guide_step:
if (((PFprop_key_right (p->prop, p->sem.step.item) ||
PFprop_ckey (R(p)->prop, p->schema)) &&
- (p->sem.step.axis == alg_attr ||
- p->sem.step.axis == alg_chld ||
- p->sem.step.axis == alg_self)) ||
+ (p->sem.step.spec.axis == alg_attr ||
+ p->sem.step.spec.axis == alg_chld ||
+ p->sem.step.spec.axis == alg_self)) ||
((PFprop_key_right (p->prop, p->sem.step.item) ||
PFprop_ckey (R(p)->prop, p->schema)) &&
PFprop_level_right (p->prop, p->sem.step.item) >= 0 &&
- (p->sem.step.axis == alg_desc ||
- p->sem.step.axis == alg_desc_s))) {
+ (p->sem.step.spec.axis == alg_desc ||
+ p->sem.step.spec.axis == alg_desc_s))) {
PFalg_att_t item_res;
item_res = PFalg_ori_name (
@@ -234,8 +233,7 @@
PFla_guide_step_join (
L(p),
R(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
@@ -350,8 +348,7 @@
PFla_step_join (
L(p),
R(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.level,
p->sem.step.item,
item_res),
@@ -379,8 +376,7 @@
PFla_guide_step_join (
L(p),
R(p),
- p->sem.step.axis,
- p->sem.step.ty,
+ p->sem.step.spec,
p->sem.step.guide_count,
p->sem.step.guides,
p->sem.step.level,
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins