From: Nickolay S. <sk...@us...> - 2002-09-12 19:51:58
|
Build Version : T1.5.0.721 Firebird 1.5 Alpha 1 (writeBuildNum.sh,v 1.701 2002/09/12 19:51:52 skidder Exp $ ) Update of /cvsroot/firebird/firebird2/src/dsql In directory usw-pr-cvs1:/tmp/cvs-serv7273 Modified Files: ddl.cpp Log Message: Fixed cached metadata error which caused many DDL/DML statements to fail Index: ddl.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/dsql/ddl.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -b -U3 -r1.16 -r1.17 --- ddl.cpp 6 Sep 2002 07:51:29 -0000 1.16 +++ ddl.cpp 12 Sep 2002 19:51:50 -0000 1.17 @@ -279,25 +279,23 @@ // for delete & modify, get rid of the cached relation metadata - if ((request->req_ddl_node->nod_type == nod_mod_relation) || - (request->req_ddl_node->nod_type == nod_del_relation) || - /* CVC: Handle nod_del_view here or we will keep obsolete metadata. */ - (request->req_ddl_node->nod_type == nod_del_view) || - (request->req_ddl_node->nod_type == nod_redef_relation) || - (request->req_ddl_node->nod_type == nod_mod_view) || - (request->req_ddl_node->nod_type == nod_redef_view)) { - if (request->req_ddl_node->nod_type == nod_mod_relation || - request->req_ddl_node->nod_type == nod_redef_relation) { - if (request->req_ddl_node->nod_type == nod_mod_relation) { - NOD relation_node = request->req_ddl_node->nod_arg[e_alt_name]; + string = NULL; + NOD relation_node; + switch (request->req_ddl_node->nod_type) { + case nod_mod_relation: + case nod_redef_relation: + case nod_mod_view: + case nod_redef_view: + relation_node = request->req_ddl_node->nod_arg[e_alt_name]; string = (STR) relation_node->nod_arg[e_rln_name]; - } - else { + break; + case nod_del_relation: + case nod_del_view: string = (STR) request->req_ddl_node->nod_arg[e_alt_name]; + break; } + if (string) METD_drop_relation(request, string); - } - } // for delete & modify, get rid of the cached procedure metadata |