Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14489

Modified Files:
      Tag: SQL_2-18
        sql_mvc.mx 
Log Message:
Remove the control for cascade triggers. The recursive triggers are user 
responsability and not ours.

Correct the dependencies check for the functions with the same name. 
DROP ALL f1; 
This query will drop all the functions with the name f1 and also the 
dependencies between them.
However, if there is dependencies to other objects the query is aborted.
Note: The same was implemented for procedures.




Index: sql_mvc.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_mvc.mx,v
retrieving revision 1.184.2.1
retrieving revision 1.184.2.2
diff -u -d -r1.184.2.1 -r1.184.2.2
--- sql_mvc.mx  8 Jun 2007 09:48:27 -0000       1.184.2.1
+++ sql_mvc.mx  8 Jun 2007 11:52:17 -0000       1.184.2.2
@@ -100,7 +100,6 @@
        /* current stmt variables */
        int type;               /* query type */
        int label;              /* numbers for relational projection labels */
-       list *called_triggers;  /* protection against recursive triggers */
        list *cascade_action;  /* protection against recursive cascade actions 
*/
 
        int opt_stats[MAXSTATS];/* keep statistics about optimizer rewrites */
@@ -183,7 +182,7 @@
 /*dependency control*/
 extern void mvc_create_dependency(mvc *m, int id, int depend_id, int 
depend_type);
 extern void mvc_create_dependencies(mvc *m, list *id_l, sqlid depend_id, int 
dep_type);
-extern int mvc_check_dependency(mvc * m, int id, int type);
+extern int mvc_check_dependency(mvc * m, int id, int type, list *ignore_ids);
 extern int mvc_connect_catalog(mvc *m, char *server, int port, char *db, char 
*db_alias, char *user, char *passwd, char *lng);
 extern int mvc_disconnect_catalog(mvc *m, char *db_alias);
 extern int mvc_disconnect_catalog_ALL(mvc *m);
@@ -563,7 +562,6 @@
        m->cache = 1;
 
        m->label = 0;
-       m->called_triggers = NULL;
        m->cascade_action = NULL;
        for(i=0;i<MAXSTATS;i++)
                m->opt_stats[i] = 0;
@@ -1204,7 +1202,7 @@
 }
 
 int
-mvc_check_dependency(mvc * m, int id, int type)
+mvc_check_dependency(mvc * m, int id, int type, list *ignore_ids)
 {
        list *dep_list = NULL;
        
@@ -1214,14 +1212,24 @@
 
 
        switch(type) {
-               case OWNER_DEPENDENCY : dep_list = 
sql_trans_owner_schema_dependencies(m->session->tr, id);
+               case OWNER_DEPENDENCY : 
+                                       dep_list = 
sql_trans_owner_schema_dependencies(m->session->tr, id);
                                        break;
-               case SCHEMA_DEPENDENCY : dep_list = 
sql_trans_schema_user_dependencies(m->session->tr, id);
+               case SCHEMA_DEPENDENCY :
+                                       dep_list = 
sql_trans_schema_user_dependencies(m->session->tr, id);
                                        break;
-               case TABLE_DEPENDENCY : dep_list = 
sql_trans_get_dependencies(m->session->tr, id, TABLE_DEPENDENCY);
-               case VIEW_DEPENDENCY : dep_list = 
sql_trans_get_dependencies(m->session->tr, id, TABLE_DEPENDENCY);
+               case TABLE_DEPENDENCY : 
+                                       dep_list = 
sql_trans_get_dependencies(m->session->tr, id, TABLE_DEPENDENCY, NULL);
                                        break;
-               default: dep_list =  sql_trans_get_dependencies(m->session->tr, 
id, COLUMN_DEPENDENCY);
+               case VIEW_DEPENDENCY : 
+                                       dep_list = 
sql_trans_get_dependencies(m->session->tr, id, TABLE_DEPENDENCY, NULL);
+                                       break;
+               case FUNC_DEPENDENCY : 
+               case PROC_DEPENDENCY :
+                                       dep_list = 
sql_trans_get_dependencies(m->session->tr, id, FUNC_DEPENDENCY, ignore_ids);
+                                       break;
+               default: 
+                                       dep_list =  
sql_trans_get_dependencies(m->session->tr, id, COLUMN_DEPENDENCY, NULL);
        }
        
        if ( list_length(dep_list) >= 2 ) {


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to