Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18139
Modified Files:
sql_mvc.mx
Log Message:
fix concurrent access to mvc's last field
U sql_mvc.mx
Index: sql_mvc.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_mvc.mx,v
retrieving revision 1.204
retrieving revision 1.205
diff -u -d -r1.204 -r1.205
--- sql_mvc.mx 23 Jun 2008 21:27:07 -0000 1.204
+++ sql_mvc.mx 16 Jul 2008 08:42:11 -0000 1.205
@@ -755,15 +755,16 @@
sql_schema *
mvc_bind_schema(mvc *m, char *sname)
{
+ sql_column *l = m->last;
sql_trans *tr = m->session->tr;
sql_schema *s;
if (!tr)
return NULL;
- if (m->last && m->last->t->s &&
- strcmp(m->last->t->s->base.name, sname) == 0)
- s = m->last->t->s;
+ if (l && l->t->s &&
+ strcmp(l->t->s->base.name, sname) == 0)
+ s = l->t->s;
else
s = find_sql_schema(tr, sname);
if (!s)
@@ -777,6 +778,7 @@
sql_table *
mvc_bind_table(mvc *m, sql_schema *s, char *tname)
{
+ sql_column *l = m->last;
sql_table *t = NULL;
if (!s) { /* Declared tables during query compilation have no schema */
@@ -787,9 +789,9 @@
s = mvc_bind_schema(m, "%dt%");
return mvc_bind_table(m, s, tname);
}
- } else if (m->last && m->last->t->s == s &&
- strcmp(m->last->t->base.name, tname) == 0) {
- t = m->last->t;
+ } else if (l && l->t->s == s &&
+ strcmp(l->t->base.name, tname) == 0) {
+ t = l->t;
} else {
t = find_sql_table(s, tname);
}
@@ -804,11 +806,11 @@
sql_column *
mvc_bind_column(mvc *m, sql_table *t, char *cname)
{
+ sql_column *l = m->last;
sql_column *c;
- if (m->last && m->last->t == t &&
- strcmp(m->last->base.name, cname) == 0)
- c = m->last;
+ if (l && l->t == t && strcmp(l->base.name, cname) == 0)
+ c = l;
else
c = find_sql_column(t, cname);
if (!c)
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins