Update of /cvsroot/monetdb/pathfinder/runtime
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv30598
Modified Files:
Tag: Nov2009
pathfinder.mx
Log Message:
Maintain a sort of database schema version number which can be checked
to fix the database schema after an upgrade. We now use the absence
of this version number to trigger a removal of the old-style (pre
Nov2009) index.
Index: pathfinder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
retrieving revision 1.462.4.10
retrieving revision 1.462.4.11
diff -u -d -r1.462.4.10 -r1.462.4.11
--- pathfinder.mx 15 Nov 2009 16:52:17 -0000 1.462.4.10
+++ pathfinder.mx 18 Nov 2009 14:56:52 -0000 1.462.4.11
@@ -4279,6 +4279,25 @@
pf_checkpoint(bat(str,void).key(true).reverse().append("uri_lifetime"),
true);
}
+# check whether this is an older version of the database that needs some
conversion
+{
+ var xqprops;
+ if (not(isnil(CATCH(count(xqprops := bat("xquery_props")))))) {
+ xqprops :=
bat(str,str).rename("xquery_props").insert("version","Nov2009").persists(true);
+ var b := view_bbp_name().reverse().mirror();
+ var d := bat(void,str);
+ d.append(reverse([endsWith](b, "vx_hsh_nid").uselect(true)));
+ d.append(reverse([endsWith](b, "qn_nid").uselect(true)));
+ if (bit(count(d))) {
+ printf("# Databases created with a version older than Nov2009
detected:\n");
+ printf("# destroying old value-indices..\n");
+ printf("# (for optimal performance, re-shred all your
documents)\n");
+ [persists]([bat](d), false);
+ }
+ subcommit(d.append("xquery_props"));
+ }
+}
+
# initialize uri_lifetime
{ var b :=
split(monet_environment.find("xquery_cacherules"),";").seqbase(0...@0);
var i := [r_search](b,"=").select(2,int_nil);
@@ -4292,11 +4311,12 @@
collection_cleanup(_collection_cleanup()); # silently clean up the repository
mapi_register(xquery_frontend()); # open up mapi client access
-if (monet_environment.find("monet_welcome") = "yes")
+if (monet_environment.find("monet_welcome") = "yes") {
printf("%c MonetDB/XQuery module v0.28.3 loaded (default back-end is
'%s')\n", int(35), monet_environment.find("xquery_backend"));
# ^^^^^^
# Maintained via vertoo. Please don't modify by hand!
# Contact [email protected] for details and/or
assistance.
+}
rpcd_start(); # open up xrpc access
fork(pf_logmanager()); # start checkpointing thread
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins