You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by se...@apache.org on 2019/10/03 02:29:31 UTC

[trafodion] branch master updated: [TRAFODION-3329] Code cleanup in Type 2 driver

This is an automated email from the ASF dual-hosted git repository.

selva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafodion.git


The following commit(s) were added to refs/heads/master by this push:
     new 240eeb3  [TRAFODION-3329] Code cleanup in Type 2 driver
     new 520c8ea  Merge pull request #1859 from selvaganesang/t2_driver_cleanup_1
240eeb3 is described below

commit 240eeb3f92e5671c1f229863470687c8cd5956ae
Author: selvaganesang <se...@apache.org>
AuthorDate: Wed Oct 2 22:07:59 2019 +0000

    [TRAFODION-3329] Code cleanup in Type 2 driver
    
    Remove unused static module related code from T2 driver.
    
    Cleanup of T2 code exposed an issue with cleanup of volatile schema
    at the time of drop session and t2 disconnect.
---
 core/conn/jdbc_type2/native/CSrvrConnect.cpp       |   76 -
 core/conn/jdbc_type2/native/CSrvrConnect.h         |   16 +-
 core/conn/jdbc_type2/native/CSrvrStmt.cpp          |  160 +-
 core/conn/jdbc_type2/native/CSrvrStmt.h            |    8 +-
 core/conn/jdbc_type2/native/CoreCommon.h           |    6 +-
 .../jdbc_type2/native/SQLMXCallableStatement.cpp   |  117 +-
 core/conn/jdbc_type2/native/SQLMXConnection.cpp    |   61 +-
 core/conn/jdbc_type2/native/SQLMXDriver.cpp        |   62 +-
 .../jdbc_type2/native/SQLMXPreparedStatement.cpp   |  255 +--
 core/conn/jdbc_type2/native/SqlInterface.cpp       | 1710 +-------------------
 core/conn/jdbc_type2/native/SqlInterface.h         |   45 -
 core/conn/jdbc_type2/native/SrvrCommon.cpp         |  313 +---
 core/conn/jdbc_type2/native/SrvrCommon.h           |   28 -
 core/conn/jdbc_type2/native/SrvrOthers.cpp         |  130 +-
 core/conn/jdbc_type2/native/SrvrOthers.h           |   40 +-
 .../jdbc/t2/PreparedStatementManager.java          |    4 -
 .../trafodion/jdbc/t2/SQLMXCallableStatement.java  |   60 +-
 .../apache/trafodion/jdbc/t2/SQLMXConnection.java  |  212 +--
 .../trafodion/jdbc/t2/SQLMXParameterMetaData.java  |   31 +-
 .../trafodion/jdbc/t2/SQLMXPreparedStatement.java  |   49 +-
 .../trafodion/jdbc/t2/SQLMXResultSetMetaData.java  |   54 +-
 .../apache/trafodion/jdbc/t2/SQLMXStatement.java   |    3 -
 .../org/apache/trafodion/jdbc/t2/T2Driver.java     |    6 +-
 .../org/apache/trafodion/jdbc/t2/T2Properties.java |   63 -
 core/sql/cli/Context.cpp                           |   25 +-
 core/sql/executor/ExExeUtilVolTab.cpp              |    4 +-
 core/sql/executor/ex_ddl.cpp                       |    5 +
 core/sql/sqlmxevents/logmxevent_traf.h             |    4 +
 28 files changed, 118 insertions(+), 3429 deletions(-)

diff --git a/core/conn/jdbc_type2/native/CSrvrConnect.cpp b/core/conn/jdbc_type2/native/CSrvrConnect.cpp
index 779775c..a0a63e9 100644
--- a/core/conn/jdbc_type2/native/CSrvrConnect.cpp
+++ b/core/conn/jdbc_type2/native/CSrvrConnect.cpp
@@ -308,14 +308,6 @@ void SRVR_CONNECT_HDL::removeSrvrStmt(SRVR_STMT_HDL *pSrvrStmt)
                 free32(tempPtr);
             }
 #endif
-            // Remove the Module from the list: This is MFC Code.
-            if(lpSrvrStmt->moduleId.module_name != NULL)
-            {
-                // This is safe even if the Module is not an MFC Module.
-                // Because if these are canned queries, this will not
-                // be in the MFC set.
-                this->removeFromLoadedModuleSet((const char *)lpSrvrStmt->moduleId.module_name);
-            }
             // If the statement being deleted is current statement, reset the current statement
             if (pCurrentSrvrStmt == lpSrvrStmt)
             {
@@ -491,74 +483,6 @@ SRVR_STMT_HDL *SRVR_CONNECT_HDL::getInternalSrvrStmt(long dialogueId, const char
     }
 }
 
-SRVR_STMT_HDL *SRVR_CONNECT_HDL::createSrvrStmtForMFC(
-    const char *stmtLabel,
-    long    *sqlcode,
-    const char *moduleName,
-    long moduleVersion,
-    long long moduleTimestamp,
-    short   sqlStmtType,
-    BOOL    useDefaultDesc)
-{
-    FUNCTION_ENTRY("SRVR_CONNECT_HDL::createSrvrStmt",("..."));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  stmtLabel=%s, sqlcode=0x%08x",
-        DebugString(stmtLabel),
-        sqlcode));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  moduleName=%s",
-        DebugString(moduleName)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  moduleVersion=%ld, moduleTimestamp=%s",
-        moduleVersion,
-        DebugTimestampStr(moduleTimestamp)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  sqlStmtType=%s, useDefaultDesc=%d",
-        CliDebugSqlStatementType(sqlStmtType),
-        useDefaultDesc));
-
-    SQLRETURN rc;
-    SRVR_STMT_HDL *pSrvrStmt;
-    int retcode;
-
-    pSrvrStmt = NULL;//getSrvrStmt(stmtLabel, sqlcode, moduleName);
-        MEMORY_ALLOC_OBJ(pSrvrStmt,SRVR_STMT_HDL((long)this));
-
-        rc = pSrvrStmt->allocSqlmxHdls(stmtLabel, moduleName, moduleTimestamp,
-            moduleVersion, sqlStmtType, useDefaultDesc);
-        if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
-        {
-            MEMORY_DELETE_OBJ(pSrvrStmt);
-        if (sqlcode)
-            *sqlcode = rc;
-        FUNCTION_RETURN_PTR(NULL,
-                ("pSrvrStmt->allocSqlmxHdls returned %s",CliDebugSqlError(rc)));
-        }
-        addSrvrStmt(pSrvrStmt);
-
-    if (sqlcode)
-        *sqlcode = SQL_SUCCESS;
-    FUNCTION_RETURN_PTR(pSrvrStmt,(NULL));
-}
-
-//MFC
-void SRVR_CONNECT_HDL::referenceCountForModuleLoaded(std::string strModuleName)
-{
-    if(!this->isModuleLoaded(strModuleName))
-    {
-        this->setOfLoadedModules.insert(strModuleName);
-    }
-}
-//MFC
-bool SRVR_CONNECT_HDL::isModuleLoaded(std::string strModuleName)
-{
-    return this->setOfLoadedModules.find(strModuleName) != this->setOfLoadedModules.end();
-}
-// MFC
-void SRVR_CONNECT_HDL::removeFromLoadedModuleSet(std::string strModuleName)
-{
-    if(this->isModuleLoaded(strModuleName))
-    {
-        this->setOfLoadedModules.erase(strModuleName);
-    }
-}
-
 // +++ T2_REPO
 void sendSessionEnd(std::tr1::shared_ptr<SESSION_END> pSession_info)
 {
diff --git a/core/conn/jdbc_type2/native/CSrvrConnect.h b/core/conn/jdbc_type2/native/CSrvrConnect.h
index e25069e..658df26 100644
--- a/core/conn/jdbc_type2/native/CSrvrConnect.h
+++ b/core/conn/jdbc_type2/native/CSrvrConnect.h
@@ -77,13 +77,6 @@ public:
 		Int32  resultSetIndex = 0,
 		SQLSTMT_ID* callStmtId = NULL);
 
-	SRVR_STMT_HDL *createSrvrStmtForMFC(const char *stmtLabel,
-		long	*sqlcode,
-		const char *moduleName,
-		long moduleVersion,
-		long long moduleTimestamp,
-		short	sqlStmtType,
-		BOOL	useDefaultDesc);
 	SRVR_STMT_HDL *createSpjrsSrvrStmt(SRVR_STMT_HDL *pSrvrStmt,
 		const char *stmtLabel,
 		long	*sqlcode,
@@ -105,9 +98,6 @@ public:
 	}
 	
 	inline void setCurrentStmt(SRVR_STMT_HDL *pSrvrStmt) { pCurrentSrvrStmt = pSrvrStmt;};
-	bool isModuleLoaded(std::string strModuleName);//MFC
-	void removeFromLoadedModuleSet(std::string strModuleName);//MFC
-	void referenceCountForModuleLoaded(std::string strModuleName);//MFC
 public:
 	SQLCTX_HANDLE			contextHandle;
 	ERROR_DESC_LIST_def		sqlWarning;
@@ -120,13 +110,11 @@ public:
 	char				CurrentCatalog[129];
 	char				CurrentSchema[129];
 	
-	std::list<std::string> listOfCQDs;
-
 private:
 	SRVR_STMT_HDL_LIST		*pSrvrStmtListHead;
 	
-    MapOfSrvrStmt mapOfSrvrStmt;
-    MapOfInternalSrvrStmt mapOfInternalSrvrStmt;
+	MapOfSrvrStmt mapOfSrvrStmt;
+	MapOfInternalSrvrStmt mapOfInternalSrvrStmt;
 
 	SRVR_STMT_HDL			*pCurrentSrvrStmt;
 	long					count;
diff --git a/core/conn/jdbc_type2/native/CSrvrStmt.cpp b/core/conn/jdbc_type2/native/CSrvrStmt.cpp
index cba70b6..8d1b6e0 100644
--- a/core/conn/jdbc_type2/native/CSrvrStmt.cpp
+++ b/core/conn/jdbc_type2/native/CSrvrStmt.cpp
@@ -95,7 +95,6 @@ SRVR_STMT_HDL::SRVR_STMT_HDL(long inDialogueId)
     clientLCID = srvrGlobal->clientLCID;
     rowCount._length = 0;
     rowCount._buffer = NULL;
-    isReadFromModule = FALSE;
     moduleName[0] = '\0';
     inputDescName[0] = '\0';
     outputDescName[0] = '\0';
@@ -156,21 +155,18 @@ SRVR_STMT_HDL::~SRVR_STMT_HDL()
 }
 
 SQLRETURN SRVR_STMT_HDL::Prepare(const SQLValue_def *inSqlString, short inStmtType, short inHoldability,
-                                 long inQueryTimeout,bool isISUD)
+                                 long inQueryTimeout)
 {
     FUNCTION_ENTRY("SRVR_STMT_HDL::Prepare",(""));
     DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  inSqlString='%s'",
         CLI_SQL_VALUE_STR(inSqlString)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  inStmtType=%s, inHoldability=%d, inQueryTimeout=%ld, isISUD=%d",
+    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  inStmtType=%s, inHoldability=%d, inQueryTimeout=%ld",
         CliDebugStatementType(inStmtType),
         inHoldability,
-        inQueryTimeout,isISUD));
+        inQueryTimeout));
 
     SQLRETURN rc;
     size_t  len;
-    this->isISUD = isISUD;
-    if (isReadFromModule)   // Already SMD label is found
-        CLI_DEBUG_RETURN_SQL(SQL_SUCCESS);
     // cleanup all memory allocated in the previous operations
     cleanupAll();
     sqlString.dataCharset = inSqlString->dataCharset;
@@ -265,54 +261,6 @@ SQLRETURN SRVR_STMT_HDL::Execute(const char *inCursorName, long totalRowCount, s
     case SQL_SUCCESS_WITH_INFO:
         outValueList->_buffer = outputValueList._buffer;
         outValueList->_length = outputValueList._length;
-        //MFC update srvrGlobal if any CQD/catalog/schema is set
-        if (this->sqlString.dataValue._buffer != NULL)
-        {
-            if (this->SqlQueryStatementType == 9) // CQD is being set here
-            {
-                // The CQDs which are considered for creating HASH
-                // name of the Module File. Right now this conisders
-                // only the CQDs set by the JDBC/MX T2 Driver.
-                //Modified for sol 10-100618-1193
-                //srvrGlobal->setOfCQD.insert(this->sqlString.dataValue._buffer);
-                ((SRVR_CONNECT_HDL *)dialogueId)->listOfCQDs.push_back((const char *)this->sqlString.dataValue._buffer);
-            }
-            if (this->SqlQueryStatementType == 11) // set catalog
-            {
-                char currentSqlString[100];
-                strcpy(currentSqlString,(const char *)this->sqlString.dataValue._buffer);
-                strToUpper(currentSqlString);
-                char *stringtoken = strtok_r(currentSqlString," ",&saveptr);
-                stringtoken = strtok_r(NULL," ",&saveptr);
-                stringtoken = strtok_r(NULL," ;'",&saveptr);
-                strcpy(pConnect->CurrentCatalog,(stringtoken));
-            }
-            if(this->SqlQueryStatementType == 12) // set schema
-            {
-                char currentSqlString1[100],currentSqlString2[100];
-                strcpy(currentSqlString1,(const char *)this->sqlString.dataValue._buffer);
-                strToUpper(currentSqlString1);
-
-                saveptr=NULL;
-                char *stringtoken = strtok_r(currentSqlString1," ",&saveptr);
-                stringtoken = strtok_r(NULL," ",&saveptr);
-                stringtoken = strtok_r(NULL," ;\n\t",&saveptr);
-                strcpy(currentSqlString2,stringtoken);
-
-                int pos = strcspn(stringtoken,".");
-                if (pos == strlen(stringtoken))
-                    strcpy(pConnect->CurrentSchema,(stringtoken));
-                else
-                {
-                    saveptr=NULL;
-                    stringtoken = strtok_r(currentSqlString2,".",&saveptr);
-                    strcpy(pConnect->CurrentCatalog,(stringtoken));
-                    stringtoken = strtok_r(NULL,"; \t\n",&saveptr);
-                    strcpy(pConnect->CurrentSchema,(stringtoken));
-                }
-            }
-        }
-        //MFC update srvrGlobal end
         break;
     case ODBC_SERVER_ERROR:
         // Allocate Error Desc
@@ -535,37 +483,6 @@ void  SRVR_STMT_HDL::cleanupAll(void)
     FUNCTION_RETURN_VOID((NULL));
 }
 
-SQLRETURN SRVR_STMT_HDL::PrepareFromModule(short inStmtType)
-{
-    FUNCTION_ENTRY("SRVR_STMT_HDL::PrepareFromModule",("inStmtType=%s",
-        CliDebugStatementType(inStmtType)));
-
-    SQLRETURN rc;
-    size_t  len;
-    if (srvrGlobal->moduleCaching)
-    {
-        if (!this->isClosed)
-        {
-            long retcode = SQL_SUCCESS;
-            SQLSTMT_ID  *pStmt = &(this->stmt);
-            retcode = CLI_CloseStmt(pStmt);
-
-            if (retcode!=0) retcode = CLI_ClearDiagnostics(pStmt);
-            this->isClosed = TRUE;
-        }
-    }
-
-    if (isReadFromModule) CLI_DEBUG_RETURN_SQL(SQL_SUCCESS);
-    // cleanup all memory allocated in the previous operations
-    cleanupAll();
-    stmtType = inStmtType;
-    estimatedCost = -1;
-    rc = PREPARE_FROM_MODULE(this);
-    if (rc != SQL_ERROR)
-        isReadFromModule = TRUE;
-    CLI_DEBUG_RETURN_SQL(rc);
-}
-
 SQLRETURN SRVR_STMT_HDL::freeBuffers(short descType)
 {
     FUNCTION_ENTRY("SRVR_STMT_HDL::freeBuffers",("descType=%d",
@@ -657,23 +574,11 @@ SQLRETURN SRVR_STMT_HDL::allocSqlmxHdls(const char *inStmtName, const char *inMo
 
     strcpy(stmtName, inStmtName);
     stmtNameLen = strlen(inStmtName);
-    if (inModuleName != NULL)
-    {
-        moduleId.version = inModuleVersion;
-        strcpy(moduleName, inModuleName);
-        moduleId.module_name = moduleName;
-        moduleId.module_name_len = strlen(moduleName);
-        moduleId.charset = "ISO88591";
-        moduleId.creation_timestamp = inModuleTimestamp;
-    }
-    else
-    {
-        moduleId.version = SQLCLI_ODBC_MODULE_VERSION;
-        moduleId.module_name = NULL;
-        moduleId.module_name_len = 0;
-        moduleId.charset = "ISO88591";
-        moduleId.creation_timestamp = 0;
-    }
+    moduleId.version = SQLCLI_ODBC_MODULE_VERSION;
+    moduleId.module_name = NULL;
+    moduleId.module_name_len = 0;
+    moduleId.charset = "ISO88591";
+    moduleId.creation_timestamp = 0;
     sqlStmtType = inSqlStmtType;
     useDefaultDesc = inUseDefaultDesc;
     rc = ALLOCSQLMXHDLS(this);
@@ -1103,52 +1008,3 @@ struct SQLCLI_QUAD_FIELDS *SRVR_STMT_HDL::getQuadField(DESC_TYPE descType)
     }
     FUNCTION_RETURN_PTR(NULL,("Unknown"));
 }
-//MFC
-// MFC
-SQLRETURN SRVR_STMT_HDL::PrepareforMFC(const SQLValue_def *inSqlString, short inStmtType, short inHoldability,
-                                       long inQueryTimeout,bool isISUD)
-{
-    FUNCTION_ENTRY("SRVR_STMT_HDL::PrepareforMFC",(""));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  inSqlString='%s'",
-        CLI_SQL_VALUE_STR(inSqlString)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  inStmtType=%s, inHoldability=%d, inQueryTimeout=%ld, isISUD=%d",
-        CliDebugStatementType(inStmtType),
-        inHoldability,
-        inQueryTimeout,isISUD));
-
-    SQLRETURN rc;
-    size_t  len;
-    this->isISUD = isISUD;
-    if (srvrGlobal->moduleCaching)
-    {
-        if (!this->isClosed)
-        {
-            long retcode = SQL_SUCCESS;
-            SQLSTMT_ID  *pStmt = &(this->stmt);
-            retcode = CLI_CloseStmt(pStmt);
-
-            if (retcode!=0)
-            {
-                retcode = CLI_ClearDiagnostics(pStmt);
-            }
-            this->isClosed = TRUE;
-        }
-    }
-    if (isReadFromModule)   // Already SMD label is found
-    {
-        CLI_DEBUG_RETURN_SQL(SQL_SUCCESS);
-    }
-    // cleanup all memory allocated in the previous operations
-    cleanupAll();
-    sqlString.dataCharset = inSqlString->dataCharset;
-    sqlString.dataType = inSqlString->dataType;
-    MEMORY_ALLOC_ARRAY(sqlString.dataValue._buffer,unsigned char,inSqlString->dataValue._length+1);
-    sqlString.dataValue._length = inSqlString->dataValue._length+1;
-
-    strncpy((char *)sqlString.dataValue._buffer, (const char *)inSqlString->dataValue._buffer, inSqlString->dataValue._length);
-    sqlString.dataValue._buffer[inSqlString->dataValue._length] = '\0';
-    stmtType = inStmtType;
-    holdability = inHoldability;
-
-    CLI_DEBUG_RETURN_SQL(PREPAREFORMFC(this));
-}
diff --git a/core/conn/jdbc_type2/native/CSrvrStmt.h b/core/conn/jdbc_type2/native/CSrvrStmt.h
index d57179d..f0aa3eb 100644
--- a/core/conn/jdbc_type2/native/CSrvrStmt.h
+++ b/core/conn/jdbc_type2/native/CSrvrStmt.h
@@ -41,8 +41,6 @@
 
 //#include "spthread.h" commented by venu for TSLX
 #define     UNKNOWN_METHOD          -1
-#define     Prepare_From_Module     20  // PrepareFromModule Method Operation Index
-// addition to SrvrOthers.h indexes, which stop at 19
 #define     MAX_RESULT_SETS         255 // Max number of RS per stmt
 
 
@@ -65,7 +63,6 @@ public:
     BYTE                    *outputDescVarBuffer;       // Data Buffer for output values
     long                    inputDescVarBufferLen;
     long                    outputDescVarBufferLen;
-    BOOL                    isReadFromModule;
     jobject                 resultSetObject;
     BOOL                    endOfData;
     BOOL                    isSPJRS;                        // RS Query Stmt Type (e.g. SQL_CALL_NO_RESULT_SETS, SQL_CALL_WITH_RESULT_SETS)
@@ -191,9 +188,7 @@ public:
     SRVR_STMT_HDL(long dialogueId);
     ~SRVR_STMT_HDL();
     //SRVR_STMT_HDL(const char *inStmtLabel, const char *moduleName);
-    SQLRETURN Prepare(const SQLValue_def *inSqlString, short inStmtType, short holdability, long inQueryTimeout,bool isISUD = FALSE);
-    // MFC
-    SQLRETURN PrepareforMFC(const SQLValue_def *inSqlString, short inStmtType, short holdability, long inQueryTimeout, bool isISUD = FALSE);
+    SQLRETURN Prepare(const SQLValue_def *inSqlString, short inStmtType, short holdability, long inQueryTimeout);
     SQLRETURN Execute(const char *inCursorName, long inputRowcnt, short sqlStmtType,
         const SQLValueList_def *inputValueList,short inSqlAsyncEnable, long inQueryTimeout,
         SQLValueList_def *outputValueList);
@@ -207,7 +202,6 @@ public:
     void cleanupSQLValueList();
     void cleanupSQLDescList();
     void cleanupAll();
-    SQLRETURN PrepareFromModule(short stmtType);
     SQLRETURN InternalStmtClose(unsigned short inFreeResourceOpt);
     SQLRETURN freeBuffers(short descType);
     void processThreadReturnCode(void);
diff --git a/core/conn/jdbc_type2/native/CoreCommon.h b/core/conn/jdbc_type2/native/CoreCommon.h
index c131173..7fb166c 100644
--- a/core/conn/jdbc_type2/native/CoreCommon.h
+++ b/core/conn/jdbc_type2/native/CoreCommon.h
@@ -278,7 +278,7 @@ typedef enum _STOP_TYPE
 #define SQLSVC_EXCEPTION_CATSMD_MODULE_ERROR "The Catalog SMD file is either corrupted or not found or cursor not found"
 #define SQLSVC_EXCEPTION_BUFFER_ALLOC_FAILED "Buffer Allocation Failed"
 #define SQLSVC_EXCEPTION_INVALID_HANDLE "Error while allocating Handles in SQL/MX"
-#define SQLSVC_EXCEPTION_READING_FROM_MODULE_FAILED "Reading From Module failed or Module Corrupted or Module not found"
+#define SQLSVC_EXCEPTION_PREPARE_FAILED "Error while preparing the query"
 #define SQLSVC_EXCEPTION_NOWAIT_ERROR   "Error in thread synchronizing functions - Vendor code is FS Error"
 #define SQLSVC_EXCEPTION_INVALID_SCHEMA_VERSION "Invalid Schema version"  // Used for Metadata schemaVersion setup
 
@@ -381,10 +381,6 @@ typedef struct _SRVR_GLOBAL_Def
     char                DefaultSchema[129];
     char                CurrentCatalog[129]; // Added for MFC
     char                CurrentSchema[129];  // Added for MFC
-    //moved setOfCQD to CsrvrConnect.h sol. Sol. 10-100618-1194
-//  std::set<std::string> setOfCQD; // Added for MFC
-    int                 moduleCaching;          // Added for MFC
-    char                compiledModuleLocation[100]; // Added for MFC
     bool                jdbcProcess;        // This flag is used to determine the query for SQLTables
     short               nowaitOn;
     short               nowaitFilenum;
diff --git a/core/conn/jdbc_type2/native/SQLMXCallableStatement.cpp b/core/conn/jdbc_type2/native/SQLMXCallableStatement.cpp
index 9373fa1..31b556d 100644
--- a/core/conn/jdbc_type2/native/SQLMXCallableStatement.cpp
+++ b/core/conn/jdbc_type2/native/SQLMXCallableStatement.cpp
@@ -134,9 +134,7 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXCallableStatement_
 		&outputDesc,
 		&sqlWarning,
 		&stmtId,
-		&inputParamOffset,
-		NULL, // MFC
-		false);
+		&inputParamOffset);
 
 	if (sql)
 	{
@@ -293,116 +291,3 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXCallableStatement_
 	}
 	FUNCTION_RETURN_VOID((NULL));
 }
-
-JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXCallableStatement_cpqPrepareCall
-(JNIEnv *jenv, jobject jobj, jstring server, jlong dialogueId,
- jint txid, jboolean autoCommit, jint txnMode,
- jstring moduleName, jint moduleVersion, jlong moduleTimestamp, jstring stmtName,
- jint queryTimeout, jint holdability, jint fetchSize)
-{
-	FUNCTION_ENTRY("Java_org_apache_trafodion_jdbc_t2_SQLMXCallableStatement_cpqPrepareCall",("..."));
-
-	long							estimatedCost;
-	long							inputParamOffset;
-	ERROR_DESC_LIST_def				sqlWarning;
-	SQLItemDescList_def				outputDesc;
-	SQLItemDescList_def				inputDesc;
-	jint							currentTxid = txid;
-	jint							externalTxid = 0;
-	long							stmtId;
-	const char						*nModuleName = NULL;
-	const char						*nStmtName = NULL;
-	short							txn_status;
-
-	ExceptionStruct	exception_;
-	CLEAR_EXCEPTION(exception_);
-
-	if (moduleName)
-		nModuleName = JNI_GetStringUTFChars(jenv,moduleName, NULL);
-	else
-	{
-		throwSQLException(jenv, INVALID_MODULE_NAME_ERROR, NULL, "HY000");
-		FUNCTION_RETURN_VOID(("moduleName is Null"));
-	}
-
-	if (stmtName)
-		nStmtName = JNI_GetStringUTFChars(jenv,stmtName, NULL);
-	else
-	{
-		throwSQLException(jenv, INVALID_STMT_LABEL_ERROR, NULL, "HY000");
-		FUNCTION_RETURN_VOID(("stmtName is Null"));
-	}
-
-	if ((txn_status = beginTxnControl(jenv, currentTxid, externalTxid, txnMode, -1)) != 0)
-	{
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwTransactionException(jenv, txn_status);
-		FUNCTION_RETURN_VOID(("beginTxnControl() failed"));
-	}
-
-	odbc_SQLSvc_PrepareFromModule_sme_(NULL, NULL,
-		&exception_,
-		dialogueId,
-		(char *)nModuleName,
-		moduleVersion,
-		moduleTimestamp,
-		(char *)nStmtName,
-		TYPE_CALL,
-		fetchSize,
-		0,
-		0,
-		&estimatedCost,
-		&inputDesc,
-		&outputDesc,
-		&sqlWarning,
-		&stmtId,
-		&inputParamOffset);
-
-	if (moduleName)
-		JNI_ReleaseStringUTFChars(jenv,moduleName, nModuleName);
-
-	if (stmtName)
-		JNI_ReleaseStringUTFChars(jenv,stmtName, nStmtName);
-
-	// Prepare, don't abort transaction even if there is an error, hence CEE_SUCCESS
-	if ((txn_status = endTxnControl(jenv, currentTxid, txid,
-		autoCommit, CEE_SUCCESS, FALSE, txnMode, externalTxid)) != 0)
-	{
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwTransactionException(jenv, txn_status);
-		FUNCTION_RETURN_VOID(("endTxnControl() Failed"));
-	}
-
-	switch (exception_.exception_nr)
-	{
-	case CEE_SUCCESS:
-		outputDesc._length = 0;
-		outputDesc._buffer = 0;
-		setPrepareOutputs(jenv, jobj, &inputDesc, &outputDesc, currentTxid, stmtId, inputParamOffset);
-		if (sqlWarning._length > 0)
-			setSQLWarning(jenv, jobj, &sqlWarning);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLQueryCancelled_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, QUERY_CANCELLED_ERROR, NULL, "HY008",
-			exception_.u.SQLQueryCancelled.sqlcode);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLError_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, &exception_.u.SQLError);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_ParamError_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, MODULE_ERROR, exception_.u.ParamError.ParamDesc, "HY000");
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLStillExecuting_exn_:
-	case odbc_SQLSvc_PrepareFromModule_InvalidConnection_exn_:
-	case odbc_SQLSvc_PrepareFromModule_TransactionError_exn_:
-	default:
-		// TFDS - These exceptions should not happen
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, PROGRAMMING_ERROR, NULL, "HY000", exception_.exception_nr);
-		break;
-	}
-	FUNCTION_RETURN_VOID((NULL));
-}
diff --git a/core/conn/jdbc_type2/native/SQLMXConnection.cpp b/core/conn/jdbc_type2/native/SQLMXConnection.cpp
index 11758d4..c564658 100644
--- a/core/conn/jdbc_type2/native/SQLMXConnection.cpp
+++ b/core/conn/jdbc_type2/native/SQLMXConnection.cpp
@@ -381,7 +381,7 @@ JNIEXPORT jint JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_beginTr
 JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_connectInit
 (JNIEnv *jenv, jobject jobj, jstring server, jlong dialogueId, jstring catalog,
         jstring schema, jstring mploc, jboolean isReadOnly, jboolean autoCommit, jint transactionIsolation,
-        jint loginTimeout, jint queryTimeout, jstring modulecaching, jstring compiledmodulelocation, jboolean blnDoomUsrTxn,
+        jint loginTimeout, jint queryTimeout, jboolean blnDoomUsrTxn,
         jint statisticsIntervalTime, jint statisticsLimitTime, jstring statisticsType, jstring programStatisticsEnabled, jstring statisticsSqlPlanEnabled)
 {
 
@@ -410,21 +410,11 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_connect
                     DebugJString(jenv,statisticsSqlPlanEnabled)
             ));
 
-    //MFC - new properties
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  MFC modulecaching=%s",
-                    DebugJString(jenv,modulecaching)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  MFC compiledmodulelocation=%s",
-                    DebugJString(jenv,compiledmodulelocation)));
-
     const char *nCatalog;
     const char *nSchema;
     const char *nMploc;
     jthrowable exception;
 
-    // MFC - new properties
-    const char *nModuleCaching;
-    const char *nCompiledModuleLocation;
-
     // PUBLISHING
     const char *nStatisticsType;
     const char *nProgramStatisticsEnabled;
@@ -670,40 +660,6 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_connect
         FUNCTION_RETURN_VOID(("SQL_AUTOCOMMIT - setConnectException.exception_nr(%s) is not CEE_SUCCESS",
                         CliDebugSqlError(setConnectException.exception_nr)));
     }
-    // MFC if mfc is on set the recompilation warnings on
-    // to help remove stale modules
-    if (srvrGlobal->moduleCaching == 1)
-    {
-        odbc_SQLSvc_SetConnectionOption_sme_(NULL, NULL,
-                &setConnectException,
-                dialogueId,
-                SQL_RECOMPILE_WARNING,
-                0,
-                NULL,
-                &sqlWarning
-        );
-
-        if (setConnectException.exception_nr != CEE_SUCCESS)
-        {
-            throwSetConnectionException(jenv, &setConnectException);
-            FUNCTION_RETURN_VOID(("SQL_RECOMPILE_WARNING - setConnectException.exception_nr(%s) is not CEE_SUCCESS",
-                            CliDebugSqlError(setConnectException.exception_nr)));
-        }
-        //MFC support for BigNum
-        odbc_SQLSvc_SetConnectionOption_sme_(NULL, NULL,&setConnectException,dialogueId,
-                SET_SESSION_INTERNAL_IO,0,NULL,
-                &sqlWarning);
-
-        if (setConnectException.exception_nr != CEE_SUCCESS)
-
-        {
-            throwSetConnectionException(jenv, &setConnectException);
-            FUNCTION_RETURN_VOID(("Set Session internal_format_io failure setConnectException.exception_nr(%s) is not CEE_SUCCESS",
-                            CliDebugSqlError(setConnectException.exception_nr)));
-
-        }
-
-    }
 
 //    printf("Native statisticsIntervalTime :%ld\n", statisticsIntervalTime);
 //    printf("Native statisticsLimitTime :%ld\n", statisticsLimitTime);
@@ -1150,18 +1106,3 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_setChar
     }
     FUNCTION_RETURN_VOID((NULL));
 }
-
-//Sol. 10-100618-1186
-/*
- * Class:     org_apache_trafodion_jdbc_t2_SQLMXConnection
- * Method:    clearSetOfCQDs
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_clearSetOfCQDs
-(JNIEnv *jenv, jobject obj, jlong dialogueId)
-{
-    FUNCTION_ENTRY("Java_org_apache_trafodion_jdbc_t2_SQLMXConnection_clearSetOfCQDs",("..."));
-//cleare CQD's upon a logical connection close.
-    ((SRVR_CONNECT_HDL*)dialogueId)->listOfCQDs.clear();
-    FUNCTION_RETURN_VOID((NULL));
-}
diff --git a/core/conn/jdbc_type2/native/SQLMXDriver.cpp b/core/conn/jdbc_type2/native/SQLMXDriver.cpp
index 0f2a3e8..e7a0fba 100644
--- a/core/conn/jdbc_type2/native/SQLMXDriver.cpp
+++ b/core/conn/jdbc_type2/native/SQLMXDriver.cpp
@@ -75,18 +75,14 @@ JNIEXPORT jint JNICALL Java_org_apache_trafodion_jdbc_t2_T2Driver_getPid (JNIEnv
 * Method:    SQLMXInitialize
 * Signature: (Ljava/lang/String;I)V
 */
-// MFC - added two parameters to set the MFC on/off and the directory
 JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_T2Driver_SQLMXInitialize(JNIEnv *jenv, jclass cls,
-																		 jstring language, jint nowaitOn, jstring moduleCaching, jstring compiledModuleLocation)
+																		 jstring language, jint nowaitOn)
 {
 	FUNCTION_ENTRY("Java_org_apache_trafodion_jdbc_t2_T2Driver_SQLMXInitialize",("language=%s, nowaitOn=%ld",
 		DebugJString(jenv,language),
 		nowaitOn));
 	const char 					*nLanguage;
 	//	static GlobalInformation	*globalInfo = new GlobalInformation();
-	//MFC
-	const char					*nModuleCaching;
-	const char					*nCompiledModuleLocation;
         
 	if (!driverVersionChecked)
 	{
@@ -174,63 +170,7 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_T2Driver_SQLMXInitializ
 		FUNCTION_RETURN_VOID(("envGetMXSystemCatalogName() failed"));
 	}
 #endif
-
-	// MFC - set the srvrGlobal variables w.r.t the properties - start
-
-	srvrGlobal->moduleCaching=0;
-	if (moduleCaching)
-	{
-		nModuleCaching = JNI_GetStringUTFChars(jenv,moduleCaching, NULL);
-		if (strcmp(nModuleCaching,"ON") == 0)
-			srvrGlobal->moduleCaching=1;
-
-		//Soln. No.: 10-110927-9875 - fix memory leak
-		JNI_ReleaseStringUTFChars(jenv,moduleCaching, nModuleCaching);
-	}
-
-
-	if (srvrGlobal->moduleCaching == 1)
-	{
-		memset(srvrGlobal->CurrentCatalog, '\0', 129);
-		memset(srvrGlobal->CurrentSchema, '\0', 129);
-		memset(srvrGlobal->compiledModuleLocation, '\0', 100);
-		if (compiledModuleLocation == NULL)
-		{
-			strcpy(srvrGlobal->compiledModuleLocation,"/usr/tandem/sqlmx/USERMODULES");
-		}
-		else
-		{
-			nCompiledModuleLocation = JNI_GetStringUTFChars(jenv,compiledModuleLocation, NULL);
-			strcpy(srvrGlobal->compiledModuleLocation,nCompiledModuleLocation);
-
-			//Soln. No.: 10-110927-9875 - fix memory leak
-			JNI_ReleaseStringUTFChars(jenv,compiledModuleLocation, nCompiledModuleLocation);
-
-			if(srvrGlobal->compiledModuleLocation[0] != '/')
-			{
-				printf("The directory provided for option \"compiledmodulelocation\" must be an absolute path.\n");
-				abort();
-			}
-			int nDirExists = access(srvrGlobal->compiledModuleLocation, F_OK);
-			if(nDirExists != 0)
-			{
-				printf("The directory provided for option \"compiledmodulelocation\" does not exist.\n");
-				abort();
-			}
-			nDirExists = access(srvrGlobal->compiledModuleLocation, W_OK);
-			if(nDirExists != 0)
-			{
-				printf("The directory provided for option \"compiledmodulelocation\" does not have \"write\" permission.\n");
-				abort();
-			}
-			if(srvrGlobal->compiledModuleLocation[strlen(srvrGlobal->compiledModuleLocation)-1] == '/')
-			{
-				srvrGlobal->compiledModuleLocation[strlen(srvrGlobal->compiledModuleLocation)-1] = '\0';
-			}
-		}
-	}
 	srvrGlobal->boolFlgforInitialization = 1;
-	// MFC set the srvrGlobal variables w.r.t the properties - end
 	FUNCTION_RETURN_VOID((NULL));
 }
 
diff --git a/core/conn/jdbc_type2/native/SQLMXPreparedStatement.cpp b/core/conn/jdbc_type2/native/SQLMXPreparedStatement.cpp
index 568239e..503c4a4 100644
--- a/core/conn/jdbc_type2/native/SQLMXPreparedStatement.cpp
+++ b/core/conn/jdbc_type2/native/SQLMXPreparedStatement.cpp
@@ -25,13 +25,7 @@
 //
 
 #include <platform_ndcs.h>
-#ifdef NSK_PLATFORM
-#include <sqlWin.h>
-#include <windows.h>
-#include <MD5.h>  // MFC
-#else
 #include <sql.h>
-#endif
 #include <sqlext.h>
 #include "CoreCommon.h"
 #include "JdbcDriverGlobal.h"
@@ -42,8 +36,6 @@
 #include "SrvrCommon.h"
 #endif
 #include "Debug.h"
-#include <sys/types.h>//MFC
-#include<sys/stat.h>// MFC
 
 
 JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXPreparedStatement_prepare
@@ -138,9 +130,7 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXPreparedStatement_
 		&outputDesc,
 		&sqlWarning,
 		&stmtId,
-		&inputParamOffset,
-		NULL,//MFC
-		FALSE);
+		&inputParamOffset);
 
 	if (sql)
 		JNI_ReleaseByteArrayElements(jenv,sqlByteArray, (jbyte *)nSql, JNI_ABORT);
@@ -530,246 +520,3 @@ JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXPreparedStatement_
 	SRVR_STMT_HDL::resetFetchSize(dialogueId, stmtId, fetchSize);
 	FUNCTION_RETURN_VOID((NULL));
 }
-
-JNIEXPORT void JNICALL Java_org_apache_trafodion_jdbc_t2_SQLMXPreparedStatement_cpqPrepareJNI
-(JNIEnv *jenv, jobject jobj, jstring server, jlong dialogueId,
- jint txid, jboolean autoCommit, jint txnMode,
- jstring moduleName, jint moduleVersion, jlong moduleTimestamp, jstring stmtName,
- jboolean isSelect, jint queryTimeout, jint holdability, jint batchSize, jint fetchSize, jstring  sql,jboolean isISUD)
-{
-	FUNCTION_ENTRY("Java_org_apache_trafodion_jdbc_t2_SQLMXPreparedStatement_cpqPrepare",("...txid=%ld, autoCommit=%s, ...\
-																			  txnMode=%ld, isSelect=%s, \
-																			  holdability=%ld, isISUD=%d...",
-																			  txid,
-																			  DebugBoolStr(autoCommit),
-																			  txnMode,
-																			  DebugBoolStr(isSelect),
-																			  holdability,isISUD));
-
-#ifndef TODO	// Linux port Todo:
-	ExceptionStruct				exception_;
-	long					estimatedCost;
-	long					inputParamOffset;
-	ERROR_DESC_LIST_def			sqlWarning;
-	SQLItemDescList_def			outputDesc;
-	SQLItemDescList_def			inputDesc;
-	jint						currentTxid = txid;
-	jint						externalTxid = 0;
-	long						stmtId;
-	short						txn_status;
-
-	SQLValue_def				sqlString;			// MFC - added this
-	const char					*nSql = NULL;
-	jbyteArray					sqlByteArray;
-	jboolean					isCopy;
-	jsize						len;
-
-	const char		*nModuleName = NULL;
-	const char		*nStmtName = NULL;
-
-	if (moduleName)
-		nModuleName = JNI_GetStringUTFChars(jenv,moduleName, NULL);
-	else
-	{
-		throwSQLException(jenv, INVALID_MODULE_NAME_ERROR, NULL, "HY000");
-		FUNCTION_RETURN_VOID(("moduleName is Null"));
-	}
-
-	// MFC - read the sqlstring
-	if (sql)
-	{
-		nSql = JNI_GetStringUTFChars(jenv,sql, NULL);
-		sqlString.dataValue._buffer = new unsigned char[strlen(nSql)+1];
-		strcpy(sqlString.dataValue._buffer, nSql);
-		sqlString.dataValue._length = strlen(nSql);
-
-		//Soln. No.: 10-110927-9875 - fix memory leak
-		JNI_ReleaseStringUTFChars(jenv,sql, nSql);
-	}
-	else
-	{
-		throwSQLException(jenv, INVALID_SQL_STRING_ERROR, NULL, "HY090");
-		FUNCTION_RETURN_VOID(("Null SQL string"));
-	}
-
-	if (stmtName)
-		nStmtName = JNI_GetStringUTFChars(jenv,stmtName, NULL);
-	else
-	{
-		throwSQLException(jenv, INVALID_STMT_LABEL_ERROR, NULL, "HY000");
-		FUNCTION_RETURN_VOID(("stmtName is Null"));
-	}
-
-
-	// MFC - coin module name
-
-	char pmoduleFileName[1024];
-	/*char pModuleNameForLoad[1024];
-
-	memset(pModuleNameForLoad, '\0', 1024);*/
-	memset(pmoduleFileName, '\0', 1024);
-
-	strcpy(pmoduleFileName, srvrGlobal->compiledModuleLocation);
-	strcat(pmoduleFileName, "/");
-	strcat(pmoduleFileName, srvrGlobal->CurrentCatalog);
-	strcat(pmoduleFileName, ".");
-	strcat(pmoduleFileName,srvrGlobal->CurrentSchema);
-	strcat(pmoduleFileName,".");
-	strcat(pmoduleFileName,MFCKEY);
-
-	
-	struct stat checkMF;
-	char* resMD5 = NULL;
-	bool bModuleExists = false;
-	resMD5 = MDMultiple2(dialogueId, sqlString.dataValue._buffer);
-	strcat(pmoduleFileName,resMD5);
-
-	if(resMD5 != NULL )
-	{
-		free(resMD5);
-		resMD5 = NULL;
-	}
-
-	std::string lockFile(pmoduleFileName);
-	lockFile.append(".lck");
-	int retCode = stat(lockFile.c_str(), &checkMF);
-	if(retCode != 0)
-	{
-		retCode = stat(pmoduleFileName, &checkMF);
-		if (retCode == 0)
-		{
-			bModuleExists = true;	
-		}
-	}
-	char pstmtLabel[1024];//, stmtLabelForLoadingModule;
-	memset(pstmtLabel, '\0', 1024);
-	// Check if the module is already loaded for this connection
-	// If so it cannot be used again.
-	SRVR_CONNECT_HDL *pConnection = (SRVR_CONNECT_HDL*)dialogueId;
-	bool isModuleLoadedForThisConnection = pConnection->isModuleLoaded(pmoduleFileName);
-
-	if (bModuleExists && !isModuleLoadedForThisConnection)
-	{
-		std::string strInput = sqlString.dataValue._buffer;
-		if((strInput.find_first_of("SELECT") == 0) || (strInput.find_first_of("select") == 0))
-		{
-			strcpy(pstmtLabel, "MXSTMT01");
-		}
-		else
-		{
-			strcpy(pstmtLabel,"SQLMX_DEFAULT_STATEMENT_");
-			int n = -1;
-			if(strcmp(srvrGlobal->CurrentSchema, "SEABASE") != 0 &&
-				strcmp(srvrGlobal->CurrentCatalog, "TRAFODION") != 0)
-			{
-				//n = srvrGlobal->setOfCQD.size()+4;
-				n = pConnection->listOfCQDs.size()+4;
-			}
-			else if(strcmp(srvrGlobal->CurrentSchema, "SEABASE") == 0 &&
-				strcmp(srvrGlobal->CurrentCatalog, "TRAFODION") == 0)
-			{
-				//n = srvrGlobal->setOfCQD.size()+2;
-				n = pConnection->listOfCQDs.size()+2;
-			}
-			char num[4];
-			memset(num, '\0', 4);
-			itoa(n,num,10);
-			strcat(pstmtLabel, num);
-		}
-	}
-	else
-	{
-		strcpy(pstmtLabel,nStmtName);
-	}
-	// MFC - if module is available call prepareFromModule else call prepare
-	if (bModuleExists && !isModuleLoadedForThisConnection)
-	{
-		pConnection->referenceCountForModuleLoaded(pmoduleFileName);
-		odbc_SQLSvc_PrepareFromModule_sme_(NULL, NULL,
-			&exception_,
-			dialogueId,
-			pmoduleFileName,
-			moduleVersion,
-			moduleTimestamp,
-			pstmtLabel,
-			(isSelect ? TYPE_SELECT : TYPE_UNKNOWN),
-			fetchSize,
-			batchSize,
-			holdability,
-			&estimatedCost,
-			&inputDesc,
-			&outputDesc,
-			&sqlWarning,
-			&stmtId,
-			&inputParamOffset);
-
-	}
-	else
-	{
-		odbc_SQLSvc_Prepare_sme_(NULL, NULL,
-			&exception_,
-			dialogueId,
-			pstmtLabel,
-			"",				// StmtExplainName
-			EXTERNAL_STMT,
-			&sqlString,
-			holdability,
-			(isSelect ? TYPE_SELECT : TYPE_UNKNOWN),
-			batchSize,
-			fetchSize,
-			queryTimeout,
-			&estimatedCost,
-			&inputDesc,
-			&outputDesc,
-			&sqlWarning,
-			&stmtId,
-			&inputParamOffset,
-			pmoduleFileName,
-				isISUD);
-	}
-	//Soln 10-111229-1174 -- start
-	if(sqlString.dataValue._buffer != NULL)
-	{
-		MEMORY_DELETE_ARRAY(sqlString.dataValue._buffer);
-		sqlString.dataValue._length = 0;
-	}
-	//Soln 10-111229-1174 -- end
-	if (moduleName)
-		JNI_ReleaseStringUTFChars(jenv,moduleName, nModuleName);
-
-	if (stmtName)
-		JNI_ReleaseStringUTFChars(jenv,stmtName, nStmtName);
-
-
-	switch (exception_.exception_nr)
-	{
-	case CEE_SUCCESS:
-		setPrepareOutputs(jenv, jobj, &inputDesc, &outputDesc, currentTxid, stmtId, inputParamOffset);
-		if (sqlWarning._length > 0)
-			setSQLWarning(jenv, jobj, &sqlWarning);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLQueryCancelled_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, QUERY_CANCELLED_ERROR, NULL, "HY008",
-			exception_.u.SQLQueryCancelled.sqlcode);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLError_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, &exception_.u.SQLError);
-		break;
-	case odbc_SQLSvc_PrepareFromModule_ParamError_exn_:
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, MODULE_ERROR, exception_.u.ParamError.ParamDesc, "HY000");
-		break;
-	case odbc_SQLSvc_PrepareFromModule_SQLStillExecuting_exn_:
-	case odbc_SQLSvc_PrepareFromModule_InvalidConnection_exn_:
-	case odbc_SQLSvc_PrepareFromModule_TransactionError_exn_:
-	default:
-		// TFDS - These exceptions should not happen
-		jenv->CallVoidMethod(jobj, gJNICache.setCurrentTxidStmtMethodId, currentTxid);
-		throwSQLException(jenv, PROGRAMMING_ERROR, NULL, "HY000", exception_.exception_nr);
-		break;
-	}
-#endif	
-	FUNCTION_RETURN_VOID((NULL));
-}
diff --git a/core/conn/jdbc_type2/native/SqlInterface.cpp b/core/conn/jdbc_type2/native/SqlInterface.cpp
index 1484edb..49da3fd 100644
--- a/core/conn/jdbc_type2/native/SqlInterface.cpp
+++ b/core/conn/jdbc_type2/native/SqlInterface.cpp
@@ -41,8 +41,6 @@
 #include "CommonDiags.h"
 #include "Debug.h"
 #include "GlobalInformation.h"
-#include <map>	//MFC
-#include <sys/stat.h> // MFC
 #include <fcntl.h>
 //Added for CQDs filter
 
@@ -1206,21 +1204,6 @@ SQLRETURN EXECUTE(SRVR_STMT_HDL* pSrvrStmt)
 	{
 		if (retcode!=SQL_SUCCESS) pSrvrStmt->isClosed = TRUE;
 	}
-	if (srvrGlobal->moduleCaching)
-	{
-		if ( (retcode == 8579) || (retcode == 8578) || (retcode == -1004) || (retcode == -4082) )
-		{
-			//If a module file exists and there is a DDL modification in the
-			//table, we handle it here and return the error to client.
-			std::string strModuleName = pSrvrStmt->moduleName;
-			if(strModuleName.find("T2MFC") != -1)
-			{
-				pConnect->removeFromLoadedModuleSet(strModuleName);
-				remove(strModuleName.c_str()); // removing the Module file
-			}
-		}
-	}
-
 	// Process the SQL CLI return code
 	if (retcode != 0){						// SQL success
 		if (retcode == 100) {				// No Data Found
@@ -1417,22 +1400,6 @@ SQLRETURN FREESTATEMENT(SRVR_STMT_HDL* pSrvrStmt)
 			retcode = CLI_DeallocStmt(pStmt);
 			if( trace_SQL ) LogDelete("SQL_EXEC_DeallocStmt(pStmt);",(void**)&pStmt,pStmt);
 		}
-		else
-		{
-			if (srvrGlobal->moduleCaching)
-			{
-				// Drop only the MFC Module.
-				SRVR_CONNECT_HDL *pConnect = (SRVR_CONNECT_HDL*)pSrvrStmt->dialogueId;
-				if(pSrvrStmt->moduleId.module_name != NULL)
-				{
-					if(pConnect->isModuleLoaded((const char *) pSrvrStmt->moduleId.module_name))
-					{
-						pConnect->removeFromLoadedModuleSet((const char *) pSrvrStmt->moduleId.module_name);
-						HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-					}
-				}
-			}
-		}
 		// For drop, always return success, even if there was a warning.
 		// This was migrated logic during IDL removal.
 		THREAD_RETURN(pSrvrStmt,SQL_SUCCESS);
@@ -2203,137 +2170,6 @@ SQLRETURN CLEARDIAGNOSTICS(SRVR_STMT_HDL *pSrvrStmt)
 	CLI_DEBUG_RETURN_SQL((SQLRETURN)retcode);
 }
 
-SQLRETURN PREPARE_FROM_MODULE(SRVR_STMT_HDL* pSrvrStmt)
-{
-	FUNCTION_ENTRY("PREPARE_FROM_MODULE",
-		("pSrvrStmt=0x%08x",
-		pSrvrStmt));
-
-	long retcode = SQL_SUCCESS;
-
-	SQLSTMT_ID	*pStmt;
-	SQLDESC_ID	*pInputDesc;
-	SQLDESC_ID	*pOutputDesc;
-	int    SqlQueryStatementType;
-
-	long		numEntries;
-	char		*pStmtName;
-	BOOL		sqlWarning = FALSE;
-
-	pStmt       = &pSrvrStmt->stmt;
-	pInputDesc  = &pSrvrStmt->inputDesc;
-	pOutputDesc = &pSrvrStmt->outputDesc;
-
-	if (!pSrvrStmt->isClosed)
-	{
-		retcode = CLI_CloseStmt(pStmt);
-
-		if (retcode!=0)
-		{
-			retcode = CLI_ClearDiagnostics(pStmt);
-		}
-		pSrvrStmt->isClosed = TRUE;
-	}
-	if (pSrvrStmt->holdability == HOLD_CURSORS_OVER_COMMIT)
-	{
-		retcode = CLI_SetStmtAttr(&pSrvrStmt->stmt, SQL_ATTR_CURSOR_HOLDABLE, SQL_HOLDABLE, NULL);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-
-	// MFC  if mfc is on allocate descriptors even if descriptor name is NULL
-	if ((pSrvrStmt->useDefaultDesc) && (!srvrGlobal->moduleCaching))
-	{
-		if (pSrvrStmt->inputDescName[0] != '\0')
-		{
-			retcode = CLI_GetDescEntryCount(pInputDesc, (int *)&pSrvrStmt->paramCount);
-			HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-		}
-		else
-		{
-			pSrvrStmt->paramCount = 0;
-		}
-
-		if (pSrvrStmt->outputDescName[0] != '\0')
-		{
-			retcode = CLI_GetDescEntryCount(pOutputDesc, (int *)&pSrvrStmt->columnCount);
-			HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-		}
-		else
-			pSrvrStmt->columnCount = 0;
-
-	}
-	else
-	{
-		retcode = CLI_DescribeStmt(pStmt, pInputDesc, pOutputDesc);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-		retcode = CLI_GetDescEntryCount(pInputDesc, (int *)&pSrvrStmt->paramCount);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-		retcode = CLI_GetDescEntryCount(pOutputDesc, (int *)&pSrvrStmt->columnCount);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-
-	if (pSrvrStmt->paramCount > 0)
-	{
-		kdsCreateSQLDescSeq(&pSrvrStmt->inputDescList, pSrvrStmt->paramCount);
-		retcode = BuildSQLDesc(pSrvrStmt, SRVR_STMT_HDL::Input);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-	else
-	{
-		kdsCreateEmptySQLDescSeq(&pSrvrStmt->inputDescList);
-	}
-
-	if (pSrvrStmt->columnCount > 0)
-	{
-		kdsCreateSQLDescSeq(&pSrvrStmt->outputDescList, pSrvrStmt->columnCount);
-		retcode = BuildSQLDesc(pSrvrStmt, SRVR_STMT_HDL::Output);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-	else
-	{
-		kdsCreateEmptySQLDescSeq(&pSrvrStmt->outputDescList);
-	}
-
-	/* *****************************************************************************
-	* The call to SQL_EXEC_GetStmtAttr to query the statement type was added as a
-	* performance enhancement. Previous version of the Trafodion database will not return
-	* a statement type, but will return a 0 which is SQL_OTHER. In the case were
-	* SQL_OTHER is returned and JDBC/MX knows what the statement type is, then the
-	* JDBC/MX statement type will be used. This will allow the JDBC/MX driver to
-	* run with an older version of the Trafodion.
-	* ***************************************************************************** */
-
-
-	DEBUG_OUT(DEBUG_LEVEL_CLI,( "getSQLMX_Version: returned %i", GlobalInformation::getSQLMX_Version()));
-
-	if (GlobalInformation::getSQLMX_Version() == CLI_VERSION_R2 ) {    //If this version of Trafodion is version R2
-		if (pSrvrStmt->sqlStmtType != TYPE_UNKNOWN)                     //If this is a SELECT, INVOKE, or SHOWSHAPE
-			SqlQueryStatementType = SQL_SELECT_NON_UNIQUE;              //then force an execute with no fetch
-		else SqlQueryStatementType = SQL_OTHER;                         //else allow an executeFetch
-	}
-	else
-	{
-		retcode = CLI_GetStmtAttr( &pSrvrStmt->stmt,		// (IN) SQL statement ID
-			SQL_ATTR_QUERY_TYPE,		// (IN) Request query statement attribute
-			&SqlQueryStatementType,	// (OUT) Place to store query statement type
-			NULL,					// (OUT) Optional string
-			0,						// (IN) Max size of optional string buffer
-			NULL );					// (IN) Length of item
-		//If there is an error this statement will return
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-	DEBUG_OUT(DEBUG_LEVEL_CLI,("SQL Query Statement Type=%s",
-		CliDebugSqlQueryStatementType(SqlQueryStatementType)));
-	pSrvrStmt->setSqlQueryStatementType(SqlQueryStatementType);
-
-	CLI_DEBUG_SHOW_SERVER_STATEMENT(pSrvrStmt);
-
-	if (sqlWarning) THREAD_RETURN(pSrvrStmt,SQL_SUCCESS_WITH_INFO);
-	THREAD_RETURN(pSrvrStmt,SQL_SUCCESS);
-}
-
 SQLRETURN ALLOCSQLMXHDLS(SRVR_STMT_HDL* pSrvrStmt)
 {
 	FUNCTION_ENTRY("ALLOCSQLMXHDLS", ("pSrvrStmt=0x%08x",
@@ -2391,9 +2227,7 @@ SQLRETURN ALLOCSQLMXHDLS(SRVR_STMT_HDL* pSrvrStmt)
 	}
 
 
-	// MFC if mfc is on allocate descriptors
-	if ( ((srvrGlobal->moduleCaching) /*&& (srvrGlobal->moduleExists)*/)
-		|| (!pSrvrStmt->useDefaultDesc))
+	if (!pSrvrStmt->useDefaultDesc)
 	{
 		pInputDesc = &pSrvrStmt->inputDesc;
 		pInputDesc->version = SQLCLI_ODBC_VERSION;
@@ -2481,8 +2315,7 @@ SQLRETURN ALLOCSQLMXHDLS(SRVR_STMT_HDL* pSrvrStmt)
 	}
 
 	// Set the input and output Desc to be Wide Descriptors
-	if ( ((srvrGlobal->moduleCaching) /*&& (srvrGlobal->moduleExists)*/)
-		|| (!pSrvrStmt->useDefaultDesc))
+	if (!pSrvrStmt->useDefaultDesc)
 	{
 		DEBUG_OUT(DEBUG_LEVEL_CLI,("Non-Default descriptor."));
 		//R321: passing 1 instead of 0 for CLI_SetDescItem 
@@ -2922,1545 +2755,6 @@ SQLRETURN GETSQLCODE(SRVR_STMT_HDL *pSrvrStmt)
 	CLI_DEBUG_RETURN_SQL(retcode);
 }
 
-// MFC - new method PREPARE + createModulePlan
-SQLRETURN PREPAREFORMFC(SRVR_STMT_HDL* pSrvrStmt)
-{
-	FUNCTION_ENTRY("PREPAREFORMFC",
-		("pSrvrStmt=0x%08x",
-		pSrvrStmt));
-
-#ifdef NSK_PLATFORM	// Linux port - Todo: Not supported
-	CLI_DEBUG_SHOW_SERVER_STATEMENT(pSrvrStmt);
-
-	long retcode;
-	SQLRETURN rc;
-
-	SQLSTMT_ID	*pStmt;
-	SQLDESC_ID	*pInputDesc;
-	SQLDESC_ID	*pOutputDesc;
-	SRVR_CONNECT_HDL *pConnect;
-
-	long		numEntries;
-	char		*pStmtName;
-	BOOL		sqlWarning = FALSE;
-	BOOL		rgWarning = FALSE;
-	int			SqlQueryStatementType;
-
-	pConnect = (SRVR_CONNECT_HDL *)pSrvrStmt->dialogueId;
-	pStmt = &pSrvrStmt->stmt;
-	pOutputDesc = &pSrvrStmt->outputDesc;
-	pInputDesc = &pSrvrStmt->inputDesc;
-
-	if (!pSrvrStmt->isClosed)
-	{
-		retcode = CLI_CloseStmt(pStmt);
-		if (retcode!=0)
-		{
-			retcode = CLI_ClearDiagnostics(pStmt);
-		}
-		pSrvrStmt->isClosed = TRUE;
-	}
-
-	if (pSrvrStmt->holdability == HOLD_CURSORS_OVER_COMMIT)
-	{
-		retcode = CLI_SetStmtAttr(pStmt, SQL_ATTR_CURSOR_HOLDABLE, SQL_HOLDABLE, NULL);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-
-	SQLDESC_ID	sqlString_desc;
-
-	sqlString_desc.version        = SQLCLI_ODBC_VERSION;
-	sqlString_desc.module         = &pSrvrStmt->moduleId;
-	sqlString_desc.name_mode      = string_data;
-	sqlString_desc.identifier     = (const char *)pSrvrStmt->sqlString.dataValue._buffer;
-	sqlString_desc.handle         = 0;
-	sqlString_desc.identifier_len = pSrvrStmt->sqlString.dataValue._length;
-	sqlString_desc.charset        = SQLCHARSETSTRING_ISO88591;
-
-	retcode = CLI_Prepare(pStmt, &sqlString_desc);
-
-	int rtn;
-
-#ifndef DISABLE_NOWAIT		
-	if (retcode == NOWAIT_PENDING)
-	{
-		rtn = WaitForCompletion(pSrvrStmt, &pSrvrStmt->cond, &pSrvrStmt->mutex);
-		DEBUG_OUT(DEBUG_LEVEL_CLI,("WaitForCompletion() returned %d",rtn));
-
-		if (rtn == 0){
-			rc = pSrvrStmt->switchContext();
-			DEBUG_OUT(DEBUG_LEVEL_CLI,("pSrvrStmt->switchContext() returned %ld", rc));
-			if ((rc != SQL_SUCCESS) && (rc != SQL_SUCCESS_WITH_INFO)) THREAD_RETURN(pSrvrStmt,rc);
-
-			switch (pSrvrStmt->nowaitRetcode)
-			{
-			case 0:
-				retcode = 0;
-				break;
-			case 9999:
-				THREAD_RETURN(pSrvrStmt,NOWAIT_ERROR);
-			default:
-				retcode = GETSQLCODE(pSrvrStmt);
-				break;
-			}
-			DEBUG_OUT(DEBUG_LEVEL_CLI,("pSrvrStmt->nowaitRetcode=%ld, retcode=%s",
-				pSrvrStmt->nowaitRetcode,
-				CliDebugSqlError(retcode)));
-		}
-		else
-		{
-			pSrvrStmt->nowaitRetcode = rtn;
-			THREAD_RETURN(pSrvrStmt,NOWAIT_ERROR);
-		}
-	}
-#endif	
-	HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-	// MFC - to store the original statement names to use in map
-	pSrvrStmt->estimatedCost = -1;
-
-	retcode = CLI_DescribeStmt(pStmt, pInputDesc, pOutputDesc);
-	HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-	retcode = CLI_GetDescEntryCount(pInputDesc,(int*) &pSrvrStmt->paramCount);
-	HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-	retcode = CLI_GetDescEntryCount(pOutputDesc,(int *) &pSrvrStmt->columnCount);
-	HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-
-	pSrvrStmt->prepareSetup();
-
-	InputDescInfo *pInputDescInfo = NULL;
-	if (pSrvrStmt->paramCount > 0)
-	{
-		kdsCreateSQLDescSeq(&pSrvrStmt->inputDescList, pSrvrStmt->paramCount+pSrvrStmt->inputDescParamOffset);
-		pInputDescInfo = new InputDescInfo[pSrvrStmt->paramCount];
-		retcode = BuildSQLDesc(pSrvrStmt, SRVR_STMT_HDL::Input,pInputDescInfo);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-	else
-	{
-		kdsCreateEmptySQLDescSeq(&pSrvrStmt->inputDescList);
-	}
-	// MFC
-	// CLI_Prepare is over. Now create module definition file
-	// Dont create for Callable statements, the SQL String will begin with "{" for callable statements.
-    //CQDs filter -- start
-	//if(srvrGlobal->moduleCaching && pSrvrStmt->sqlString.dataValue._buffer[0] != '{')
-	if(srvrGlobal->moduleCaching && pSrvrStmt->isISUD)
-	{
-		struct stat checkMF;
-		int retCode;
-		
-		std::string moduleFileName = srvrGlobal->compiledModuleLocation;
-		moduleFileName.append("/");
-		moduleFileName.append(pConnet->CurrentCatalog);
-		moduleFileName.append(".");
-		moduleFileName.append(pConnet->CurrentSchema);
-		moduleFileName.append(".");
-		moduleFileName.append(MFCKEY);
-
-		char	*resMD5 = NULL;
-		resMD5 = MDMultiple2(pSrvrStmt->dialogueId,pSrvrStmt->sqlString.dataValue._buffer);
-		moduleFileName.append(resMD5);
-
-		//MFC If .lck already exists the module generation is in progress
-		std::string lockFile(moduleFileName);
-		lockFile.append(".lck");
-
-		retCode = stat(lockFile.c_str(), &checkMF);
-
-		if (retCode != 0 && pSrvrStmt->stmtType == EXTERNAL_STMT)
-		{
-			retCode = stat(moduleFileName.c_str(), &checkMF);
-			if(retCode != 0)
-			{
-				int fileDesc = open( lockFile.c_str(), O_RDONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR | S_IXUSR);
-				if (fileDesc >= 0 )
-				{
-					// MFC creation of .sql file nd then generating a .mdf and a module goes here
-					close(fileDesc);
-					CreateModulePlan(pSrvrStmt->paramCount, pInputDescInfo, pSrvrStmt->sqlString.dataValue._buffer,pSrvrStmt->dialogueId,resMD5);
-					
-				}
-			}
-		}
-		if (resMD5 != NULL )
-		{
-			free(resMD5);
-			resMD5 = NULL;
-		}
-	}
-
-	//Soln. No.: 10-111229-1174 fix memory leak
-	MEMORY_DELETE_ARRAY(pInputDescInfo);
-
-	// MFC - resume normal flow if a .lck file exists
-	if (pSrvrStmt->columnCount > 0)
-	{
-		kdsCreateSQLDescSeq(&pSrvrStmt->outputDescList, pSrvrStmt->columnCount);
-		retcode = BuildSQLDesc(pSrvrStmt, SRVR_STMT_HDL::Output);
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	} else {
-		kdsCreateEmptySQLDescSeq(&pSrvrStmt->outputDescList);
-	}
-
-	/* *****************************************************************************
-	* The call to CLI_GetStmtAttr to query the statement type was added as a
-	* performance enhancement. Previous versions of the Trafodion database will not return
-	* a statement type, but will return a 0 which is SQL_OTHER. In the case were
-	* SQL_OTHER is returned and JDBC/MX knows what the statement type is, then the
-	* JDBC/MX statement type will be used. This will allow the JDBC/MX driver to
-	* run with an older version of the Trafodion.
-	* ***************************************************************************** */
-
-
-	DEBUG_OUT(DEBUG_LEVEL_CLI,( "getSQLMX_Version: returned %i", GlobalInformation::getSQLMX_Version()));
-
-	if (GlobalInformation::getSQLMX_Version() == CLI_VERSION_R2 ) {    //If this version of Trafodion is version R2
-		if (pSrvrStmt->sqlStmtType != TYPE_UNKNOWN)                    //If this is a SELECT, INVOKE, or SHOWSHAPE
-			SqlQueryStatementType = SQL_SELECT_NON_UNIQUE;              //then force an execute with no fetch
-		else SqlQueryStatementType = SQL_OTHER;                         //else allow an executeFetch
-	}
-	else
-	{
-		retcode = CLI_GetStmtAttr( &pSrvrStmt->stmt,		// (IN) SQL statement ID
-			SQL_ATTR_QUERY_TYPE,		// (IN) Request query statement attribute
-			&SqlQueryStatementType,	// (OUT) Place to store query statement type
-			NULL,					// (OUT) Optional string
-			0,						// (IN) Max size of optional string buffer
-			NULL );					// (IN) Length of item
-
-
-		//If there is an error this statement will return
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-	}
-	DEBUG_OUT(DEBUG_LEVEL_CLI,("SQL Query Statement Type=%s",
-		CliDebugSqlQueryStatementType(SqlQueryStatementType)));
-	pSrvrStmt->setSqlQueryStatementType(SqlQueryStatementType);
-
-	switch (pSrvrStmt->getSqlQueryStatementType())
-	{
-	case SQL_CALL_NO_RESULT_SETS:
-		DEBUG_OUT(DEBUG_LEVEL_CLI|DEBUG_LEVEL_STMT,("Prepare SQL_CALL_NO_RESULT_SETS query type"));
-		pSrvrStmt->isSPJRS = false;		// Indicate this is an RS.
-		pSrvrStmt->RSIndex = 0;			// Index into RS array
-		pSrvrStmt->RSMax = 0;			// No Result Sets to return
-		DEBUG_OUT(DEBUG_LEVEL_CLI|DEBUG_LEVEL_STMT,("RSMax: %d  RSIndex: %d  isSPJRS: %d ", pSrvrStmt->RSMax, pSrvrStmt->RSIndex,  pSrvrStmt->isSPJRS));
-		break;
-
-	case SQL_CALL_WITH_RESULT_SETS:
-		DEBUG_OUT(DEBUG_LEVEL_CLI|DEBUG_LEVEL_STMT,("Prepare SQL_CALL_WITH_RESULT_SETS query type"));
-		pSrvrStmt->isSPJRS = true;
-		retcode = RSgetRSmax(pSrvrStmt);
-		DEBUG_OUT(DEBUG_LEVEL_CLI|DEBUG_LEVEL_STMT,("RSMax: %d  RSIndex: %d  isSPJRS: %d  ", pSrvrStmt->RSMax, pSrvrStmt->RSIndex,  pSrvrStmt->isSPJRS));
-		//If there is an error this statement will return
-		HANDLE_THREAD_ERROR(retcode, sqlWarning, pSrvrStmt);
-		break;
-	}
-	
-	if (sqlWarning) THREAD_RETURN(pSrvrStmt,SQL_SUCCESS_WITH_INFO);
-#endif	
-	
-	THREAD_RETURN(pSrvrStmt,SQL_SUCCESS);
-}
-
-// MFC
-// Input Descriptor Info here for creating MDF file
-
-InputDescInfo::InputDescInfo()
-{
-	CountPosition = 0;
-	DataType = 0;
-	memset(DataTypeString, '\0', 50);
-	Length = 0;
-	DateTimeCode = 0;
-	Precision = 0;
-	SQLCharset = 0;
-	ODBCPrecision = 0;
-	ODBCDataType = 0;
-	Scale = 0;
-	Nullable = 0;
-	IntLeadPrec = 0;
-}
-
-InputDescInfo::~InputDescInfo()
-{
-	CountPosition = 0;
-	DataType = 0;
-	memset(DataTypeString, '\0', 50);
-	Length = 0;
-	DateTimeCode = 0;
-	Precision = 0;
-	SQLCharset = 0;
-	ODBCPrecision = 0;
-	ODBCDataType = 0;
-	Nullable = 0;
-	Scale = 0;
-	IntLeadPrec =0;
-}
-
-// MFC - method to map JDBC data types to Trafodion data types
-
-void InputDescInfo::setData(int countPosition, long dataType, long length, long scale,long nullable,
-							long dateTimeCode, long precision,long intLeadPrec, long sQLCharset, SRVR_GLOBAL_Def *srvrGlobal)
-{
-	CountPosition = countPosition;
-	DataType = dataType;
-	Length = length;
-	DateTimeCode = dateTimeCode;
-	Precision = precision;
-	SQLCharset = sQLCharset;
-	Scale = scale;
-	Nullable = nullable;
-	IntLeadPrec = intLeadPrec;
-	switch (DataType)
-	{
-	case SQLTYPECODE_CHAR:
-		ODBCPrecision = Length;
-		ODBCDataType = SQL_CHAR;
-		strcpy(DataTypeString, "char");
-		break;
-	case SQLTYPECODE_VARCHAR:
-	case SQLTYPECODE_VARCHAR_WITH_LENGTH:
-		ODBCPrecision = Length;
-		ODBCDataType = SQL_VARCHAR;
-		strcpy(DataTypeString, "VARCHAR");
-		if (Length >= 255)
-		{
-			ODBCDataType = SQL_LONGVARCHAR;
-			strcpy(DataTypeString, "VARCHAR");
-		}
-		break;
-	case SQLTYPECODE_VARCHAR_LONG:
-		ODBCPrecision = Length;
-		ODBCDataType = SQL_LONGVARCHAR;
-		strcpy(DataTypeString, "VARCHAR");
-		break;
-	case SQLTYPECODE_SMALLINT:
-		if (Precision == 0)
-		{
-			ODBCPrecision = 5;
-			ODBCDataType = SQL_SMALLINT;
-			strcpy(DataTypeString, "short");
-		}
-		else
-		{
-			ODBCPrecision = Precision;
-			ODBCDataType = SQL_NUMERIC;
-			strcpy(DataTypeString, "NUMERIC");
-		}
-		break;
-	case SQLTYPECODE_SMALLINT_UNSIGNED:
-		if (Precision == 0)
-		{
-			ODBCPrecision = 5;
-			ODBCDataType = SQL_SMALLINT;
-			strcpy(DataTypeString, "unsigned short");
-		}
-		else
-		{
-			ODBCPrecision = Precision;
-			ODBCDataType = SQL_NUMERIC;
-			strcpy(DataTypeString, "unsigned NUMERIC");
-		}
-		break;
-	case SQLTYPECODE_INTEGER:
-		if (Precision == 0)
-		{
-			ODBCPrecision = 10;
-			ODBCDataType = SQL_INTEGER;
-			strcpy(DataTypeString, "int");
-		}
-		else
-		{
-			ODBCPrecision = Precision;
-			ODBCDataType = SQL_NUMERIC;
-			strcpy(DataTypeString, "NUMERIC");
-		}
-		break;
-	case SQLTYPECODE_INTEGER_UNSIGNED:
-		if (Precision == 0)
-		{
-			ODBCPrecision = 10;
-			ODBCDataType = SQL_INTEGER;
-			strcpy(DataTypeString, "unsigned int");
-
-		}
-		else
-		{
-			ODBCPrecision = Precision;
-			ODBCDataType = SQL_NUMERIC;
-			strcpy(DataTypeString, "unsigned NUMERIC");
-		}
-		break;
-	case SQLTYPECODE_LARGEINT:
-		if (Precision == 0)
-		{
-			ODBCPrecision = 19;
-			ODBCDataType = SQL_BIGINT;
-			strcpy(DataTypeString, "long long");
-
-		}
-		else
-		{
-			ODBCPrecision = Precision;
-			ODBCDataType = SQL_NUMERIC;
-			strcpy(DataTypeString, "NUMERIC");
-		}
-		break;
-	case SQLTYPECODE_IEEE_REAL:
-	case SQLTYPECODE_TDM_REAL:
-		ODBCDataType = SQL_REAL;
-		ODBCPrecision = 7;
-		strcpy(DataTypeString, "float");
-		break;
-	case SQLTYPECODE_IEEE_DOUBLE:
-	case SQLTYPECODE_TDM_DOUBLE:
-		ODBCDataType = SQL_DOUBLE;
-		ODBCPrecision = 15;
-		strcpy(DataTypeString, "double");
-		break;
-	case SQLTYPECODE_DATETIME:
-		switch (DateTimeCode)
-		{
-		case SQLDTCODE_DATE:					//1
-			ODBCDataType = SQL_DATE;
-			ODBCPrecision = 10;
-			strcpy(DataTypeString, "DATE");
-			break;
-		case SQLDTCODE_TIME:					//2
-			ODBCDataType = SQL_TIME;
-			strcpy(DataTypeString, "TIME");
-			if (Precision == 0)
-			{
-				ODBCPrecision = 8;
-			}
-			else
-			{
-				ODBCDataType = SQL_TIMESTAMP;
-				ODBCPrecision = 20+Precision;
-				strcpy(DataTypeString, "TIMESTAMP");
-			}
-			break;
-		case SQLDTCODE_TIMESTAMP:				//3
-			ODBCDataType = SQL_TIMESTAMP;
-			strcpy(DataTypeString, "TIMESTAMP");
-			if (Precision == 0)
-			{
-				ODBCPrecision = 19;
-			}
-			else
-			{
-				ODBCPrecision = 20+Precision;
-			}
-			break;
-			//
-			// Mapping Non-standard SQL/MP DATETIME types to DATE/TIME/TIMESTAMP
-			//
-
-		default:
-			ODBCDataType = SQL_TYPE_NULL;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "SQL_TYPE_NULL");
-			break;
-		} // switch datetime ends
-		break;
-	case SQLTYPECODE_DECIMAL_UNSIGNED:
-		ODBCPrecision = Length;
-		ODBCDataType = SQL_DECIMAL;
-		strcpy(DataTypeString, "unsigned DECIMAL");
-		break;
-	case SQLTYPECODE_DECIMAL:
-		ODBCPrecision = Length;
-		ODBCDataType = SQL_DECIMAL;
-		strcpy(DataTypeString, "DECIMAL");
-		break;
-	case SQLTYPECODE_DECIMAL_LARGE_UNSIGNED: // Tandem extension
-		ODBCDataType = SQL_DOUBLE; // Since there is no corresponding JDBC DataType, Map it as a double
-		ODBCPrecision = 15;
-		strcpy(DataTypeString, "double");
-		break;
-	case SQLTYPECODE_DECIMAL_LARGE: // Tandem extension
-		ODBCDataType = SQL_DOUBLE; // Since there is no corresponding JDBC DataType, Map it as a double
-		ODBCPrecision = 15;
-		strcpy(DataTypeString, "double");
-		break;
-	case SQLTYPECODE_INTERVAL:		// Interval will be sent in ANSIVARCHAR format
-		switch (DateTimeCode)
-		{
-		case SQLINTCODE_YEAR:
-			ODBCDataType = SQL_INTERVAL_YEAR;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL YEAR");
-			break;
-		case SQLINTCODE_MONTH:
-			ODBCDataType = SQL_INTERVAL_MONTH;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL MONTH");
-			break;
-		case SQLINTCODE_DAY:
-			ODBCDataType = SQL_INTERVAL_DAY;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL DAY");
-			break;
-		case SQLINTCODE_HOUR:
-			ODBCDataType = SQL_INTERVAL_HOUR;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL HOUR");
-			break;
-		case SQLINTCODE_MINUTE:
-			ODBCDataType = SQL_INTERVAL_MINUTE;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL MINUTE");
-			break;
-		case SQLINTCODE_SECOND:
-			ODBCDataType = SQL_INTERVAL_SECOND;
-			ODBCPrecision = Precision;
-			strcpy(DataTypeString, "INTERVAL SECOND");
-			break;
-		case SQLINTCODE_YEAR_MONTH:
-			ODBCDataType = SQL_INTERVAL_YEAR_TO_MONTH;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL YEAR TO MONTH");
-			break;
-		case SQLINTCODE_DAY_HOUR:
-			ODBCDataType = SQL_INTERVAL_DAY_TO_HOUR;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL DAY TO HOUR");
-			break;
-		case SQLINTCODE_DAY_MINUTE:
-			ODBCDataType = SQL_INTERVAL_DAY_TO_MINUTE;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL DAY TO MINUTE");
-			break;
-		case SQLINTCODE_DAY_SECOND:
-			ODBCDataType = SQL_INTERVAL_DAY_TO_SECOND;
-			ODBCPrecision = Precision;
-			strcpy(DataTypeString, "INTERVAL DAY TO SECOND");
-			break;
-		case SQLINTCODE_HOUR_MINUTE:
-			ODBCDataType = SQL_INTERVAL_HOUR_TO_MINUTE;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "INTERVAL HOUR TO MINUTE");
-			break;
-		case SQLINTCODE_HOUR_SECOND:
-			ODBCDataType = SQL_INTERVAL_HOUR_TO_SECOND;
-			ODBCPrecision = Precision;
-			strcpy(DataTypeString, "INTERVAL HOUR TO SECOND");
-			break;
-		case SQLINTCODE_MINUTE_SECOND:
-			ODBCDataType = SQL_INTERVAL_MINUTE_TO_SECOND;
-			ODBCPrecision = Precision;
-			strcpy(DataTypeString, "INTERVAL MINUTE TO SECOND");
-			break;
-		default:
-			ODBCDataType = SQL_TYPE_NULL;
-			ODBCPrecision = 0;
-			strcpy(DataTypeString, "SQL_TYPE_NULL");
-			break;
-		}
-		break;
-	case SQLTYPECODE_CLOB:
-		ODBCPrecision = Length;
-		ODBCDataType = TYPE_CLOB;
-		strcpy(DataTypeString, "CLOB");
-		break;	
-	case SQLTYPECODE_BLOB:
-		ODBCPrecision = Length;
-		ODBCDataType = TYPE_BLOB;
-		strcpy(DataTypeString, "BLOB");
-		break;	
-	default:
-		ODBCDataType = SQL_TYPE_NULL;
-		ODBCPrecision = 0;
-		strcpy(DataTypeString, "SQL_TYPE_NULL");
-		break;
-	}
-}
-
-// MFC BuildDesc and return InputDescInfo
-
-SQLRETURN BuildSQLDesc(SRVR_STMT_HDL*pSrvrStmt, SRVR_STMT_HDL::DESC_TYPE descType,InputDescInfo *pInputDescInfo)
-{
-	FUNCTION_ENTRY("BuildSQLDesc", ("pSrvrStmt=0x%08x, pSrvrStmt->stmtName = %s, SQL Statement = %s, descType=%s",
-		pSrvrStmt,
-		pSrvrStmt->stmtName,
-		pSrvrStmt->sqlString.dataValue._buffer,
-		CliDebugDescTypeStr(descType)));
-
-	long retcode = SQL_SUCCESS;
-	short i;
-	short j;
-	short k;
-
-	BOOL sqlWarning = FALSE;
-
-	long *totalMemLen = pSrvrStmt->getDescBufferLenPtr(descType);
-	long numEntries = pSrvrStmt->getDescEntryCount(descType);
-	SQLDESC_ID *pDesc = pSrvrStmt->getDesc(descType);
-	SQLItemDescList_def *SQLDesc = pSrvrStmt->getDescList(descType);
-	SQLItemDesc_def *SQLItemDesc = (SQLItemDesc_def *)SQLDesc->_buffer + SQLDesc->_length;
-
-	SRVR_DESC_HDL *implDesc = pSrvrStmt->allocImplDesc(descType);
-
-	// The following routine is hard coded for at least 15 items, so make sure it does not change
-	DEBUG_ASSERT(NO_OF_DESC_ITEMS>= 16,("NO_OF_DESC_ITEMS(%d) is less than 16",NO_OF_DESC_ITEMS));
-	*totalMemLen = 0;
-	for (i = 0; i < numEntries; i++) {
-		SQLItemDesc = (SQLItemDesc_def *)SQLDesc->_buffer + SQLDesc->_length;
-		// Initialize the desc entry in SQLDESC_ITEM struct
-		for (j = 0; j < NO_OF_DESC_ITEMS ; j++) {
-			gDescItems[j].entry = i+1;
-		}
-		gDescItems[10].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[11].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[12].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[13].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[14].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-
-		retcode = CLI_GetDescItems2(pDesc,
-			NO_OF_DESC_ITEMS,
-			(SQLDESC_ITEM *)&gDescItems);
-		HANDLE_ERROR(retcode, sqlWarning);
-
-		SQLItemDesc->dataType     = gDescItems[0].num_val_or_len;
-		SQLItemDesc->maxLen       = gDescItems[1].num_val_or_len;
-		SQLItemDesc->precision    = (short)gDescItems[2].num_val_or_len;
-		SQLItemDesc->scale        = (short)gDescItems[3].num_val_or_len;
-		SQLItemDesc->nullInfo     = (BOOL)gDescItems[4].num_val_or_len;
-		SQLItemDesc->paramMode    = gDescItems[5].num_val_or_len;
-		SQLItemDesc->intLeadPrec  = gDescItems[6].num_val_or_len;
-		SQLItemDesc->datetimeCode = gDescItems[7].num_val_or_len;
-		SQLItemDesc->SQLCharset   = gDescItems[8].num_val_or_len;
-		SQLItemDesc->fsDataType   = gDescItems[9].num_val_or_len;
-		for (k = 10; k < 15; k++) {
-			gDescItems[k].string_val[gDescItems[k].num_val_or_len] = '\0';
-		}
-		SQLItemDesc->vc_ind_length = gDescItems[15].num_val_or_len;
-
-		SQLItemDesc->maxLen = AdjustCharLength(descType, SQLItemDesc->SQLCharset, SQLItemDesc->maxLen);
-
-		GetJDBCValues(	SQLItemDesc, 			// Input
-			*totalMemLen,
-			gDescItems[14].string_val);
-
-		implDesc[i].charSet         = SQLItemDesc->SQLCharset;
-		implDesc[i].dataType        = SQLItemDesc->dataType;
-		implDesc[i].length          = SQLItemDesc->maxLen;
-		implDesc[i].precision       = SQLItemDesc->ODBCPrecision;
-		implDesc[i].scale           = SQLItemDesc->scale;
-		implDesc[i].sqlDatetimeCode = SQLItemDesc->datetimeCode;
-		implDesc[i].FSDataType      = SQLItemDesc->fsDataType;
-		implDesc[i].paramMode       = SQLItemDesc->paramMode;
-		implDesc[i].vc_ind_length   = SQLItemDesc->vc_ind_length;
-
-		SQLItemDesc->version = 0;
-
-		strcpy(SQLItemDesc->catalogNm, gDescItems[10].string_val);
-		strcpy(SQLItemDesc->schemaNm, gDescItems[11].string_val);
-		strcpy(SQLItemDesc->tableNm, gDescItems[12].string_val);
-		strcpy(SQLItemDesc->colNm, gDescItems[13].string_val);
-		strcpy(SQLItemDesc->colLabel, gDescItems[14].string_val);
-
-		SQLDesc->_length++;
-
-	}
-
-	if ((srvrGlobal->moduleCaching) &&(descType == SRVR_STMT_HDL::Input)&& (pSrvrStmt->stmtType == EXTERNAL_STMT))
-	{
-		retcode = BuildSQLDesc2ForModFile(pSrvrStmt->inputDesc, pSrvrStmt->paramCount, pInputDescInfo);
-		HANDLE_ERROR(retcode, sqlWarning);
-	}
-	retcode = SET_DATA_PTR(pSrvrStmt, descType);
-	HANDLE_ERROR(retcode, sqlWarning);
-
-	if (sqlWarning) CLI_DEBUG_RETURN_SQL(SQL_SUCCESS_WITH_INFO);
-	CLI_DEBUG_RETURN_SQL(SQL_SUCCESS);
-}
-
-
-//MFC - Build input descriptors for module file generation
-
-SQLRETURN BuildSQLDesc2ForModFile(SQLDESC_ID pDesc,long numEntries,InputDescInfo *&pInputDescInfo)
-{
-	long retcode = SQL_SUCCESS;
-	BOOL sqlWarning = FALSE;
-
-	long DataType;
-	long DateTimeCode;
-	long Length;
-	long Precision;
-	long Scale;
-	long SQLCharset;
-	long FSDataType;
-	long IntLeadPrec;
-	long Nullable;
-
-	for (int i = 0; i < numEntries; i++)
-	{
-		// Initialize the desc entry in SQLDESC_ITEM struct
-		for (int j = 0; j < NO_OF_DESC_ITEMS ; j++)
-		{
-			gDescItems[j].entry = i+1;
-		}
-		gDescItems[10].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[11].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[12].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[13].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-		gDescItems[14].num_val_or_len = MAX_ANSI_NAME_LEN+1;
-
-
-
-		retcode = CLI_GetDescItems2(&pDesc,
-			NO_OF_DESC_ITEMS,
-			(SQLDESC_ITEM *)&gDescItems);
-
-
-		DataType = gDescItems[0].num_val_or_len;
-		Length = gDescItems[1].num_val_or_len;
-		Precision = gDescItems[2].num_val_or_len;
-		Scale = gDescItems[3].num_val_or_len;
-		Nullable = gDescItems[4].num_val_or_len;
-		DateTimeCode = gDescItems[7].num_val_or_len;
-		SQLCharset = gDescItems[8].num_val_or_len;
-		FSDataType = gDescItems[9].num_val_or_len;
-		IntLeadPrec = gDescItems[6].num_val_or_len;
-		for (int k = 10; k < NO_OF_DESC_ITEMS; k++) {
-			gDescItems[k].string_val[gDescItems[k].num_val_or_len] = '\0';
-		}
-		if (DataType == SQLTYPECODE_NUMERIC || DataType == SQLTYPECODE_NUMERIC_UNSIGNED)
-		{
-			switch (FSDataType)
-			{
-			case 130:
-				DataType = SQLTYPECODE_SMALLINT;
-				break;
-			case 131:
-				DataType = SQLTYPECODE_SMALLINT_UNSIGNED;
-				break;
-			case 132:
-            case 156: //MFC support for BigNum
-				DataType = SQLTYPECODE_INTEGER;
-				break;
-			case 133:
-			case 155: //MFC support for BigNum
-				DataType = SQLTYPECODE_INTEGER_UNSIGNED;
-				break;
-			case 134:
-				DataType = SQLTYPECODE_LARGEINT;
-				break;
-			default:
-				break;
-			}
-		}
-		pInputDescInfo[i].setData(i, DataType, Length,Scale,Nullable, DateTimeCode, Precision,IntLeadPrec,SQLCharset, srvrGlobal);
-	}
-
-
-	if (sqlWarning)
-	{
-		return SQL_SUCCESS_WITH_INFO;
-	}
-	else
-	{
-		return SQL_SUCCESS;
-	}
-}
-
-// MFC method to create the module file and store it on disk
-
-void CreateModulePlan(long inputParamCount, InputDescInfo *inputDescInfo, char *inputsqlString,long dialogueId,const char *resMD5)
-{
-
-	SRVR_CONNECT_HDL *pConnect = (SRVR_CONNECT_HDL *)dialogueId;
-	FILE *ModuleCachingFile = NULL;
-	int containDecimal = false;
-
-	char temp_Str[256];
-	memset(temp_Str, '\0', 256);
-	char temp_Param[20];
-	memset(temp_Param, '\0', 20);
-	int noOfParam = inputParamCount - 1;
-	std::string ModuleName;
-	bool *indparam = new bool[inputParamCount];
-	memset(indparam, false, inputParamCount);
-
-	ModuleName.append(pConnect->CurrentCatalog);
-	ModuleName.append(".");
-	ModuleName.append(pConnect->CurrentSchema);
-	ModuleName.append(".");
-	ModuleName.append(MFCKEY);
-	ModuleName.append(resMD5);
-
-	std::string ModCachfilename;
-	ModCachfilename.append(srvrGlobal->compiledModuleLocation);
-	ModCachfilename.append("/");
-	ModCachfilename.append(ModuleName);
-	ModCachfilename.append(".sql");
-
-	// Open the module file
-	ModuleCachingFile = fopen(ModCachfilename.c_str(),"wt");
-
-	fprintf(ModuleCachingFile,"#if(0)\n%s \n#endif \n\n", inputsqlString);
-
-	fprintf(ModuleCachingFile,"# include<stdio.h>\n\n");
-	fprintf(ModuleCachingFile,"EXEC SQL MODULE %s NAMES ARE ISO88591;\n",ModuleName.c_str());
-	fprintf(ModuleCachingFile,"int main ()\n");
-	fprintf(ModuleCachingFile,"{\n");
-	fprintf(ModuleCachingFile," EXEC SQL BEGIN DECLARE SECTION;\n");
-
-	//Declare variables for every input
-
-	for (int pcount = 0; pcount < inputParamCount; pcount++)
-	{
-		switch(inputDescInfo[pcount].DataType)
-		{
-		case SQLTYPECODE_CHAR:
-			fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-			if(inputDescInfo[pcount].Nullable)
-			{
-				indparam[pcount] = true;
-				fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-			}
-			break;
-
-		case SQLTYPECODE_VARCHAR:
-			if (inputDescInfo[pcount].Length >= 255)
-			{
-				fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_VARCHAR_WITH_LENGTH:
-			if (inputDescInfo[pcount].Length >= 255)
-			{
-				fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_VARCHAR_LONG:
-			{
-				fprintf(ModuleCachingFile, "%s param%d[%d];\n",inputDescInfo[pcount].DataTypeString, pcount, (inputDescInfo[pcount].Length)+1);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_SMALLINT:
-			if (inputDescInfo[pcount].Precision == 0)
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_LARGEINT:
-			if (inputDescInfo[pcount].Precision == 0)
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-		case SQLTYPECODE_SMALLINT_UNSIGNED:
-			if (inputDescInfo[pcount].Precision == 0)
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-		case SQLTYPECODE_INTEGER:
-			if (inputDescInfo[pcount].Precision == 0)
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_INTEGER_UNSIGNED:
-			if (inputDescInfo[pcount].Precision == 0)
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			else
-			{
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-
-		case SQLTYPECODE_IEEE_FLOAT:
-			{
-				fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_IEEE_DOUBLE:
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_DATETIME:
-			switch (inputDescInfo[pcount].DateTimeCode)
-			{
-			case SQLDTCODE_DATE:					//1
-				{
-					fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-
-			case SQLDTCODE_TIME:					//2
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-
-				if (inputDescInfo[pcount].Precision == 0)
-				{
-					//ODBCPrecision = 8;
-				}
-				else
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-
-			case SQLDTCODE_TIMESTAMP:				//3
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Precision, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-
-				if (inputDescInfo[pcount].Precision == 0)
-				{
-					//ODBCPrecision = 19;
-				}
-				else
-				{
-					//ODBCPrecision = 20+Precision;
-				}
-				break;
-			default:
-				{
-					fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			}
-			break;
-		case SQLTYPECODE_DECIMAL_UNSIGNED:
-			{
-				containDecimal = true;
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Length,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-		case SQLTYPECODE_DECIMAL:
-			{
-				containDecimal = true;
-				fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].Length,inputDescInfo[pcount].Scale,pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-		case SQLTYPECODE_DECIMAL_LARGE_UNSIGNED: // Tandem extension
-			{
-				containDecimal = true;
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-		case SQLTYPECODE_DECIMAL_LARGE: // Tandem extension
-			{
-				containDecimal = true;
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		case SQLTYPECODE_INTERVAL:		// Interval will be sent in ANSIVARCHAR format
-			switch (inputDescInfo[pcount].DateTimeCode)
-			{
-			case SQLINTCODE_YEAR:
-
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_MONTH:
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_DAY:
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_HOUR:
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_MINUTE:
-				{
-					fprintf(ModuleCachingFile, "%s(%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_SECOND:
-				{
-					fprintf(ModuleCachingFile, "%s(%d,%d) param%d;\n",inputDescInfo[pcount].DataTypeString,inputDescInfo[pcount].IntLeadPrec,inputDescInfo[pcount].Precision,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_YEAR_MONTH:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL YEAR(%d) TO MONTH param%d;\n", inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_DAY_HOUR:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL DAY(%d) TO HOUR param%d;\n", inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			case SQLINTCODE_DAY_MINUTE:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL DAY(%d) TO MINUTE param%d;\n", inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-				}
-				break;
-			case SQLINTCODE_DAY_SECOND:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL DAY(%d) TO SECOND(%d) param%d;\n", inputDescInfo[pcount].IntLeadPrec,inputDescInfo[pcount].Precision,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-				}
-				break;
-			case SQLINTCODE_HOUR_MINUTE:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL HOUR(%d) TO MINUTE param%d;\n", inputDescInfo[pcount].IntLeadPrec,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-				}
-				break;
-			case SQLINTCODE_HOUR_SECOND:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL HOUR(%d) TO SECOND(%d) param%d;\n", inputDescInfo[pcount].IntLeadPrec,inputDescInfo[pcount].Precision,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-				}
-				break;
-			case SQLINTCODE_MINUTE_SECOND:
-				{
-					fprintf(ModuleCachingFile, "INTERVAL MINUTE(%d) TO SECOND(%d) param%d;\n", inputDescInfo[pcount].IntLeadPrec,inputDescInfo[pcount].Precision,pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			default:
-				{
-					fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-					if(inputDescInfo[pcount].Nullable)
-					{
-						indparam[pcount] = true;
-						fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-					}
-
-				}
-				break;
-			}
-			// Calculate the length based on Precision and IntLeadPrec
-			// The max. length is for Day to Fraction(6)
-			// Sign = 1
-			// Day = IntLeadPrec + 1 ( 1 for Blank space)
-			// Hour = 3 ( 2+1)
-			// Minute = 3 (2+1)
-			// Seconds = 3 (2+1)
-			// Fraction = Precision
-			break;
-		default:
-			{
-				fprintf(ModuleCachingFile, "%s param%d;\n",inputDescInfo[pcount].DataTypeString, pcount);
-				if(inputDescInfo[pcount].Nullable)
-				{
-					indparam[pcount] = true;
-					fprintf(ModuleCachingFile,"short param%d_ind = -1;\n",pcount);
-				}
-
-			}
-			break;
-
-		}
-	}
-
-	fprintf(ModuleCachingFile,"EXEC SQL END DECLARE SECTION  ;\n");
-
-	SRVR_CONNECT_HDL *connectHandle =(SRVR_CONNECT_HDL*)dialogueId;
-	std::list<std::string>::iterator iter;
-	for( iter = connectHandle->listOfCQDs.begin(); iter != connectHandle->listOfCQDs.end(); ++iter)
-	{
-		fprintf(ModuleCachingFile,"EXEC SQL %s;\n", iter->c_str());
-	}
-	if(strcmp(pConnect->CurrentSchema, "SEABASE") != 0 && strcmp(srvrGlobal->CurrentCatalog, "TRAFODION") != 0)
-	{
-		fprintf(ModuleCachingFile,"EXEC SQL DECLARE SCHEMA %s.%s ; \n",srvrGlobal->CurrentCatalog,srvrGlobal->CurrentSchema);
-		fprintf(ModuleCachingFile,"EXEC SQL SET SCHEMA %s.%s ; \n", srvrGlobal->CurrentCatalog,srvrGlobal->CurrentSchema);
-	}
-
-	std::string inputstring = inputsqlString;
-	std::string strParam = ":param";
-	std::string _inputstring = inputsqlString;
-
-	char* tempsqlstr = (char*)malloc(strlen(inputsqlString) +1);
-	memset(tempsqlstr, '\0', strlen(inputsqlString) +1);
-	strcpy(tempsqlstr, inputsqlString);
-	strToUpper(tempsqlstr);
-	char *saveptr=NULL;
-	char *sqlType = strtok_r(tempsqlstr," \t\n",&saveptr);
-	int pos = -1;
-	
-	// This is becuase we need the indicator variables declared for Insert,Update & Delete kind of statements
-	while(inputstring.rfind("?",pos) != -1 && noOfParam >= 0) 
-	{
-		memset(temp_Param, '\0', 20);
-		pos = inputstring.rfind("?",pos);
-		sprintf(temp_Param, "%d", noOfParam);
-		strParam.append(temp_Param);
-		
-		if(indparam[noOfParam])
-		{
-			strParam.append(" :");
-			strParam.append("param");
-			strParam.append(temp_Param);
-			strParam.append("_ind ");
-		}
-		_inputstring.replace(inputstring.rfind("?",pos), 1, strParam);
-		strParam = ":param";
-		noOfParam--;
-		pos--;
-	}
-	inputstring = _inputstring;
-
-	delete [] indparam;
-
-	if(sqlType != NULL && strcmp(sqlType, "SELECT") == 0 )
-	{
-
-		fprintf(ModuleCachingFile,"EXEC SQL DECLARE MXSTMT01 CURSOR FOR %s ;\n",inputstring.c_str());
-	}
-	else
-	{
-		fprintf(ModuleCachingFile,"EXEC SQL %s ;\n",inputstring.c_str());
-	}
-
-	fprintf(ModuleCachingFile,"return 0; \n }\n");
-
-	fclose(ModuleCachingFile);
-
-
-	if( tempsqlstr != NULL )
-	{
-		free(tempsqlstr);
-		tempsqlstr = NULL;
-	}
-
-	std::string strModuleFileName = std::string(ModCachfilename).substr(0, std::string(ModCachfilename).find(".sql"));
-
-	std::string string_Command;
-	int exeret = -1;
-
-	string_Command.append("/usr/tandem/sqlmx/bin/mxsqlc ");
-	string_Command.append(strModuleFileName.c_str());
-	string_Command.append(".sql -m ");
-	string_Command.append(strModuleFileName.c_str());
-	string_Command.append(".mdf -t 1234567890 -a -o");
-	#ifdef _LP64
-		string_Command.append(" -U 64");
-   /*  #else
-		string_Command.append(" -U 32");
-    */
-	#endif
-
-	//Solution 10-090915-4598 -- start
-	string_Command.append(" > ");
-	string_Command.append(strModuleFileName.c_str());
-	string_Command.append(".err 2>&1");
-	//Solution 10-090915-4598 -- end
-
-	// Workaround for Solution 10-121212-5698
-	// In system() the child process is unable to access the memory location where command string is located
-	// 1) explicitly allocated memory on heap
-	// 2) copy the command string to newly allocated heap memory
-	// 3) pass that string to system()
-	//int exeret = system(string_Command.c_str());
-
-	char* temp_cmd = (char*)malloc(string_Command.length() + 1);
-	if( temp_cmd != NULL)
-	{
-		memset(temp_cmd, '\0', string_Command.length() +1 );
-		strncpy(temp_cmd, string_Command.c_str(), string_Command.length() );
-		exeret = system(temp_cmd);
-		free(temp_cmd);
-		temp_cmd = NULL;
-	}
-		
-	if(exeret == 0 && containDecimal == true)
-	{
-		std::string string_ReplaceDecimal;
-		string_ReplaceDecimal.append("/bin/sed -e 's/LSDECIMAL/DECIMAL/g' ");
-		string_ReplaceDecimal.append(strModuleFileName);
-		string_ReplaceDecimal.append(".mdf > ");
-		string_ReplaceDecimal.append(strModuleFileName);
-		string_ReplaceDecimal.append(".mdfc");
-
-		// Workaround for Solution 10-121212-5698
-		//exeret = system(string_ReplaceDecimal.c_str());
-		char* temp_cmd = (char*)malloc(string_ReplaceDecimal.length() + 1);
-		if(temp_cmd != NULL)
-		{
-			memset(temp_cmd, '\0', string_ReplaceDecimal.length() +1 );
-			strncpy(temp_cmd, string_ReplaceDecimal.c_str(), string_ReplaceDecimal.length() );
-			exeret = system(temp_cmd);
-			free(temp_cmd);
-			temp_cmd = NULL;
-		}
-
-		if(exeret == 0)
-		{
-			string_ReplaceDecimal.erase();
-			string_ReplaceDecimal.append("mv -f ");
-			string_ReplaceDecimal.append(strModuleFileName);
-			string_ReplaceDecimal.append(".mdfc ");
-			string_ReplaceDecimal.append(strModuleFileName);
-			string_ReplaceDecimal.append(".mdf");
-			// Workaround for Solution 10-121212-5698
-			//exeret = system(string_ReplaceDecimal.c_str());
-			char* temp_cmd = (char*)malloc(string_ReplaceDecimal.length() + 1);
-			if(temp_cmd != NULL)
-			{
-				memset(temp_cmd, '\0', string_ReplaceDecimal.length() +1 );
-				strncpy(temp_cmd, string_ReplaceDecimal.c_str(), string_ReplaceDecimal.length() );
-				exeret = system(temp_cmd);
-				free(temp_cmd);
-				temp_cmd = NULL;
-			}
-		}
-	}
-
-	std::string string_Script;
-	if(exeret == 0)
-	{
-		string_Script.append("/G/SYSTEM/SYSTEM/mxcmp -g moduleLocal=");
-		string_Script.append(srvrGlobal->compiledModuleLocation);
-		string_Script.append(" ");
-		string_Script.append(strModuleFileName);
-		string_Script.append(".mdf");
-		//Solution 10-090915-4598 -- start
-		string_Script.append(" > ");
-		string_Script.append(strModuleFileName);
-		string_Script.append(".err 2>&1");
-		//Solution 10-090915-4598 -- end
-
-		// Workaround for Solution 10-121212-5698
-		//exeret = system(string_Script.c_str());
-		char* temp_cmd = (char*)malloc(string_Script.length() + 1);
-		if(temp_cmd != NULL)
-		{
-			memset(temp_cmd, '\0', string_Script.length() +1 );
-			strncpy(temp_cmd, string_Script.c_str(), string_Script.length() );
-			exeret = system(temp_cmd);
-			free(temp_cmd);
-			temp_cmd = NULL;
-		}
-	}
-
-	std::string string_Script2;
-	if(exeret == 0)
-	{
-		string_Script2.append("rm -f ");
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".lck ");
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".c ");
-		/*		string_Script2.append(strModuleFileName);
-		string_Script2.append(".lst ");*/
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".dep ");
-			//Solution 10-090915-4598 -- start
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".err ");
-
-		// Workaround for Solution 10-121212-5698
-		//exeret = system(string_Script2.c_str());
-		char* temp_cmd = (char*)malloc(string_Script2.length() + 1);
-		if(temp_cmd != NULL)
-		{
-			memset(temp_cmd, '\0', string_Script2.length() +1 );
-			strncpy(temp_cmd, string_Script2.c_str(), string_Script2.length() );
-			exeret = system(temp_cmd);
-			free(temp_cmd);
-			temp_cmd = NULL;
-		}
-	}
-	else
-	{
-		string_Script2.append("rm -f ");
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".c ");
-
-		/* string_Script2.append(strModuleFileName);
-		   string_Script2.append(".lst ");
-		*/
-		string_Script2.append(strModuleFileName);
-		string_Script2.append(".dep ");
-		/* string_Script2.append(strModuleFileName);
-		string_Script2.append(".sql");
-		*/
-		
-		// Workaround for Solution 10-121212-5698
-		//exeret = system(string_Script2.c_str());
-		char* temp_cmd = (char*)malloc(string_Script2.length() + 1);
-		if(temp_cmd != NULL)
-		{
-			memset(temp_cmd, '\0', string_Script2.length() +1 );
-			strncpy(temp_cmd, string_Script2.c_str(), string_Script2.length() );
-			exeret = system(temp_cmd);
-			free(temp_cmd);
-			temp_cmd = NULL;
-		}
-	}
-}
-
 SQLRETURN COMMIT_ROWSET(long dialogueId, bool& bSQLMessageSet, odbc_SQLSvc_SQLError* SQLError, Int32 currentRowCount)
 {
     SQLRETURN retcode;
diff --git a/core/conn/jdbc_type2/native/SqlInterface.h b/core/conn/jdbc_type2/native/SqlInterface.h
index 857cfcf..b543ea0 100644
--- a/core/conn/jdbc_type2/native/SqlInterface.h
+++ b/core/conn/jdbc_type2/native/SqlInterface.h
@@ -62,8 +62,6 @@ extern SQLRETURN CANCEL(SRVR_STMT_HDL *pSrvrStmt);
 
 extern SQLRETURN CLEARDIAGNOSTICS(SRVR_STMT_HDL *pSrvrStmt);
 
-extern SQLRETURN PREPARE_FROM_MODULE(SRVR_STMT_HDL* pSrvrStmt);
-
 extern SQLRETURN ALLOCSQLMXHDLS(SRVR_STMT_HDL *pSrvrStmt);
 
 extern SQLRETURN ALLOCSQLMXHDLS_SPJRS(SRVR_STMT_HDL *pSrvrStmt, SQLSTMT_ID *callpStmt, const char *RSstmtName);
@@ -84,47 +82,4 @@ SQLRETURN _SQL_WaitCloseOnErr (SRVR_STMT_HDL *pSrvrStmt, long int *retcode );
 
 SQLRETURN _SQL_Wait (SRVR_STMT_HDL *pSrvrStmt, long int *retcode );
 
-extern SQLRETURN PREPAREFORMFC(SRVR_STMT_HDL* pSrvrStmt); // New method for MFC - PREPARE + createModule
-
-
-//MFC  New structure and methods to get datatypes from descriptors
-typedef struct InputDescInfo {
-	int CountPosition;
-	long DataType;
-	char DataTypeString[50];
-	long Length;
-	long DateTimeCode;
-	long Precision;
-	long SQLCharset;
-	long ODBCPrecision;
-	long ODBCDataType;
-	long Scale;
-	long Nullable;
-	long IntLeadPrec;
-
-	void setData(int countPosition, long dataType, long length, long scale,long Nullable,
-		long dateTimeCode, long precision,long IntLeadPrec, long sQLCharset, SRVR_GLOBAL_Def *srvrGlobal);
-
-
-
-
-	InputDescInfo();
-
-
-	~InputDescInfo();
-
-	InputDescInfo(const InputDescInfo &rval);
-
-
-	void operator = (const InputDescInfo &rval);
-
-};
-
-SQLRETURN BuildSQLDesc2ForModFile(SQLDESC_ID pDesc,long numEntries,InputDescInfo *&pInputDescInfo);
-
-SQLRETURN BuildSQLDesc(SRVR_STMT_HDL*pSrvrStmt, SRVR_STMT_HDL::DESC_TYPE descType,InputDescInfo *pInputDescInfo);
-void CreateModulePlan(long inputParamCount, InputDescInfo *inputDescInfo, char *inputsqlString,long dialogueId,const char *resMD5);
-
-
-
 #endif
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 8db4032..f463a0d 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -485,58 +485,6 @@ SRVR_STMT_HDL *createSrvrStmt(long dialogueId,
     FUNCTION_RETURN_PTR(pSrvrStmt,("sqlcode=%s",CliDebugSqlError(*sqlcode)));
 }
 
-
-SRVR_STMT_HDL *createSrvrStmtForMFC(
-                                    long dialogueId,
-                                    const char *stmtLabel,
-                                    long    *sqlcode,
-                                    const char *moduleName,
-                                    long moduleVersion,
-                                    long long moduleTimestamp,
-                                    short   sqlStmtType,
-                                    BOOL    useDefaultDesc)
-{
-    FUNCTION_ENTRY("createSrvrStmt",(""));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  dialogueId=%ld, stmtLabel=%s",
-        dialogueId,
-        DebugString(stmtLabel)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  sqlcode=0x%08x",
-        sqlcode));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  moduleName=%s",
-        DebugString(moduleName)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  moduleVersion=%ld, moduleTimestamp=%s",
-        moduleVersion,
-        DebugTimestampStr(moduleTimestamp)));
-    DEBUG_OUT(DEBUG_LEVEL_ENTRY,("  sqlStmtType=%s, useDefaultDesc=%d",
-        CliDebugSqlStatementType(sqlStmtType),
-        useDefaultDesc));
-
-    SQLRETURN rc;
-    SRVR_CONNECT_HDL *pConnect;
-    SRVR_STMT_HDL *pSrvrStmt;
-
-    if (dialogueId == 0)
-    {
-        *sqlcode = DIALOGUE_ID_NULL_ERROR;
-        FUNCTION_RETURN_PTR(NULL,("sqlcode=%s",CliDebugSqlError(*sqlcode)));
-    }
-    pConnect = (SRVR_CONNECT_HDL *)dialogueId;
-    rc = pConnect->switchContext(sqlcode);
-    switch (rc)
-    {
-    case SQL_SUCCESS:
-    case SQL_SUCCESS_WITH_INFO:
-        break;
-    default:
-        FUNCTION_RETURN_PTR(NULL,("sqlcode=%s",CliDebugSqlError(*sqlcode)));
-    }
-
-    pSrvrStmt = pConnect->createSrvrStmtForMFC(stmtLabel, sqlcode, moduleName, moduleVersion, moduleTimestamp,
-        sqlStmtType, useDefaultDesc);
-    FUNCTION_RETURN_PTR(pSrvrStmt,("sqlcode=%s",CliDebugSqlError(*sqlcode)));
-}
-
-
 SRVR_STMT_HDL *createSpjrsSrvrStmt(SRVR_STMT_HDL *callpSrvrStmt,
                                    long dialogueId,
                                    const char *stmtLabel,
@@ -1099,9 +1047,9 @@ short do_ExecSMD(
     long                sqlcode;
     short               holdability;
     long                queryTimeout;
-    odbc_SQLSvc_SQLError ModuleError;
+    odbc_SQLSvc_SQLError sqlError;
     char *odbcAppVersion = "3";
-    CLEAR_ERROR(ModuleError);
+    CLEAR_ERROR(sqlError);
 
     char catalogNmNoEsc[MAX_ANSI_NAME_LEN+1];
     char schemaNmNoEsc[MAX_ANSI_NAME_LEN+1];
@@ -1708,17 +1656,17 @@ tableNm, tableNmNoEsc)) && !metadataId)
             }
     if (pSrvrStmt == NULL)
     {
-        executeException->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLError_exn_;
-        kdsCreateSQLErrorException(&ModuleError, 1);
-        kdsCopySQLErrorException(&ModuleError, SQLSVC_EXCEPTION_READING_FROM_MODULE_FAILED, sqlcode,
+        executeException->exception_nr = odbc_SQLSvc_Prepare_SQLError_exn_;
+        kdsCreateSQLErrorException(&sqlError, 1);
+        kdsCopySQLErrorException(&sqlError, SQLSVC_EXCEPTION_PREPARE_FAILED, sqlcode,
             "HY000");
-        executeException->u.SQLError.errorList._length = ModuleError.errorList._length;
-        executeException->u.SQLError.errorList._buffer = ModuleError.errorList._buffer;
+        executeException->u.SQLError.errorList._length = sqlError.errorList._length;
+        executeException->u.SQLError.errorList._buffer = sqlError.errorList._buffer;
         FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
     }
     //make pSrvrStmt->Prepare() happy
     sqlString->dataValue._length=strlen((const char*)sqlString->dataValue._buffer);
-    rc = pSrvrStmt->Prepare(sqlString, sqlStmtType, holdability, queryTimeout,false);
+    rc = pSrvrStmt->Prepare(sqlString, sqlStmtType, holdability, queryTimeout);
     if (rc == SQL_ERROR)
     {
         executeException->exception_nr = odbc_SQLSvc_ExecuteN_SQLError_exn_;
@@ -2014,251 +1962,6 @@ short executeAndFetchSMDQuery(
     FUNCTION_RETURN_NUMERIC(CEE_SUCCESS,("CEE_SUCCESS"));
 }
 
-short do_ExecFetchAppend(
-                         /* In    */ void *objtag_
-                         , /* In    */ const CEE_handle_def *call_id_
-                         , /* Out   */ ExceptionStruct *executeException
-                         , /* Out   */ ERROR_DESC_LIST_def *sqlWarning
-                         , /* In    */ long dialogueId
-                         , /* In    */ const char *stmtLabel
-                         , /* In    */ short sqlStmtType
-                         , /* In    */ char *tableParam[]
-, /* In    */ const char *inputParam[]
-, /* Out   */ SQLItemDescList_def *outputDesc
-, /* Out   */ long *rowsAffected
-, /* Out   */ SQLValueList_def *outputValueList
-, /* Out   */ long *stmtId
-)
-{
-    FUNCTION_ENTRY("do_ExecFetchAppend",("objtag_=%ld, call_id_=0x%08x, executeException=0x%08x, sqlWarning=0x%08x, dialogueId=%ld, stmtLabel=%s, sqlStmtType=%s, tableParam=0x%08x, inputParam=0x%08x, outputDesc=0x%08x, stmtId=0x%08x",
-        objtag_,
-        call_id_,
-        executeException,
-        sqlWarning,
-        dialogueId,
-        DebugString(stmtLabel),
-        CliDebugSqlStatementType(sqlStmtType),
-        tableParam,
-        inputParam,
-        outputDesc,
-        stmtId));
-
-    SRVR_STMT_HDL       *pSrvrStmt;
-    SQLItemDesc_def     *SQLItemDesc;
-    SMD_QUERY_TABLE     *smdQueryTable;     // Linux port - Commenting for now
-    unsigned long       curParamNo;
-    //long              allocLength;
-    int             allocLength;
-    long                retcode;
-    SQLRETURN           rc;
-    short               indValue;
-    BOOL                tableParamDone;
-    unsigned long       index;
-    long                sqlcode;
-    odbc_SQLSvc_SQLError ModuleError;
-    CLEAR_ERROR(ModuleError);
-
-    SQLValueList_def    tempOutputValueList;    // temp buffer for combined data
-    CLEAR_LIST(tempOutputValueList);
-
-    long                totalLength=0;
-
-    // Setup module filenames for MX metadata
-    pSrvrStmt = createSrvrStmt(dialogueId,
-        stmtLabel,
-        &sqlcode,
-        NULL,
-        SQLCLI_ODBC_MODULE_VERSION,
-        1234567890,
-        sqlStmtType,
-        false,true);
-
-    if (pSrvrStmt == NULL){
-        executeException->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLError_exn_;
-        kdsCreateSQLErrorException(&ModuleError, 1);
-        kdsCopySQLErrorException(&ModuleError, SQLSVC_EXCEPTION_READING_FROM_MODULE_FAILED, sqlcode,
-            "HY000");
-        executeException->u.SQLError.errorList._length = ModuleError.errorList._length;
-        executeException->u.SQLError.errorList._buffer = ModuleError.errorList._buffer;
-        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
-    }
-
-    rc = pSrvrStmt->PrepareFromModule(INTERNAL_STMT);
-    *stmtId = (long)pSrvrStmt;
-    if (rc == SQL_ERROR)
-    {
-        executeException->exception_nr = odbc_SQLSvc_ExecuteN_SQLError_exn_;
-        executeException->u.SQLError.errorList._length = pSrvrStmt->sqlError.errorList._length;
-        executeException->u.SQLError.errorList._buffer = pSrvrStmt->sqlError.errorList._buffer;
-        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
-    }
-
-#ifndef _FASTPATH
-    if ((rc = AllocAssignValueBuffer(&pSrvrStmt->inputDescList,
-        &pSrvrStmt->inputValueList, pSrvrStmt->inputDescVarBufferLen, 1,
-        pSrvrStmt->inputValueVarBuffer)) != SQL_SUCCESS)
-    {
-        executeException->exception_nr = odbc_SQLSvc_ExecuteN_ParamError_exn_;
-        executeException->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_BUFFER_ALLOC_FAILED;
-        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
-    }
-#endif
-    pSrvrStmt->InternalStmtClose(SQL_CLOSE);
-    outputDesc->_length = pSrvrStmt->outputDescList._length;
-    outputDesc->_buffer = pSrvrStmt->outputDescList._buffer;
-
-#ifdef _FASTPATH
-
-    SRVR_DESC_HDL   *IPD;
-    IPD = pSrvrStmt->IPD;
-    BYTE    *dataPtr;
-    BYTE    *indPtr;
-    long    dataType;
-
-    // Populate the prepared module statement with the tableParam and inputParam lists
-    for (curParamNo = 0, index = 0,  tableParamDone = FALSE;
-        curParamNo < pSrvrStmt->inputDescList._length ; curParamNo++, index++)
-    {
-        dataPtr = IPD[curParamNo].varPtr;
-        indPtr = IPD[curParamNo].indPtr;
-        dataType = IPD[curParamNo].dataType;
-        SQLItemDesc = (SQLItemDesc_def *)pSrvrStmt->inputDescList._buffer + curParamNo;
-        getMemoryAllocInfo(SQLItemDesc->dataType, SQLItemDesc->SQLCharset, SQLItemDesc->maxLen, SQLItemDesc->vc_ind_length, 0,
-            NULL, &allocLength, NULL);
-        if (! tableParamDone)
-        {
-            if (tableParam[index] == NULL)
-            {
-                tableParamDone = TRUE;
-                index = 0;
-            }
-            else
-            {
-                retcode = setParamValue(dataType, dataPtr, indPtr, allocLength, tableParam[index]);
-                DEBUG_OUT(DEBUG_LEVEL_METADATA,("tableParam[%d] = %s ",index,tableParam[index]));
-            }
-        }
-        if (tableParamDone)
-        {
-            retcode = setParamValue(dataType, dataPtr, indPtr, allocLength, inputParam[index]);
-            DEBUG_OUT(DEBUG_LEVEL_METADATA,("inputParam[%d] = %s ",index,inputParam[index]));
-        }
-        if (retcode != 0)
-            FUNCTION_RETURN_NUMERIC((short) retcode,(NULL));
-    }
-#else
-    for (curParamNo = 0, index = 0, tableParamDone = FALSE, pSrvrStmt->inputValueList._length = 0;
-        curParamNo < pSrvrStmt->inputDescList._length ; curParamNo++, index++)
-    {
-        SQLItemDesc = (SQLItemDesc_def *)pSrvrStmt->inputDescList._buffer + curParamNo;
-        getMemoryAllocInfo(SQLItemDesc->dataType, SQLItemDesc->SQLCharset, SQLItemDesc->maxLen, SQLItemDesc->vc_ind_length, 0,
-            NULL, &allocLength, NULL);
-        if (! tableParamDone)
-        {
-            if (tableParam[index] == NULL)
-            {
-                tableParamDone = TRUE;
-                index = 0;
-            }
-            else
-            {
-                retcode = kdsCopyToSMDSQLValueSeq(&pSrvrStmt->inputValueList,
-                    SQLItemDesc->dataType, 0, tableParam[index], allocLength, SQLItemDesc->ODBCCharset);
-            }
-        }
-        if (tableParamDone)
-        {
-            if  (inputParam[index] == NULL)
-                indValue = -1;
-            else
-                indValue = 0;
-            retcode = kdsCopyToSMDSQLValueSeq(&pSrvrStmt->inputValueList,
-                SQLItemDesc->dataType, indValue, inputParam[index], allocLength, SQLItemDesc->ODBCCharset);
-        }
-        if (retcode != 0)
-            FUNCTION_RETURN_NUMERIC((short) retcode,(NULL));
-    }
-#endif
-    executeException->exception_nr = 0;
-
-    // sqlStmtType has value of types like TYPE_SELECT, TYPE_DELETE etc.
-    odbc_SQLSvc_ExecuteN_sme_(objtag_, call_id_, executeException, dialogueId, *stmtId,
-        (char *)stmtLabel,
-        sqlStmtType, 1, &pSrvrStmt->inputValueList, SQL_ASYNC_ENABLE_OFF, 0,
-        &pSrvrStmt->outputValueList, sqlWarning);
-
-    if (executeException->exception_nr != CEE_SUCCESS) {
-        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
-    }
-
-    if ((pSrvrStmt = getSrvrStmt(dialogueId, *stmtId, &sqlcode)) == NULL)
-    {
-        executeException->exception_nr = odbc_SQLSvc_FetchN_SQLInvalidHandle_exn_;
-        executeException->u.SQLInvalidHandle.sqlcode = sqlcode;
-        FUNCTION_RETURN_NUMERIC(-1, ("getSrvrStmt() Failed"));
-    }
-
-    do
-    {
-        rc = pSrvrStmt->Fetch(SQL_MAX_COLUMNS_IN_SELECT, SQL_ASYNC_ENABLE_OFF, 0);
-
-        switch (rc)
-        {
-        case SQL_SUCCESS:
-        case SQL_SUCCESS_WITH_INFO:
-            appendOutputValueList(outputValueList,&pSrvrStmt->outputValueList,false);
-
-            if (pSrvrStmt->outputValueList._length) *rowsAffected += pSrvrStmt->rowsAffected;
-            else *rowsAffected = pSrvrStmt->rowsAffected;
-
-            executeException->exception_nr = 0;
-
-            // Save off any warnings
-            if (pSrvrStmt->sqlWarning._length > 0)
-            {
-                sqlWarning->_length = pSrvrStmt->sqlWarning._length;
-                sqlWarning->_buffer = pSrvrStmt->sqlWarning._buffer;
-            }
-            break;
-        case SQL_STILL_EXECUTING:
-            executeException->exception_nr = odbc_SQLSvc_FetchN_SQLStillExecuting_exn_;
-            break;
-        case SQL_INVALID_HANDLE:
-            executeException->exception_nr = odbc_SQLSvc_FetchN_SQLInvalidHandle_exn_;
-            break;
-        case SQL_NO_DATA_FOUND:
-            executeException->exception_nr = odbc_SQLSvc_FetchN_SQLNoDataFound_exn_;
-            break;
-        case SQL_ERROR:
-            ERROR_DESC_def *error_desc_def;
-            error_desc_def = pSrvrStmt->sqlError.errorList._buffer;
-            if (pSrvrStmt->sqlError.errorList._length != 0 &&
-                (error_desc_def->sqlcode == -8007 || error_desc_def->sqlcode == -8007))
-            {
-                executeException->exception_nr = odbc_SQLSvc_FetchN_SQLQueryCancelled_exn_;
-                executeException->u.SQLQueryCancelled.sqlcode = error_desc_def->sqlcode;
-            }
-            else
-            {
-                executeException->exception_nr = odbc_SQLSvc_FetchN_SQLError_exn_;
-                executeException->u.SQLError.errorList._length = pSrvrStmt->sqlError.errorList._length;
-                executeException->u.SQLError.errorList._buffer = pSrvrStmt->sqlError.errorList._buffer;
-            }
-            break;
-        case PROGRAM_ERROR:
-            executeException->exception_nr = odbc_SQLSvc_FetchN_ParamError_exn_;
-            executeException->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_FETCH_FAILED;
-        default:
-            break;
-        }
-
-        // Loop until we have no more rows
-    } while (((rc==SQL_SUCCESS) || (rc==SQL_SUCCESS_WITH_INFO)) &&
-        (pSrvrStmt->rowsAffected==SQL_MAX_COLUMNS_IN_SELECT));
-
-    FUNCTION_RETURN_NUMERIC(0,(NULL));
-}
-
 BOOL nullRequired(long charSet)
 {
     FUNCTION_ENTRY("nullRequired", ("charSet = %s", getCharsetEncoding(charSet)));
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.h b/core/conn/jdbc_type2/native/SrvrCommon.h
index fcfe205..906e362 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.h
+++ b/core/conn/jdbc_type2/native/SrvrCommon.h
@@ -30,9 +30,6 @@
 #include "CoreCommon.h"
 //#include "eventMsgs.h"
 
-#define MFCKEY  "T2MFC"  // MFC
-
-
 #define CLEAR_EXCEPTION(exception) { \
     exception.exception_nr = 0; \
     exception.exception_detail = 0; \
@@ -126,15 +123,6 @@ extern SRVR_STMT_HDL *createSrvrStmt(long dialogueId,
 									 Int32  resultSetIndex = 0,
 									 SQLSTMT_ID* callStmtId = NULL);
 
-extern SRVR_STMT_HDL *createSrvrStmtForMFC(long dialogueId,
-                                           const char *stmtLabel,
-                                           long *sqlcode = NULL,
-                                           const char *moduleName = NULL,
-                                           long moduleVersion = SQLCLI_ODBC_MODULE_VERSION,
-                                           long long moduleTimestamp = 0,
-                                           short sqlStmtType = TYPE_UNKNOWN,
-                                           BOOL useDefaultDesc = FALSE
-                                           );
 extern SRVR_STMT_HDL *createSpjrsSrvrStmt(SRVR_STMT_HDL *callpStmt,
                                           long dialogueId,
                                           const char *RSstmtLabel,
@@ -261,22 +249,6 @@ short do_ExecSMD(
 , /* Out   */ long *stmtId
 );
 
-extern short do_ExecFetchAppend(
-                                /* In    */ void * objtag_
-                                , /* In    */ const CEE_handle_def *call_id_
-                                , /* Out   */ ExceptionStruct *executeException
-                                , /* Out   */ ERROR_DESC_LIST_def *sqlWarning
-                                , /* In    */ long dialogueId
-                                , /* In    */ const char *stmtLabel
-                                , /* In    */ short sqlStmtType
-                                , /* In    */ char *tableParam[]
-, /* In    */ const char *inputParam[]
-, /* Out   */ SQLItemDescList_def *outputDesc
-, /* Out   */ long *rowsAffected
-, /* Out   */ SQLValueList_def *outputValueList
-, /* Out   */ long *stmtId
-);
-
 extern "C" void 
 GETMXCSWARNINGORERROR(
         /* In    */ Int32 sqlcode
diff --git a/core/conn/jdbc_type2/native/SrvrOthers.cpp b/core/conn/jdbc_type2/native/SrvrOthers.cpp
index 25b6065..828ee13 100644
--- a/core/conn/jdbc_type2/native/SrvrOthers.cpp
+++ b/core/conn/jdbc_type2/native/SrvrOthers.cpp
@@ -93,9 +93,7 @@ odbc_SQLSvc_Prepare_sme_(   void *               objtag_,           /* In   */
                          SQLItemDescList_def      *outputDesc,      /* Out  */
                          ERROR_DESC_LIST_def      *sqlWarning,      /* Out  */
                          long                     *stmtId,          /* Out  */
-                         long                 *inputParamOffset,     /* Out   */
-                         char                 *moduleName,
-                         bool isISUD)
+                         long                 *inputParamOffset)     /* Out   */
 
 {
     FUNCTION_ENTRY_LEVEL(DEBUG_LEVEL_STMT, "odbc_SQLSvc_Prepare_sme_",(""));
@@ -174,14 +172,7 @@ odbc_SQLSvc_Prepare_sme_(   void *               objtag_,           /* In   */
     if (rc==SQL_SUCCESS){
     //Start Soln no:10-091103-5969
         jboolean stmtType_ = getSqlStmtType(sqlString->dataValue._buffer);
-        if(stmtType_ == JNI_TRUE && batchSize > 0 || srvrGlobal->moduleCaching == 0)
-        {
-            rc = pSrvrStmt->Prepare(sqlString, stmtType, holdability, queryTimeout,isISUD);
-        }
-        else
-        {
-            rc = pSrvrStmt->PrepareforMFC(sqlString, stmtType, holdability, queryTimeout,isISUD);
-        }
+        rc = pSrvrStmt->Prepare(sqlString, stmtType, holdability, queryTimeout);
     //End Soln no:10-091103-5969
     }
 
@@ -1196,14 +1187,6 @@ odbc_SQLSvc_SetConnectionOption_sme_(
         // Set default schema to null
         pConnect->DefaultSchema[0] =  '\0';
         break;
-        // MFC option to set recompilation warnings on
-    case SQL_RECOMPILE_WARNING:
-        strcpy(sqlString, "CONTROL QUERY DEFAULT RECOMPILATION_WARNINGS 'ON'");
-        break;
-        // MFC support for BigNum
-    case SET_SESSION_INTERNAL_IO:
-        strcpy(sqlString, "SET SESSION DEFAULT internal_format_io 'on'");
-        break;
     default:
         exception_->exception_nr = odbc_SQLSvc_SetConnectionOption_ParamError_exn_;
         exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_INVALID_CONNECTION_OPTION;
@@ -1253,115 +1236,6 @@ odbc_SQLSvc_SetConnectionOption_sme_(
 
 /*
 * Synchronous method function prototype for
-* operation 'odbc_SQLSvc_PrepareFromModule'
-*/
-extern "C" void
-odbc_SQLSvc_PrepareFromModule_sme_(
-                                   /* In    */ void * objtag_
-                                   , /* In  */ const CEE_handle_def *call_id_
-                                   , /* Out   */ ExceptionStruct *exception_
-                                   , /* In  */ long dialogueId
-                                   , /* In  */ char *moduleName
-                                   , /* In  */ long moduleVersion
-                                   , /* In  */ long long moduleTimestamp
-                                   , /* In  */ char *stmtName
-                                   , /* In  */ short sqlStmtType
-                                   , /* In  */ long fetchSize
-                                   ,/* In   */ long batchSize
-                                   , /* In   */ long holdability
-                                   , /* Out   */ long *estimatedCost
-                                   , /* Out   */ SQLItemDescList_def *inputDesc
-                                   , /* Out   */ SQLItemDescList_def *outputDesc
-                                   , /* Out   */ ERROR_DESC_LIST_def *sqlWarning
-                                   , /* Out   */ long *stmtId
-                                   , /* Out   */ long *inputParamOffset
-                                   )
-{
-    FUNCTION_ENTRY("odbc_SQLSvc_PrepareFromModule_sme_",("... fetchSize=%ld, inputParamOffset=%ld",
-        fetchSize,
-        inputParamOffset));
-
-    SRVR_STMT_HDL *pSrvrStmt;
-    SQLRETURN rc;
-    ERROR_DESC_def error_desc;
-    long    sqlcode;
-
-    odbc_SQLSvc_SQLError ModuleError;
-    CLEAR_ERROR(ModuleError);
-
-    // Need to validate the stmtLabel
-    // Given a label find out the SRVR_STMT_HDL
-    if ((pSrvrStmt = createSrvrStmtForMFC(dialogueId, stmtName, &sqlcode, moduleName,
-        moduleVersion, moduleTimestamp, sqlStmtType, TRUE)) == NULL)
-    {
-        exception_->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLError_exn_;
-        kdsCreateSQLErrorException(&ModuleError, 1);
-        kdsCopySQLErrorException(&ModuleError, SQLSVC_EXCEPTION_READING_FROM_MODULE_FAILED, sqlcode,
-            "HY000");
-        exception_->u.SQLError.errorList._length = ModuleError.errorList._length;
-        exception_->u.SQLError.errorList._buffer = ModuleError.errorList._buffer;
-        FUNCTION_RETURN_VOID(("createSrvrStmt() Failed"));
-    }
-
-    // Setup the output descriptors using the fetch size
-    pSrvrStmt->holdability = holdability;
-    pSrvrStmt->resetFetchSize(fetchSize);
-
-    rc = pSrvrStmt->setMaxBatchSize(batchSize);
-
-    // Prepare the statement
-    if(rc == SQL_SUCCESS)
-    {
-        rc = pSrvrStmt->PrepareFromModule(EXTERNAL_STMT);
-    }
-
-    switch (rc)
-    {
-    case SQL_SUCCESS:
-    case SQL_SUCCESS_WITH_INFO:
-        exception_->exception_nr = 0;
-        // Copy all the output parameters
-        *estimatedCost = pSrvrStmt->estimatedCost;
-        inputDesc->_length = pSrvrStmt->inputDescList._length;
-        inputDesc->_buffer = pSrvrStmt->inputDescList._buffer;
-        outputDesc->_length = pSrvrStmt->outputDescList._length;
-        outputDesc->_buffer = pSrvrStmt->outputDescList._buffer;
-        sqlWarning->_length = pSrvrStmt->sqlWarning._length;
-        sqlWarning->_buffer = pSrvrStmt->sqlWarning._buffer;
-        *stmtId = (long)pSrvrStmt;
-        *inputParamOffset = pSrvrStmt->inputDescParamOffset;
-        break;
-    case SQL_STILL_EXECUTING:
-        exception_->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLStillExecuting_exn_;
-        break;
-    case ODBC_RG_ERROR:
-    case SQL_ERROR:
-        ERROR_DESC_def *error_desc_def;
-        error_desc_def = pSrvrStmt->sqlError.errorList._buffer;
-        if (pSrvrStmt->sqlError.errorList._length != 0 &&
-            (error_desc_def->sqlcode == -8007 || error_desc_def->sqlcode == -8007))
-        {
-            exception_->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLQueryCancelled_exn_;
-            exception_->u.SQLQueryCancelled.sqlcode = error_desc_def->sqlcode;
-        }
-        else
-        {
-            exception_->exception_nr = odbc_SQLSvc_PrepareFromModule_SQLError_exn_;
-            exception_->u.SQLError.errorList._length = pSrvrStmt->sqlError.errorList._length;
-            exception_->u.SQLError.errorList._buffer = pSrvrStmt->sqlError.errorList._buffer;
-        }
-        break;
-    case PROGRAM_ERROR:
-        exception_->exception_nr = odbc_SQLSvc_PrepareFromModule_ParamError_exn_;
-        exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_PREPARE_FAILED;
-    default:
-        break;
-    }
-    FUNCTION_RETURN_VOID((NULL));
-}
-
-/*
-* Synchronous method function prototype for
 * operation 'odbc_SQLSvc_ExecuteCall'
 */
 extern "C" void
diff --git a/core/conn/jdbc_type2/native/SrvrOthers.h b/core/conn/jdbc_type2/native/SrvrOthers.h
index e78e563..c416786 100644
--- a/core/conn/jdbc_type2/native/SrvrOthers.h
+++ b/core/conn/jdbc_type2/native/SrvrOthers.h
@@ -41,7 +41,6 @@
 #define odbc_SQLSvc_FetchN_SQLStillExecuting_exn_ 6
 #define odbc_SQLSvc_FetchN_SQLQueryCancelled_exn_ 7
 #define odbc_SQLSvc_FetchN_TransactionError_exn_ 8
-#define SQL_RECOMPILE_WARNING			113		// MFC - definition for recompilation warnings
 
 extern "C" void
 odbc_SQLSvc_FetchN_sme_(
@@ -120,10 +119,7 @@ odbc_SQLSvc_Prepare_sme_( 	void *               objtag_,			/* In	*/
 						 SQLItemDescList_def      *outputDesc,		/* Out  */
 						 ERROR_DESC_LIST_def      *sqlWarning,		/* Out  */
 						 long                     *stmtId,			/* Out  */
-						 long                 *inputParamOffset,	/* Out   */
-						 char                *moduleName,
-						 bool isISUD
-						 );
+						 long                 *inputParamOffset);    	/* Out   */
 
 
 /*
@@ -266,39 +262,6 @@ odbc_SQLSvc_SetConnectionOption_sme_(
 
 /*
 * Exception number constants for
-* operation 'odbc_SQLSvc_PrepareFromModule'
-*/
-#define odbc_SQLSvc_PrepareFromModule_ParamError_exn_ 1
-#define odbc_SQLSvc_PrepareFromModule_InvalidConnection_exn_ 2
-#define odbc_SQLSvc_PrepareFromModule_SQLError_exn_ 3
-#define odbc_SQLSvc_PrepareFromModule_SQLStillExecuting_exn_ 4
-#define odbc_SQLSvc_PrepareFromModule_SQLQueryCancelled_exn_ 5
-#define odbc_SQLSvc_PrepareFromModule_TransactionError_exn_ 6
-
-extern "C" void
-odbc_SQLSvc_PrepareFromModule_sme_(
-								   /* In	*/ void * objtag_
-								   , /* In	*/ const CEE_handle_def *call_id_
-								   , /* Out   */ ExceptionStruct *exception_
-								   , /* In	*/ long dialogueId
-								   , /* In	*/ char *moduleName
-								   , /* In	*/ long moduleVersion
-								   , /* In	*/ long long moduleTimestamp
-								   , /* In	*/ char *stmtName
-								   , /* In	*/ short sqlStmtType
-								   , /* In	*/ long fetchSize
-								   , /* In   */ long batchSize
-								   , /* In   */ long holdability
-								   , /* Out   */ long *estimatedCost
-								   , /* Out   */ SQLItemDescList_def *inputDesc
-								   , /* Out   */ SQLItemDescList_def *outputDesc
-								   , /* Out   */ ERROR_DESC_LIST_def *sqlWarning
-								   , /* Out   */ long *stmtId
-								   , /* Out   */ long *inputParamOffset
-								   );
-
-/*
-* Exception number constants for
 * operation 'odbc_SQLSvc_ExecuteCall'
 */
 #define odbc_SQLSvc_ExecuteCall_ParamError_exn_ 1
@@ -461,4 +424,3 @@ odbc_SQLSrvr_UpdateLob_sme_(
 //extern std::map<std::string, std::string> mapOfSQLToModuleFile;
 
 #endif // _SRVROTHERS_DEFINED
-# define SET_SESSION_INTERNAL_IO 197  //MFC support for BigNum
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/PreparedStatementManager.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/PreparedStatementManager.java
index 39648af..c67b1fb 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/PreparedStatementManager.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/PreparedStatementManager.java
@@ -329,8 +329,6 @@ class PreparedStatementManager extends SQLMXHandle {
 				lookupKey = lookupKey.concat(connect.schema_);			
 			lookupKey = lookupKey.concat(String.valueOf(connect.transactionIsolation_))
 					.concat(String.valueOf(resultSetHoldability));
-			if (connect.getMD5HashCode() != null) 
-				lookupKey = lookupKey.concat(connect.getMD5HashCode());
 //			lookupKey = sql;
 //			if (connect.catalog_ != null)
 //				lookupKey.concat(connect.catalog_);
@@ -403,8 +401,6 @@ class PreparedStatementManager extends SQLMXHandle {
 				lookupKey = lookupKey.concat(connect.schema_);
 			lookupKey = lookupKey.concat(String.valueOf(connect.transactionIsolation_))
 					.concat(String.valueOf(resultSetHoldability));
-			if (connect.getMD5HashCode() != null) 
-				lookupKey = lookupKey.concat(connect.getMD5HashCode());
 //			lookupKey = sql;
 //			if (connect.catalog_ != null)
 //				lookupKey.concat(connect.catalog_);
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXCallableStatement.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXCallableStatement.java
index d28fbc5..0208991 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXCallableStatement.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXCallableStatement.java
@@ -1550,32 +1550,8 @@ public int executeUpdate() throws SQLException {
         }
     }
 
-    void cpqPrepareCall(String server, long dialogueId, int txid,
-            boolean autoCommit, String moduleName, int moduleVersion,
-            long moduleTimestamp, String stmtName, int queryTimeout,
-            int holdability) {
-        if (JdbcDebugCfg.entryActive)
-        debug[methodId_cpqPrepareCall].methodEntry();
-        try {
-            /*
-             * RFE: Connection synchronization Connection object is now
-             * synchronized.
-             */
-            synchronized (connection_) {
-                // Call adding the current fetch size and select flag
-                cpqPrepareCall(server, dialogueId, txid, autoCommit,
-                        connection_.transactionMode_, moduleName,
-                        moduleVersion, moduleTimestamp, stmtName, queryTimeout,
-                        holdability, fetchSize_);
-            } // End sync
-        }finally {
-            if (JdbcDebugCfg.entryActive)
-            debug[methodId_cpqPrepareCall].methodExit();
-        }
-    }
-
     // Other methods
-protected void validateGetInvocation(int parameterIndex)
+    protected void validateGetInvocation(int parameterIndex)
     throws SQLException {
         if (JdbcDebugCfg.entryActive)
         debug[methodId_validateGetInvocation_I].methodEntry();
@@ -1719,13 +1695,6 @@ private native void executeCall(String server, long dialogueId, int txid,
             boolean autoCommit, int txnMode, long stmtId, int inputParamCount,
             Object inputParamValues, int queryTimeout, String iso88591Encoding);
 
-    // This method is used for internal support of SQLJ.
-    // Not used directly by SQLJ, so can be modified.
-    native void cpqPrepareCall(String server, long dialogueId, int txid,
-            boolean autoCommit, int txnMode, String moduleName,
-            int moduleVersion, long moduleTimestamp, String stmtName,
-            int queryTimeout, int holdability, int fetchSize);
-
     // fields
     boolean wasNull_;
     short returnResultSet_;
@@ -1813,19 +1782,18 @@ private static int methodId_execute = 78;
 private static int methodId_executeBatch = 79;
 private static int methodId_executeQuery = 80;
 private static int methodId_executeUpdate = 81;
-private static int methodId_cpqPrepareCall = 82;
-private static int methodId_validateGetInvocation_I = 83;
-private static int methodId_validateGetInvocation_L = 84;
-private static int methodId_validateSetInvocation = 85;
-private static int methodId_setExecuteCallOutputs = 86;
-private static int methodId_setByte = 87;
-private static int methodId_setBytes = 88;
-private static int methodId_setCharacterStream = 89;
-private static int methodId_SQLMXCallableStatement_LL = 90;
-private static int methodId_SQLMXCallableStatement_LLII = 91;
-private static int methodId_SQLMXCallableStatement_LLIII = 92;
-private static int methodId_SQLMXCallableStatement_LLIJL = 93;
-private static int totalMethodIds = 94;
+private static int methodId_validateGetInvocation_I = 82;
+private static int methodId_validateGetInvocation_L = 83;
+private static int methodId_validateSetInvocation = 84;
+private static int methodId_setExecuteCallOutputs = 85;
+private static int methodId_setByte = 86;
+private static int methodId_setBytes = 87;
+private static int methodId_setCharacterStream = 88;
+private static int methodId_SQLMXCallableStatement_LL = 89;
+private static int methodId_SQLMXCallableStatement_LLII = 90;
+private static int methodId_SQLMXCallableStatement_LLIII = 91;
+private static int methodId_SQLMXCallableStatement_LLIJL = 92;
+private static int totalMethodIds = 93;
 private static JdbcDebug[] debug;
 
     static {
@@ -1953,8 +1921,6 @@ private static JdbcDebug[] debug;
                     "executeQuery");
             debug[methodId_executeUpdate] = new JdbcDebug(className,
                     "executeUpdate");
-            debug[methodId_cpqPrepareCall] = new JdbcDebug(className,
-                    "cpqPrepareCall");
             debug[methodId_validateGetInvocation_I] = new JdbcDebug(className,
                     "validateGetInvocation[I]");
             debug[methodId_validateGetInvocation_L] = new JdbcDebug(className,
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXConnection.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXConnection.java
index 758a7b0..62739ef 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXConnection.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXConnection.java
@@ -862,24 +862,10 @@ public synchronized PreparedStatement prepareStatement(String sql)
             }
 */
 
-            // MFC - if modulecaching is on call cpqprepare directly
-            // Renamed the modulecaching property as enableMFC
-            if (this.t2props.getEnableMFC().equalsIgnoreCase("on") && this.t2props.getBatchBinding() ==0) {
-
-                synchronized (SQLMXConnection.lockForMFCPrep) {
-                    pstmt.cpqPrepareJNI(server_, getDialogueId(), getTxid(),
-                            autoCommit_, transactionMode_, "", moduleVersion_,
-                            moduleTimestamp_, pstmt.getStmtLabel_(),
-                            pstmt.isSelect_, pstmt.queryTimeout_,
-                            pstmt.resultSetHoldability_, batchBindingSize_,
-                            pstmt.fetchSize_, sql.trim(),getSqlStmtTypeForMFC(sql.trim()));
-                }
-            } else {
-                pstmt.prepare(server_, getDialogueId(), getTxid(), autoCommit_,
+            pstmt.prepare(server_, getDialogueId(), getTxid(), autoCommit_,
                         pstmt.getStmtLabel_(), pstmt.sql_.trim(), pstmt.isSelect_,
                         pstmt.queryTimeout_, pstmt.resultSetHoldability_,
                         batchBindingSize_, pstmt.fetchSize_);
-            }
 
             // value
 //			if (SQLMXConnection.getSqlStmtType(sql) != SQLMXConnection.TYPE_INSERT
@@ -1050,25 +1036,11 @@ public synchronized PreparedStatement prepareStatement(String sql,
             }
 */
 
-            // MFC - if modulecaching is on call cpqprepare directly
-            // Renamed the modulecaching property as enableMFC
-            if (this.t2props.getEnableMFC().equalsIgnoreCase("on") && this.t2props.getBatchBinding() ==0) {
-
-                synchronized (SQLMXConnection.lockForMFCPrep) {
-                    stmt.cpqPrepareJNI(server_, getDialogueId(), getTxid(),
-                            autoCommit_, transactionMode_, "", moduleVersion_,
-                            moduleTimestamp_, stmt.getStmtLabel_(),
-                            stmt.isSelect_, stmt.queryTimeout_,
-                            stmt.resultSetHoldability_, batchBindingSize_,
-                            stmt.fetchSize_, sql.trim(),getSqlStmtTypeForMFC(sql.trim()));
-                }
-            } else {
                 stmt.prepare(server_, getDialogueId(), getTxid(),
                         autoCommit_, stmt.getStmtLabel_(), stmt.sql_.trim(),
                         stmt.isSelect_, stmt.queryTimeout_,
                         stmt.resultSetHoldability_, batchBindingSize_,
                         stmt.fetchSize_);
-            }
 /*
             if (stmt.getSqlType() != SQLMXConnection.TYPE_INSERT
                     && stmt.getSqlType() != SQLMXConnection.TYPE_INSERT_PARAM) {
@@ -1172,25 +1144,11 @@ public synchronized PreparedStatement prepareStatement(String sql,
             }
 
 */
-            // MFC - if modulecaching is on call cpqprepare directly
-            // Renamed the modulecaching property as enableMFC
-            if (this.t2props.getEnableMFC().equalsIgnoreCase("on") && this.t2props.getBatchBinding() ==0) {
-
-                synchronized (SQLMXConnection.lockForMFCPrep) {
-                    stmt.cpqPrepareJNI(server_, getDialogueId(), getTxid(),
-                            autoCommit_, transactionMode_, "", moduleVersion_,
-                            moduleTimestamp_, stmt.getStmtLabel_(),
-                            stmt.isSelect_, stmt.queryTimeout_,
-                            stmt.resultSetHoldability_, batchBindingSize_,
-                            stmt.fetchSize_, sql.trim(),getSqlStmtTypeForMFC(sql.trim()));
-                }
-            } else {
                 stmt.prepare(server_, getDialogueId(), getTxid(),
                         autoCommit_, stmt.getStmtLabel_(), stmt.sql_.trim(),
                         stmt.isSelect_, stmt.queryTimeout_,
                         stmt.resultSetHoldability_, batchBindingSize_,
                         stmt.fetchSize_);
-            }
 /*
 
             if (stmt.getSqlType() != SQLMXConnection.TYPE_INSERT
@@ -1760,13 +1718,10 @@ private int mapTxnIsolation(int level) {
                             "ON")
                     || System.getProperty("cqdDoomUserTxn", "OFF")
                     .equalsIgnoreCase("ON");
-                    // MFC added two more parameters
-
                     connectInit(server_, getDialogueId(), catalog_, schema_,
                             mploc_, isReadOnly_, autoCommit_,
                             mapTxnIsolation(transactionIsolation_),
-                            loginTimeout_, queryTimeout_, enableMFC_,
-                            compiledModuleLocation_, blnCQD,
+                            loginTimeout_, queryTimeout_, blnCQD,
                             statisticsIntervalTime_, statisticsLimitTime_, statisticsType_, programStatisticsEnabled_, statisticsSqlPlanEnabled_
                     );
 
@@ -1940,31 +1895,6 @@ private int mapTxnIsolation(int level) {
                     }
                     setTxid_(0);
                 }
-                if (this.setOfCQDs.isEmpty() == false) {
-                    if (clearCQD1 == null && clearCQD2 == null
-                            && clearCQD3 == null) {
-                        clearSetOfCQDs(this.getDialogueId());
-                        clearCQD2 = this
-                        .prepareForResetCQDs("CONTROL TABLE * RESET");
-                        clearSetOfCQDs(this.getDialogueId());
-                        clearCQD3 = this
-                        .prepareForResetCQDs("CONTROL QUERY SHAPE CUT");
-                        clearSetOfCQDs(this.getDialogueId());
-                        clearCQD1 = this
-                        .prepareForResetCQDs("CONTROL QUERY DEFAULT * RESET");
-
-                    }
-                    if (clearCQD1 != null) {
-                        clearCQD1.execute();
-                        clearCQD2.execute();
-                        clearCQD3.execute();
-                    }
-                    //native call to clear native cqd list
-                    clearSetOfCQDs(this.getDialogueId());
-                    this.setOfCQDs.clear();
-                    //to reset all the CQDs required for T2 connection.
-                    connectInitialized_ = false;
-                }
                 pc_.logicalClose(sendEvents);
                 isClosed_ = true;
             } else {
@@ -2165,28 +2095,6 @@ private void initSetDefaults() throws SQLException {
         }
     }
 
-    synchronized PreparedStatement prepareForResetCQDs(String sql)
-    throws SQLException {
-        try {
-            SQLMXPreparedStatement pstmt;
-            clearWarnings();
-            if (isClosed_)
-            throw Messages.createSQLException(locale_,
-                    "invalid_connection", null);
-            connectInit();
-            gcStmts();
-            pstmt = new SQLMXPreparedStatement(this, sql);
-            pstmt.prepare(server_, getDialogueId(), getTxid(), autoCommit_,
-                    pstmt.getStmtLabel_(), pstmt.sql_.trim(), pstmt.isSelect_,
-                    pstmt.queryTimeout_, pstmt.resultSetHoldability_,
-                    batchBindingSize_, pstmt.fetchSize_);
-            return pstmt;
-        }finally {
-            if (JdbcDebugCfg.entryActive)
-            debug[methodId_prepareStatement_L].methodExit();
-        }
-    }
-
     // Log the JDBC SQL statement and the STMTID to the idMapFile if the
     // enableLog_ property is set.
     private void printIdMapEntry(SQLMXStatement stmt) {
@@ -2372,39 +2280,6 @@ public static boolean getSqlStmtType2(String str) {
         }
     }
 
-    boolean getSqlStmtTypeForMFC(String str) {
-        //
-        // Kludge to determin if the type of statement.
-        //
-        String tokens[] = str.split("[^a-zA-Z]+", 3);
-        boolean isISUD = false;
-        String str3 = "";
-
-        //
-        // If there are no separators (i.e. no spaces, {, =, etc.) in front of
-        // the
-        // first token, then the first token is the key word we are looking for.
-        // Else, the first token is an empty string (i.e. split thinks the first
-        // token is the empty string followed by a separator), and the second
-        // token is the key word we are looking for.
-        //
-        if (tokens[0].length() > 0) {
-            str3 = tokens[0].toUpperCase();
-        } else {
-            str3 = tokens[1].toUpperCase();
-        }
-
-        if (str3.equals("SELECT") || str3.equals("UPDATE")
-                || str3.equals("DELETE") || str3.equals("INSERT")) {
-            isISUD = true;
-        } else {
-            isISUD = false;
-
-        }
-        return isISUD;
-
-    }
-
     static short getSqlStmtType(String str) {
         //
         // Kludge to determin if the type of statement.
@@ -2478,7 +2353,6 @@ private native void setIsSpjRSFlag(long dialogueId, boolean isSpjrsOn);
 private native void connectInit(String server, long dialogueId,
             String catalog, String schema, String mploc, boolean isReadOnly, boolean autoCommit,
             int transactionIsolation, int loginTimeout, int queryTimeout,
-            String modulecaching, String compiledmodulelocation,
             boolean blnDoomUsrTxn,
             int statisticsIntervalTime_, int statisticsLimitTime_, String statisticsType_, String programStatisticsEnabled_, String statisticsSqlPlanEnabled_) throws SQLException;
 
@@ -2501,8 +2375,6 @@ private native int beginTransaction(String server, long dialogueId);
     static native String getCharsetEncoding(String server, long dialogueId,
             int charset, String encodingOverride) throws SQLException;
 
-    //native method to clear all the CQD's and Control statement in setOFCQD() function
-private native void clearSetOfCQDs(long dialogueId);
     native void setCharsetEncodingOverride(String server, long dialogueId,
             int charset, String encodingOverride) throws SQLException;
 
@@ -2552,28 +2424,6 @@ public PrintWriter getTracer() {
         return out_;
     }
 
-public String getMD5HashCode() {
-
-        MessageDigest md5;
-        String hashCode = null;
-        try {
-            md5 = MessageDigest.getInstance("MD5");
-            if (!setOfCQDs.isEmpty()) {
-                Iterator itr = setOfCQDs.iterator();
-                while (itr.hasNext()) {
-                    String s = (String) itr.next();
-                    md5.update(s.getBytes());
-                }
-                BigInteger hash = new BigInteger(1, md5.digest());
-                hashCode = hash.toString(16);
-            }
-        } catch (NoSuchAlgorithmException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        return hashCode;
-    }
-
 public void initConnectionProps(T2Properties info) {
 
         dsn_ = info.getDataSourceName();
@@ -2597,8 +2447,6 @@ public void initConnectionProps(T2Properties info) {
         batchBindingSize_ = info.getBatchBinding();
         connectionTimeout_ = 60;
         loginTimeout_ = info.getLoginTimeout();
-        enableMFC_ = info.getEnableMFC();
-        compiledModuleLocation_ = info.getCompiledModuleLocation();
         contBatchOnError_ = info.getContBatchOnError();
         iso88591EncodingOverride_ = info.getIso88591EncodingOverride();
 
@@ -2719,9 +2567,6 @@ public static final int SQL_SET_TRANSACTION_FLAG = 0x0001;
     int batchBindingSize_;
     String contBatchOnError_;
     boolean contBatchOnErrorval_;
-    String enableMFC_;
-    String compiledModuleLocation_;
-
     WeakReference<SQLMXConnection> pRef_;
     SQLMXDataSource ds_;
     SQLMXPooledConnection pc_;
@@ -2782,29 +2627,27 @@ private static int methodId_setSavepoint_L = 31;
 private static int methodId_setSavepoint_V = 32;
 private static int methodId_setTransactionIsolation = 33;
 private static int methodId_setTypeMap = 34;
-private static int methodId_cpqPrepareStatement = 35;
-private static int methodId_cpqPrepareCall = 36;
-private static int methodId_begintransaction = 37;
-private static int methodId_mapTxnIsolation = 38;
-private static int methodId_gcStmts = 39;
-private static int methodId_removeElement_L = 40;
-private static int methodId_removeElement_V = 41;
-private static int methodId_addElement = 42;
-private static int methodId_connectInit = 43;
-private static int methodId_reuse = 44;
-private static int methodId_updateConnectionReusability = 45;
-private static int methodId_getDataLocator = 46;
-private static int methodId_getPooledConnection = 47;
-private static int methodId_getProperties = 48;
-private static int methodId_SQLMXConnection_LLL = 49;
-private static int methodId_SQLMXConnection_LL_ds = 50;
-private static int methodId_SQLMXConnection_LL_pool = 51;
-private static int methodId_mapTxnMode = 52;
-private static int methodId_mapTxnModeToString = 53;
-private static int methodId_initSetDefaults = 54;
-private static int methodId_getCharsetEncodingCached = 55;
-private static int methodId_getSchema = 56;
-private static int totalMethodIds = 57;
+private static int methodId_begintransaction = 35;
+private static int methodId_mapTxnIsolation = 36;
+private static int methodId_gcStmts = 37;
+private static int methodId_removeElement_L = 38;
+private static int methodId_removeElement_V = 39;
+private static int methodId_addElement = 40;
+private static int methodId_connectInit = 41;
+private static int methodId_reuse = 42;
+private static int methodId_updateConnectionReusability = 43;
+private static int methodId_getDataLocator = 44;
+private static int methodId_getPooledConnection = 45;
+private static int methodId_getProperties = 46;
+private static int methodId_SQLMXConnection_LLL = 47;
+private static int methodId_SQLMXConnection_LL_ds = 48;
+private static int methodId_SQLMXConnection_LL_pool = 49;
+private static int methodId_mapTxnMode = 50;
+private static int methodId_mapTxnModeToString = 51;
+private static int methodId_initSetDefaults = 52;
+private static int methodId_getCharsetEncodingCached = 53;
+private static int methodId_getSchema = 54;
+private static int totalMethodIds = 55;
 private static JdbcDebug[] debug;
 
     static {
@@ -2869,10 +2712,6 @@ private static JdbcDebug[] debug;
             debug[methodId_setTransactionIsolation] = new JdbcDebug(className,
                     "setTransactionIsolation");
             debug[methodId_setTypeMap] = new JdbcDebug(className, "setTypeMap");
-            debug[methodId_cpqPrepareStatement] = new JdbcDebug(className,
-                    "cpqPrepareStatement");
-            debug[methodId_cpqPrepareCall] = new JdbcDebug(className,
-                    "cpqPrepareCall");
             debug[methodId_begintransaction] = new JdbcDebug(className,
                     "begintransaction");
             debug[methodId_mapTxnIsolation] = new JdbcDebug(className,
@@ -2914,15 +2753,10 @@ private static JdbcDebug[] debug;
     int dsTransactionMode_;
     String dsIso88591EncodingOverride_;
     boolean dsContBatchOnError_; // RFE: Batch update improvements
-    // MFC - std version and timestamp for the cached modules.
-    static final int moduleVersion_ = 12;//R3.0 changes
-    static final long moduleTimestamp_ = 1234567890;
-    static final Object lockForMFCPrep = new Object();
     static final HashMap<Long, Long> mapOfClosedDialogs = new HashMap<Long, Long>();
     static private long keyForMapCounter = 0;
 private long keyForMap;
 
-    Set setOfCQDs = new HashSet();
 private PrintWriter tracer;
     PreparedStatement clearCQD1;
     PreparedStatement clearCQD2;
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXParameterMetaData.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXParameterMetaData.java
index 320b5a2..03dbd27 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXParameterMetaData.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXParameterMetaData.java
@@ -132,23 +132,6 @@ public class SQLMXParameterMetaData implements java.sql.ParameterMetaData
 		}
 	}
  	
-	/* cpqGetCharacterName (extended) method added to allow SQLJ to           */
-	/* pull character data types from SQL/MX encoding info in the COLS table. */  
-	public String cpqGetCharacterSet(int param) throws SQLException
-	{
-		if (JdbcDebugCfg.entryActive) debug[methodId_cpqGetCharacterSet].methodEntry();
-		try
-		{
-			if ((param > inputDesc_.length) || (param <= 0))
-				throw Messages.createSQLException(connection_.locale_,"invalid_desc_index", null);
-			return inputDesc_[param-1].getCharacterSetName();
-		}
-		finally
-		{
-			if (JdbcDebugCfg.entryActive) debug[methodId_cpqGetCharacterSet].methodExit();
-		}
-	}
-
 	public int isNullable(int param) throws SQLException
 	{
 		if (JdbcDebugCfg.entryActive) debug[methodId_isNullable].methodEntry();
@@ -202,13 +185,12 @@ public class SQLMXParameterMetaData implements java.sql.ParameterMetaData
 	private static int methodId_getParameterMode		=  2;
 	private static int methodId_getParameterType		=  3;
 	private static int methodId_getParameterTypeName	=  4;
-	private static int methodId_getPrecision			=  5;
-	private static int methodId_getScale				=  6;
-	private static int methodId_cpqGetCharacterSet		=  7;
-	private static int methodId_isNullable				=  8;
-	private static int methodId_isSigned				=  9;
-	private static int methodId_SQLMXParameterMetaData	= 10;
-	private static int totalMethodIds					= 11;
+	private static int methodId_getPrecision		=  5;
+	private static int methodId_getScale			=  6;
+	private static int methodId_isNullable			=  7;
+	private static int methodId_isSigned			=  8;
+	private static int methodId_SQLMXParameterMetaData	= 9;
+	private static int totalMethodIds			= 10;
 	private static JdbcDebug[] debug;
 
 	static
@@ -224,7 +206,6 @@ public class SQLMXParameterMetaData implements java.sql.ParameterMetaData
 			debug[methodId_getParameterTypeName] = new JdbcDebug(className,"getParameterTypeName");
 			debug[methodId_getPrecision] = new JdbcDebug(className,"getPrecision");
 			debug[methodId_getScale] = new JdbcDebug(className,"getScale");
-			debug[methodId_cpqGetCharacterSet] = new JdbcDebug(className,"cpqGetCharacterSet");
 			debug[methodId_isNullable] = new JdbcDebug(className,"isNullable");
 			debug[methodId_isSigned] = new JdbcDebug(className,"isSigned");
 			debug[methodId_SQLMXParameterMetaData] = new JdbcDebug(className,"SQLMXParameterMetaData");
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXPreparedStatement.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXPreparedStatement.java
index b82390b..3bb992b 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXPreparedStatement.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXPreparedStatement.java
@@ -4671,9 +4671,6 @@ public class SQLMXPreparedStatement extends SQLMXStatement implements
 			if (paramRowCount_ > 0)
 				throw Messages.createSQLException(connection_.locale_,
 						"function_sequence_error", null);
-			if (isCQD) {
-				connection_.setOfCQDs.add(sql_);
-			}
 			checkIfAllParamsSet();
 		} finally {
 			if (JdbcDebugCfg.entryActive)
@@ -5107,34 +5104,6 @@ public class SQLMXPreparedStatement extends SQLMXStatement implements
 				debug[methodId_populateLobObjects].methodExit();
 		}
 	}
-//venu changed dialogueId from int to long for 64 bit
-	void cpqPrepare(String server, long dialogueId, int txid,
-			boolean autoCommit, String moduleName, int moduleVersion,
-			long moduleTimestamp, String stmtName, boolean isSelect,
-			int queryTimeout, int holdability) {
-		if (JdbcDebugCfg.entryActive)
-			debug[methodId_cpqPrepare].methodEntry();
-		if (JdbcDebugCfg.traceActive)
-			debug[methodId_cpqPrepare].methodParameters(server + ","
-					+ Long.toString(dialogueId) + ","
-					+ Long.toString(txid) + ","
-					+ Boolean.toString(autoCommit) + "," + moduleName + ","
-					+ Integer.toString(moduleVersion) + ","
-					+ Long.toString(moduleTimestamp) + "," + stmtName + ","
-					+ Boolean.toString(isSelect) + ","
-					+ Integer.toString(queryTimeout) + ","
-					+ Integer.toString(holdability));
-		try {
-			cpqPrepareJNI(server, dialogueId, txid, autoCommit,
-					connection_.transactionMode_, moduleName, moduleVersion,
-					moduleTimestamp, stmtName, isSelect, queryTimeout,
-					holdability, batchBindingSize_, fetchSize_, "",false);
-
-		} finally {
-			if (JdbcDebugCfg.entryActive)
-				debug[methodId_cpqPrepare].methodExit();
-		}
-	}
 
 	// Constructors with access specifier as "default"
 	SQLMXPreparedStatement(SQLMXConnection connection, String sql)
@@ -5191,12 +5160,6 @@ public class SQLMXPreparedStatement extends SQLMXStatement implements
 			String iso88591Encoding, SQLMXResultSet resultSet,
 			boolean contBatchOnError) throws SQLException;
 
-	native void cpqPrepareJNI(String server, long dialogueId, int txid,
-			boolean autoCommit, int txnMode, String moduleName,
-			int moduleVersion, long moduleTimestamp, String stmtName,
-			boolean isSelect, int queryTimeout, int holdability, int batchSize,
-			int fetchSize, String sql,boolean isISUD);
-	
 	private native void resetFetchSize(long dialogueId, long stmtId, int fetchSize);
 
 	// fields
@@ -5346,13 +5309,12 @@ public class SQLMXPreparedStatement extends SQLMXStatement implements
 	private static int methodId_reuse = 61;
 	private static int methodId_close = 62;
 	private static int methodId_populateLobObjects = 63;
-	private static int methodId_cpqPrepare = 65;
-	private static int methodId_SQLMXPreparedStatement_LLIII = 66;
-	private static int methodId_SQLMXPreparedStatement_LLIJLZI = 67;
-	private static int methodId_setFetchSize = 68;
-	private static int methodId_getFetchSize = 69;
+	private static int methodId_SQLMXPreparedStatement_LLIII = 65;
+	private static int methodId_SQLMXPreparedStatement_LLIJLZI = 66;
+	private static int methodId_setFetchSize = 67;
+	private static int methodId_getFetchSize = 68;
 	
-	private static int totalMethodIds = 70;
+	private static int totalMethodIds = 69;
 	
 	private static JdbcDebug[] debug;
 
@@ -5461,7 +5423,6 @@ public class SQLMXPreparedStatement extends SQLMXStatement implements
 			debug[methodId_close] = new JdbcDebug(className, "close");
 			debug[methodId_populateLobObjects] = new JdbcDebug(className,
 					"populateLobObjects");
-			debug[methodId_cpqPrepare] = new JdbcDebug(className, "cpqPrepare");
 			debug[methodId_SQLMXPreparedStatement_LLIII] = new JdbcDebug(
 					className, "SQLMXPreparedStatement_LLIII");
 			debug[methodId_SQLMXPreparedStatement_LLIJLZI] = new JdbcDebug(
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXResultSetMetaData.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXResultSetMetaData.java
index 7599f83..5ba4648 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXResultSetMetaData.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXResultSetMetaData.java
@@ -183,24 +183,6 @@ public class SQLMXResultSetMetaData implements java.sql.ResultSetMetaData
 		}
 	}
  	
-	/* cpqGetCharacterName (extended) method added to allow SQLJ to */
-	/* pull character data types from SQL/MX encoding info in the   */
-	/* COLS table. Valid types are UCS2, ISO88591, or null.         */ 
-	public String cpqGetCharacterSet(int column) throws SQLException
-	{
-		if (JdbcDebugCfg.entryActive) debug[methodId_cpqGetCharacterSet].methodEntry();
-		try
-		{
-			if ((column > outputDesc_.length) || (column <= 0))
-				throw Messages.createSQLException(connection_.locale_,"invalid_desc_index", null);
-			return outputDesc_[column-1].getCharacterSetName();
-		}
-		finally
-		{
-			if (JdbcDebugCfg.entryActive) debug[methodId_cpqGetCharacterSet].methodExit();
-		}
-	}
-
 	public String getSchemaName(int column) throws SQLException
 	{
 		if (JdbcDebugCfg.entryActive) debug[methodId_getSchemaName].methodEntry();
@@ -396,30 +378,29 @@ public class SQLMXResultSetMetaData implements java.sql.ResultSetMetaData
 	SQLMXDesc[]		outputDesc_;
 	
 	private static int methodId_getCatalogName					=  0;
-	private static int methodId_getColumnClassName				=  1;
+	private static int methodId_getColumnClassName					=  1;
 	private static int methodId_getColumnCount					=  2;
-	private static int methodId_getColumnDisplaySize			=  3;
+	private static int methodId_getColumnDisplaySize				=  3;
 	private static int methodId_getColumnLabel					=  4;
 	private static int methodId_getColumnName					=  5;
 	private static int methodId_getColumnType					=  6;
-	private static int methodId_getColumnTypeName				=  7;
+	private static int methodId_getColumnTypeName					=  7;
 	private static int methodId_getPrecision					=  8;
 	private static int methodId_getScale						=  9;
-	private static int methodId_cpqGetCharacterSet				= 10;
-	private static int methodId_getSchemaName					= 11;
-	private static int methodId_getTableName					= 12;
-	private static int methodId_isAutoIncrement					= 13;
-	private static int methodId_isCaseSensitive					= 14;
-	private static int methodId_isCurrency						= 15;
-	private static int methodId_isDefinitelyWritable			= 16;
-	private static int methodId_isNullable						= 17;
-	private static int methodId_isReadOnly						= 18;
-	private static int methodId_isSearchable					= 19;
-	private static int methodId_isSigned						= 20;
-	private static int methodId_isWritable						= 21;
-	private static int methodId_SQLMXResultSetMetaData_LL_stmt	= 22;
-	private static int methodId_SQLMXResultSetMetaData_LL_rs	= 23;
-	private static int totalMethodIds							= 24;
+	private static int methodId_getSchemaName					= 10;
+	private static int methodId_getTableName					= 11;
+	private static int methodId_isAutoIncrement					= 12;
+	private static int methodId_isCaseSensitive					= 13;
+	private static int methodId_isCurrency						= 14;
+	private static int methodId_isDefinitelyWritable				= 15;
+	private static int methodId_isNullable						= 16;
+	private static int methodId_isReadOnly						= 17;
+	private static int methodId_isSearchable					= 18;
+	private static int methodId_isSigned						= 19;
+	private static int methodId_isWritable						= 20;
+	private static int methodId_SQLMXResultSetMetaData_LL_stmt			= 21;
+	private static int methodId_SQLMXResultSetMetaData_LL_rs			= 22;
+	private static int totalMethodIds						= 23;
 	private static JdbcDebug[] debug;
 	
 	static
@@ -438,7 +419,6 @@ public class SQLMXResultSetMetaData implements java.sql.ResultSetMetaData
 			debug[methodId_getColumnTypeName] = new JdbcDebug(className,"getColumnTypeName"); 
 			debug[methodId_getPrecision] = new JdbcDebug(className,"getPrecision"); 
 			debug[methodId_getScale] = new JdbcDebug(className,"getScale"); 
-			debug[methodId_cpqGetCharacterSet] = new JdbcDebug(className,"cpqGetCharacterSet"); 
 			debug[methodId_getSchemaName] = new JdbcDebug(className,"getSchemaName"); 
 			debug[methodId_getTableName] = new JdbcDebug(className,"getTableName"); 
 			debug[methodId_isAutoIncrement] = new JdbcDebug(className,"isAutoIncrement"); 
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXStatement.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXStatement.java
index 3a5bd10..cdbab6d 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXStatement.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/SQLMXStatement.java
@@ -1062,9 +1062,6 @@ public class SQLMXStatement extends SQLMXHandle implements java.sql.Statement {
 			validateExecDirectInvocation();
 			isSelect_ = getStmtSqlType(sql);
 			sql_ = sql;
-			if(SQLMXConnection.getSqlStmtType(sql) == SQLMXConnection.TYPE_CONTROL){
-				connection_.setOfCQDs.add(sql);
-			}
 		} finally {
 			if (JdbcDebugCfg.entryActive)
 				debug[methodId_validateExecDirectInvocation_L].methodExit();
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Driver.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Driver.java
index 53efe2e..3f77c58 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Driver.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Driver.java
@@ -286,11 +286,9 @@ public class T2Driver extends T2Properties implements java.sql.Driver {
 	}
 
 	// Native methods
-	// MFC- SQLMXInitialize now contains 2 more parameters
 	static native int getPid();
 
-	native static void SQLMXInitialize(String language, int nowaitOn,
-			String modulecaching, String compiledmodulelocation);
+	native static void SQLMXInitialize(String language, int nowaitOn);
 
 	native static void setDefaultEncoding(String encoding);
 
@@ -369,7 +367,7 @@ public class T2Driver extends T2Properties implements java.sql.Driver {
 		checkLibraryVersion(DriverInfo.driverVproc);
 		
 		// Initialize Java objects, methods references into gJNICache
-		SQLMXInitialize(locale_.getLanguage(), 1, "OFF", null);
+		SQLMXInitialize(locale_.getLanguage(), 1);
 		
     	// Get the major and minor database version numbers that
 		// were setup in SQLMXInitialize()
diff --git a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Properties.java b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Properties.java
index ec03d17..ccc6a67 100644
--- a/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Properties.java
+++ b/core/conn/jdbc_type2/src/main/java/org/apache/trafodion/jdbc/t2/T2Properties.java
@@ -79,10 +79,6 @@ public class T2Properties {
     private int maxIdleTime_;
     private int maxStatements_;
 
-    //MFC
-    private String enableMFC_;
-    private String compiledModuleLocation_;
-
     private String externalCallHandler = "NONE";
     private String externalCallPrefix = "EXT";
 
@@ -661,39 +657,6 @@ public class T2Properties {
         setMaxStatements(maxStmt);
 
     }
-    /**
-     * @return the enableMFC_
-     */
-    public String getEnableMFC() {
-        return enableMFC_;
-    }
-
-    /**
-     * @param enableMFC_ the enableMFC_ to set
-     */
-    public void setEnableMFC(String enableMFC_) {
-        if(enableMFC_ != null)
-            this.enableMFC_ = enableMFC_.toUpperCase();
-        else
-            this.enableMFC_ = "OFF";
-    }
-
-    /**
-     * @return the compiledModuleLocation_
-     */
-    public String getCompiledModuleLocation() {
-        return compiledModuleLocation_;
-    }
-
-    /**
-     * @param compiledModuleLocation_ the compiledModuleLocation_ to set
-     */
-    public void setCompiledModuleLocation(String compiledModuleLocation_) {
-        if(compiledModuleLocation_ !=null)
-            this.compiledModuleLocation_ = compiledModuleLocation_;
-        else
-            this.compiledModuleLocation_ = "/usr/tandem/sqlmx/USERMODULES";
-    }
 
     /**
      * @return the externalCallHandler
@@ -1037,10 +1000,6 @@ public class T2Properties {
 	setInlineLobChunkSize(getProperty("inlineLobChunkSize"));
 	setLobChunkSize(getProperty("lobChunkSize"));
 
-        setEnableMFC(getProperty("enableMFC"));
-        setCompiledModuleLocation(getProperty("compiledModuleLocation"));
-
-
 //		setContBatchOnErrorval(getProperty(""));
 
 //		setEnableLog(getProperty("enableLog"));
@@ -1094,10 +1053,6 @@ public class T2Properties {
         props.setProperty("initialPoolSize", String.valueOf(initialPoolSize_));
  	props.setProperty("inlineLobChunkSize", String.valueOf(inlineLobChunkSize_));
  	props.setProperty("lobChunkSize", String.valueOf(lobChunkSize_));
-        if (getEnableMFC() != null)
-            props.setProperty("enableMFC", enableMFC_);
-        if (getCompiledModuleLocation() != null)
-            props.setProperty("compiledModuleLocation", compiledModuleLocation_);
 
         // props.setProperty("",);
         // props.setProperty("enableLog",);
@@ -1232,13 +1187,6 @@ public class T2Properties {
                 "idMapFile", idMapFile);
         propertyInfo[i].description = "Specifies the file to which the trace facility logs SQL statement IDs and the corresponding JDBC SQL statements.";
         propertyInfo[i++].choices = null;
-        /*
-         * MFC: Module Caching Description: Type 2 driver now supports
-         * compiled module caching
-         */
-        propertyInfo[i] = new java.sql.DriverPropertyInfo("enableMFC",
-                enableMFC_);
-        propertyInfo[i++].choices = null;
         propertyInfo[i] = new java.sql.DriverPropertyInfo("queryExecuteTime",Long.toString(queryExecuteTime_));
         propertyInfo[i].description="Sets the queryExecuteTime";
         propertyInfo[i++].choices = null;
@@ -1247,14 +1195,6 @@ public class T2Properties {
         propertyInfo[i].description="set the Trace file to log sql queries which are taking more the queryExecuteTime";
         propertyInfo[i++].choices = null;
 
-        propertyInfo[i].description = "Sets module caching feature to on or off";
-        propertyInfo[i++].choices = null;
-
-        propertyInfo[i] = new java.sql.DriverPropertyInfo(
-                "compiledModuleLocation", compiledModuleLocation_);
-        propertyInfo[i].description = "Specifies the directory to cache the compiled modules";
-        propertyInfo[i++].choices = null;
-// Publishing
         propertyInfo[i] = new java.sql.DriverPropertyInfo(
                 "statisticsIntervalTime", Integer.toString(statisticsIntervalTime_));
         propertyInfo[i].description = "Time in seconds on how often the aggregation data should be published. Default is 60";
@@ -1321,9 +1261,6 @@ public class T2Properties {
                 .toString(getLobChunkSize())));
         ref.add(new StringRefAddr("transactionMode",getTransactionMode()));
         ref.add(new StringRefAddr("contBatchOnError",getContBatchOnError()));
-        //Renamed the modulecaching property as enableMFC
-        ref.add(new StringRefAddr("enableMFC", getEnableMFC()));
-        ref.add(new StringRefAddr("compiledModuleLocation",	getCompiledModuleLocation()));
         ref.add(new StringRefAddr("queryExecuteTime",Long.toString(queryExecuteTime_)));
         ref.add(new StringRefAddr("T2QueryExecuteLogFile",T2QueryExecuteLogFile_));
 
diff --git a/core/sql/cli/Context.cpp b/core/sql/cli/Context.cpp
index e004aab..6622034 100644
--- a/core/sql/cli/Context.cpp
+++ b/core/sql/cli/Context.cpp
@@ -296,21 +296,20 @@ void ContextCli::deleteMe()
 {
   ComDiagsArea *diags = NULL;
 
-  if (volatileSchemaCreated())
+  if (volatileSchemaCreated_)
     {
       // drop volatile schema, if one exists
       short rc =
         ExExeUtilCleanupVolatileTablesTcb::dropVolatileSchema
         (this, NULL, exCollHeap(), diags);
+      if (rc < 0 && diags != NULL && diags->getNumber(DgSqlCode::ERROR_) > 0) {
+         ComCondition *condition = diags->getErrorEntry(0);
+         logAnMXEventForError(*condition, GetCliGlobals()->getEMSEventExperienceLevel()); 
+      } 
       SQL_EXEC_ClearDiagnostics(NULL);
-      
-      rc =
-        ExExeUtilCleanupVolatileTablesTcb::dropVolatileTables
-        (this, exCollHeap());
+      volatileSchemaCreated_ = FALSE;
     }
 
-  volTabList_ = 0;
-
   SQL_EXEC_ClearDiagnostics(NULL);
 
   delete moduleList_;
@@ -2907,6 +2906,11 @@ void ContextCli::dropSession(NABoolean clearCmpCache)
     {
       rc = ExExeUtilCleanupVolatileTablesTcb::dropVolatileSchema
         (this, NULL, exHeap(), diags);
+      if (rc < 0 && diags != NULL && diags->getNumber(DgSqlCode::ERROR_) > 0) {
+         ComCondition *condition = diags->getErrorEntry(0);
+         logAnMXEventForError(*condition, GetCliGlobals()->getEMSEventExperienceLevel()); 
+      } 
+      volatileSchemaCreated_ = FALSE;
       SQL_EXEC_ClearDiagnostics(NULL);
     }
 
@@ -2934,10 +2938,7 @@ void ContextCli::dropSession(NABoolean clearCmpCache)
   // prevStmtStats_ is decremented so that it can be freed up when
   // GC happens in mxssmp
   setStatsArea(NULL, FALSE, FALSE, TRUE);
-
-  volatileSchemaCreated_ = FALSE;
-
-  HiveClient_JNI::deleteInstance();  
+  HiveClient_JNI::deleteInstance();
   disconnectHdfsConnections();
 }
 
@@ -2959,8 +2960,6 @@ void ContextCli::resetVolatileSchemaState()
   Lng32 cliRC = cliInterface.executeImmediate(sendCQD);
   NADELETEBASIC(sendCQD, exHeap());
   
-  volatileSchemaCreated_ = FALSE;
-  
   if (savedDiagsArea)
     {
       diagsArea_.mergeAfter(*savedDiagsArea);
diff --git a/core/sql/executor/ExExeUtilVolTab.cpp b/core/sql/executor/ExExeUtilVolTab.cpp
index f3db9d3..8e3e275 100644
--- a/core/sql/executor/ExExeUtilVolTab.cpp
+++ b/core/sql/executor/ExExeUtilVolTab.cpp
@@ -690,7 +690,7 @@ short ExExeUtilCleanupVolatileTablesTcb::dropVolatileSchema
   //  currContext->resetSqlParserFlags(0x8000); // ALLOW_VOLATILE_SCHEMA_CREATION
 
   NADELETEBASIC(dropSchema, heap);
-
+  currContext->resetVolTabList();
   return cliRC;
 }
 
@@ -728,7 +728,7 @@ short ExExeUtilCleanupVolatileTablesTcb::dropVolatileTables
   strcpy(sendCQD, "CONTROL QUERY DEFAULT VOLATILE_SCHEMA_IN_USE 'FALSE';");
   cliInterface.executeImmediate(sendCQD);
   NADELETEBASIC(sendCQD, heap);
-
+  currContext->resetVolTabList();
   return cliRC;
 }
 
diff --git a/core/sql/executor/ex_ddl.cpp b/core/sql/executor/ex_ddl.cpp
index 30181b9..024227d 100644
--- a/core/sql/executor/ex_ddl.cpp
+++ b/core/sql/executor/ex_ddl.cpp
@@ -1650,6 +1650,11 @@ short ExProcessVolatileTableTcb::work()
 	case REMOVE_FROM_VOL_TAB_LIST_:
 	  {
 	    HashQueue * volTabList = currContext->getVolTabList();
+	    if (volTabList == NULL) {
+	       step_ = DONE_;
+	       break;
+	    }
+        
 	    volTabList->position(pvtTdb().volTabName_,
 				 pvtTdb().volTabNameLen_);
 	    void * name = volTabList->getNext();
diff --git a/core/sql/sqlmxevents/logmxevent_traf.h b/core/sql/sqlmxevents/logmxevent_traf.h
index 1432535..d9a77f6 100644
--- a/core/sql/sqlmxevents/logmxevent_traf.h
+++ b/core/sql/sqlmxevents/logmxevent_traf.h
@@ -64,6 +64,7 @@
 #endif 
 
 #include "QRLogger.h"
+#include "ComDiags.h"
 
 class SQLMXLoggingArea
 {
@@ -189,4 +190,7 @@ class SQLMXLoggingArea
 																									 
 };
 
+void logAnMXEventForError( ComCondition & condition, SQLMXLoggingArea::ExperienceLevel emsEventEL);
+
+
 #endif