Changeset: 030e25be7a90 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=030e25be7a90
Modified Files:
sql/storage/bat/bat_logger.c
Branch: default
Log Message:
added upgrade code, ie upgrade schema from 52001 -> 52002 (ie add
schemas.system column)
diffs (52 lines):
diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -31,8 +31,13 @@ bl_preversion( int oldversion, int newve
#define CATALOG_APR2011 51100
#define CATALOG_AUG2011 51101
#define CATALOG_DEC2011 52000
+#define CATALOG_FEB2013 52001
(void)newversion;
+ if (oldversion == CATALOG_FEB2013) {
+ catalog_version = oldversion;
+ return 0;
+ }
if (oldversion == CATALOG_OCT2010) {
catalog_version = oldversion;
return 0;
@@ -74,6 +79,34 @@ static void
bl_postversion( void *lg)
{
(void)lg;
+ if (catalog_version == CATALOG_FEB2013) {
+ /* we need to add the new schemas.system column */
+ BAT *b, *b1;
+ BATiter bi;
+ char *s = "sys", n[64];
+ BUN p,q;
+
+ b = temp_descriptor(logger_find_bat(lg, N(n, NULL, s,
"schemas_name")));
+ if (!b)
+ return;
+ bi = bat_iterator(b);
+ b1 = BATnew(TYPE_void, TYPE_bit, BATcount(b));
+ BATseqbase(b1, b->hseqbase);
+ if (!b1)
+ return;
+ /* only sys and tmp are system schemas */
+ for(p=BUNfirst(b), q=BUNlast(b); p<q; p++) {
+ bit v = FALSE;
+ char *name = BUNtail(bi, p);
+ if (strcmp(name, "sys") == 0 || strcmp(name, "tmp") ==
0)
+ v = TRUE;
+ BUNappend(b1, &v, TRUE);
+ }
+ b1 = BATsetaccess(b1, BAT_READ);
+ logger_add_bat(lg, b1, N(n, NULL, s, "schemas_system"));
+ bat_destroy(b);
+ bat_destroy(b1);
+ }
if (catalog_version == CATALOG_OCT2010) {
BAT *b, *b1;
char *s = "sys", n[64];
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list