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

Modified Files:
        sql_schema.mx 
Log Message:
propagated changes of Friday Jul 31 2009 - Saturday Aug 01 2009
from the May2009 branch to the development trunk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/07/31 - mr-meltdown: src/server/sql_schema.mx,1.170.2.4
Indent.  Make sure we don't dereference c before we actually assigned a
value (and tested for non-NULL) to it.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Index: sql_schema.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_schema.mx,v
retrieving revision 1.175
retrieving revision 1.176
diff -u -d -r1.175 -r1.176
--- sql_schema.mx       26 Jul 2009 09:13:33 -0000      1.175
+++ sql_schema.mx       1 Aug 2009 04:52:15 -0000       1.176
@@ -242,25 +242,37 @@
 
                                for (cn = op->data.lval->h; cn; cn = cn->next) {
                                        char *cname = cn->data.sval;
-                                       sql_column *c = 0;
+                                       sql_column *c = NULL;
 
+                                       /* allowed in schema */
                                        int allowed = sql_grantable(sql,
-                                                                   grantor, 
t->s->base.id,
-                                                                   priv, 1);
+                                                       grantor, t->s->base.id, 
priv, 1);
 
+                                       /* allowed on table */
                                        if (!allowed)
-                                               allowed = sql_grantable(sql, 
grantor, t->base.id, priv, 1);
+                                               allowed = sql_grantable(sql,
+                                                               grantor, 
t->base.id, priv, 1);
+
+                                       c = mvc_bind_column(sql, t, cname);
+                                       if (!c) 
+                                               return sql_error(sql, 02, 
"GRANT: table %s has "
+                                                               "no column %s", 
tname, cname);
 
+                                       /* allowed on column */
                                        if (!allowed)
-                                               allowed = sql_grantable(sql, 
grantor, c->base.id, priv, 0);
+                                               allowed = sql_grantable(sql,
+                                                               grantor, 
c->base.id, priv, 0);
 
                                        if (!allowed) 
-                                               return sql_error(sql, 02, 
"GRANTOR %s is not allowed to grant privilege %s for table %s", 
stack_get_string(sql, "current_user"), priv2string(priv), tname);
+                                               return sql_error(sql, 02, 
"GRANTOR %s is not "
+                                                               "allowed to 
grant privilege %s for "
+                                                               "table %s",
+                                                               
stack_get_string(sql, "current_user"),
+                                                               
priv2string(priv),
+                                                               tname);
 
-                                       c = mvc_bind_column(sql, t, cname);
-                                       if (!c) 
-                                               return sql_error(sql, 02, 
"Grant: table %s has no column %s", tname, cname);
-                                       sql_insert_priv(sql, grantee_id, 
c->base.id, priv, grantor, grant);
+                                       sql_insert_priv(sql, grantee_id,
+                                                       c->base.id, priv, 
grantor, grant);
                                }
                        } else {
                                int allowed = sql_grantable(sql, grantor,


------------------------------------------------------------------------------
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-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to