Update of /cvsroot/monetdb/sql/src/storage
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv26059/storage

Modified Files:
      Tag: Feb2009
        store.mx 
Log Message:
fixed temporary table cleanup after failing/rollbacked queries


U store.mx
Index: store.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/storage/store.mx,v
retrieving revision 1.25.2.2
retrieving revision 1.25.2.3
diff -u -d -r1.25.2.2 -r1.25.2.3
--- store.mx    22 Apr 2009 08:28:22 -0000      1.25.2.2
+++ store.mx    13 May 2009 17:13:19 -0000      1.25.2.3
@@ -2618,6 +2618,21 @@
 {
        int ok = LOG_OK;
 
+       /* did we make changes or is the global changed after we started */
+       if (fs->base.wtime || tr->stime < pfs->base.wtime) {
+               fs->base.wtime = fs->base.rtime = 0;
+
+               ok = reset_changeset(tr, &fs->types, &pfs->types, &fs->base, 
(resetf) NULL, (dupfunc) &type_dup);
+               if (ok == LOG_OK)
+                       ok = reset_changeset(tr, &fs->funcs, &pfs->funcs, 
&fs->base, (resetf) NULL, (dupfunc) &func_dup);
+
+               if (ok == LOG_OK)
+                       ok = reset_changeset(tr, &fs->seqs, &pfs->seqs, 
&fs->base, (resetf) &reset_seq, (dupfunc) &seq_dup);
+
+               if (ok == LOG_OK)
+                       return reset_changeset(tr, &fs->tables, &pfs->tables, 
&fs->base, (resetf) &reset_table, (dupfunc) &table_dup);
+       }
+
        if (isTempSchema(fs)) {
                if (fs->tables.set) {
                        node *n;
@@ -2637,21 +2652,6 @@
                }
                return ok;
        }
-
-       /* did we make changes or is the global changed after we started */
-       if (fs->base.wtime || tr->stime < pfs->base.wtime) {
-               fs->base.wtime = fs->base.rtime = 0;
-
-               ok = reset_changeset(tr, &fs->types, &pfs->types, &fs->base, 
(resetf) NULL, (dupfunc) &type_dup);
-               if (ok == LOG_OK)
-                       ok = reset_changeset(tr, &fs->funcs, &pfs->funcs, 
&fs->base, (resetf) NULL, (dupfunc) &func_dup);
-
-               if (ok == LOG_OK)
-                       ok = reset_changeset(tr, &fs->seqs, &pfs->seqs, 
&fs->base, (resetf) &reset_seq, (dupfunc) &seq_dup);
-
-               if (ok == LOG_OK)
-                       return reset_changeset(tr, &fs->tables, &pfs->tables, 
&fs->base, (resetf) &reset_table, (dupfunc) &table_dup);
-       }
        return ok;
 }
 


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to