From 7c1090039592d31d1d60bb86c223a6c4ab66b3c2 Mon Sep 17 00:00:00 2001 From: dimitr Date: Fri, 15 Dec 2006 16:04:40 +0000 Subject: [PATCH] Fixed CORE-1055. A change in METD_get_relation() seems to not be strongly required, but I keep it in HEAD for testing. --- src/dsql/metd.epp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/dsql/metd.epp b/src/dsql/metd.epp index f4d2ed773dc..a1ca1dd82c4 100644 --- a/src/dsql/metd.epp +++ b/src/dsql/metd.epp @@ -1236,6 +1236,13 @@ dsql_prc* METD_get_procedure(dsql_req* request, const dsql_str* name) dsql_prc* temp; SSHORT type, count, defaults; + // see if the procedure is the one currently being defined in this request + + if (((temp = request->req_procedure) != NULL) && + !strcmp((char*) temp->prc_name, (char*) name->str_data)) { + return temp; + } + RecMutexHolder holder; // Start by seeing if symbol is already defined @@ -1244,13 +1251,6 @@ dsql_prc* METD_get_procedure(dsql_req* request, const dsql_str* name) if (symbol) return (dsql_prc*) symbol->sym_object; - // see if the procedure is the one currently being defined in this request - - if (((temp = request->req_procedure) != NULL) && - !strcmp((char*) temp->prc_name, (char*) name->str_data)) { - return temp; - } - // now see if it is in the database ISC_STATUS_ARRAY isc_status = {0}; @@ -1450,9 +1450,15 @@ dsql_rel* METD_get_relation(dsql_req* request, const dsql_str* name) dsql_fld* field; dsql_fld** ptr; dsql_rel* temp; - tsql* tdsql; - tdsql = DSQL_get_thread_data(); + // See if the relation is the one currently being defined in this request + + if (((temp = request->req_relation) != NULL) && + !strcmp((char*) temp->rel_name, (char*) name->str_data)) { + return temp; + } + + tsql* tdsql = DSQL_get_thread_data(); RecMutexHolder holder; @@ -1462,13 +1468,6 @@ dsql_rel* METD_get_relation(dsql_req* request, const dsql_str* name) if (symbol) return (dsql_rel*) symbol->sym_object; - // See if the relation is the one currently being defined in this request - - if (((temp = request->req_relation) != NULL) && - !strcmp((char*) temp->rel_name, (char*) name->str_data)) { - return temp; - } - ISC_STATUS_ARRAY isc_status = {0}; dbb = request->req_dbb; isc_db_handle DB = dbb->dbb_database_handle;