diff options
Diffstat (limited to 'ndb/test/odbc/client/SQLGetDataTest.cpp')
-rw-r--r-- | ndb/test/odbc/client/SQLGetDataTest.cpp | 358 |
1 files changed, 0 insertions, 358 deletions
diff --git a/ndb/test/odbc/client/SQLGetDataTest.cpp b/ndb/test/odbc/client/SQLGetDataTest.cpp deleted file mode 100644 index 9d958c6c953..00000000000 --- a/ndb/test/odbc/client/SQLGetDataTest.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/* Copyright (C) 2003 MySQL AB - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - - /** - * @file SQLGetDataTest.cpp - */ - -#include <common.hpp> -using namespace std; - -#define GD_MESSAGE_LENGTH 200 - -SQLHSTMT GD_hstmt; -SQLHENV GD_henv; -SQLHDBC GD_hdbc; -SQLHDESC GD_hdesc; - -void GetData_DisplayError(SQLSMALLINT GD_HandleType, SQLHSTMT GD_InputHandle); - -/** - * Test to retrieve data for a single unbound column - * in the current row of a result data set - * - * Tests: - * -# Test1 There is no fetched rowset associated with S - * -# Test2 column number is less than zero - * -# Test3 fetched rowset is empty - * @return Zero, if test succeeded - */ - -int SQLGetDataTest() -{ - SQLRETURN retcode; - SQLCHAR ColumnName; - SQLINTEGER CustID; - // SQLCHAR Name, Address, Phone; - SQLCHAR SQLStmt [120]; - SQLCHAR SQLStmt1 [120]; - - //************************************ - //** Allocate An Environment Handle ** - //************************************ - retcode = SQLAllocHandle(SQL_HANDLE_ENV, - SQL_NULL_HANDLE, - &GD_henv); - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - ndbout << "Allocated an environment Handle!" << endl; - - //********************************************* - //** Set the ODBC application Version to 3.x ** - //********************************************* - retcode = SQLSetEnvAttr(GD_henv, - SQL_ATTR_ODBC_VERSION, - (SQLPOINTER) SQL_OV_ODBC3, - SQL_IS_UINTEGER); - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - ndbout << "Set the ODBC application Version to 3.X!" << endl; - - //********************************** - //** Allocate A Connection Handle ** - //********************************** - - retcode = SQLAllocHandle(SQL_HANDLE_DBC, - GD_henv, - &GD_hdbc); - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - ndbout << "Allocated a connection Handle!" << endl; - - // ******************* - // ** Connect to DB ** - // ******************* - retcode = SQLConnect(GD_hdbc, - (SQLCHAR *) connectString(), - SQL_NTS, - (SQLCHAR *) "", - SQL_NTS, - (SQLCHAR *) "", - SQL_NTS); - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - ndbout << "Connected to DB : OK!" << endl; - else - { - ndbout << "Failure to Connect DB!" << endl; - return NDBT_FAILED; - } - - //******************************* - //** Allocate statement handle ** - //******************************* - - retcode = SQLAllocHandle(SQL_HANDLE_STMT, - GD_hdbc, - &GD_hstmt); - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - ndbout << "Allocated a statement handle!" << endl; - - //***************************** - //** Define SELECT statement ** - //***************************** - - strcpy((char *) SQLStmt, "SELECT * FROM Customers"); - - - //*********************************** - //** Prepare SELECT SQL statement ** - //*********************************** - - retcode = SQLPrepare(GD_hstmt, - SQLStmt, - SQL_NTS); - ndbout << endl << "Preparing SELECT, retcode = SQLprepare()= " - << retcode << endl; - - //********************************* - //** Execute prepared statement ** - //********************************* - - // if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - //{ - - retcode = SQLExecute(GD_hstmt); - - ndbout << "Exexuting SELECT, retcode = SQLExecute()= " - << retcode << endl; - - // if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - // { - - //***************************************************************** - //** Test1 ** - //** There is no fetched rowset associated with S(SQL-statement) ** - //***************************************************************** - - retcode = SQLGetData(GD_hstmt, - 1, - SQL_C_SLONG, - &CustID, - sizeof(CustID), - NULL); - ndbout << "retcode = SQLGetData()= " << retcode << endl; - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - { - ndbout << endl << "Test 1:" << endl; - ndbout << "There is no fetched rowset associated with SQL" - << " statement. But system reported SUCCESS or" - << " SUCCESS_WITH_INFO. Please check the function!" << endl; - GetData_DisplayError(SQL_HANDLE_STMT, GD_hstmt); - } - else if (retcode == SQL_ERROR) - { - ndbout << endl << "Test 1:" << endl; - ndbout << "There is no fetched rowset associated with SQL" - << " statement. The system reported ERROR " - << " The function is OK!" << endl; - } - else - ndbout << endl; - - //******************************* - //** Fetch Data from database ** - //******************************* - - retcode = SQLFetch(GD_hstmt); - - ndbout << endl - << "Fetching after Executing SELECT, retcode = SQLFetch()= " - << retcode << endl; - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - { - - //************************************** - //** Test2 ** - //** column number is less than zero ** - //************************************** - - retcode = SQLGetData(GD_hstmt, - 0, - SQL_C_ULONG, - &CustID, - sizeof(CustID), - NULL); - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - { - ndbout << "Test 2:" <<"Column number is less than zero" - << " The system reported SUCCESS or SUCCESS_WITH_INFO." - << " Check the function, please!" <<endl; - GetData_DisplayError(SQL_HANDLE_STMT, GD_hstmt); - } - else if (retcode == SQL_ERROR) - { - ndbout << "Test 2:" << "Column number is less than zero." - << " The system reported SQL_ERROR." - << " The function is OK!" << endl; - } - else - ndbout << endl; - } - // } - - // } - - //***************************** - //** Define DELETE statement ** - //***************************** - - // strcpy((char *) SQLStmt1, "DELETE FROM Customers"); - strcpy((char *) SQLStmt1, "DELETE FROM Customers WHERE CustID = 568 AND Name = 'Hans Peter'"); - - //*********************************** - //** Prepare DELETE SQL statement ** - //*********************************** - - retcode = SQLPrepare(GD_hstmt, - SQLStmt1, - SQL_NTS); - ndbout << endl << "Preparing DELETE, retcode = SQLPrepare()= " - << retcode << endl; - - //**************************************** - //** Execute prepared DELETE statement ** - //**************************************** - - // if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - // { - - retcode = SQLExecute(GD_hstmt); - - ndbout << "Executing DELETE, retcode = SQLExecute()= " - << retcode << endl; - - // if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - // { - - retcode = SQLFetch(GD_hstmt); - - ndbout << "Fetching after Executing DELETE, retcode = SQLExecute()= " - << retcode << endl; - - if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - { - - //****************************************************** - //** Test3 ** - //** If the fetched rowset associated with ** - //** Statement is empty, condition is raised: NO DATA ** - //** We can delete all rows in table Customers for ** - //** this case ** - //****************************************************** - - retcode = SQLGetData(GD_hstmt, - 1, - SQL_C_ULONG, - &CustID, - sizeof(CustID), - NULL); - - if (retcode == SQL_ERROR) - { - ndbout << "Test 3:" << endl; - ndbout << "The fetched rowset associated" - << "with Statementhandle is empty. The system" - << " reported SQL_ERROR. Check the function!" << endl; - GetData_DisplayError(SQL_HANDLE_STMT, GD_hstmt); - } - else if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) - { - ndbout << "Test 3:" << endl; - ndbout << "The fetched rowset associated" - << "with Statementhandle is empty. The system" - << " reported SUCCESS. Check the function!" << endl; - GetData_DisplayError(SQL_HANDLE_STMT, GD_hstmt); - } - else if (retcode == 100) - { - ndbout << "Test 3:" << endl; - ndbout << "The fetched rowset associated" - << "with Statementhandle is empty. The system" - << " reported SQL_NO_DATA. The function is OK!" << endl; - } - } - else if (retcode == SQL_ERROR) - { - ndbout << "Test 3 falied!" << endl; - GetData_DisplayError(SQL_HANDLE_STMT, GD_hstmt); - } - else - ndbout << " " << endl; - - // } - // } - - // ********************************* - // ** Disconnect and Free Handles ** - // ********************************* - SQLDisconnect(GD_hdbc); - SQLFreeHandle(SQL_HANDLE_STMT, GD_hstmt); - SQLFreeHandle(SQL_HANDLE_DBC, GD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, GD_henv); - - return NDBT_OK; -} - -void GetData_DisplayError(SQLSMALLINT GD_HandleType, SQLHSTMT GD_InputHandle) -{ - - SQLSMALLINT i, MsgLen; - SQLRETURN SQLSTATEs; - SQLCHAR Sqlstate[5], Msg[GD_MESSAGE_LENGTH]; - SQLINTEGER NativeError; - i = 1; - - ndbout << "-------------------------------------------------" << endl; - ndbout << "Error diagnostics:" << endl; - - while ((SQLSTATEs = SQLGetDiagRec(GD_HandleType, - GD_InputHandle, - i, - Sqlstate, - &NativeError, - Msg, - sizeof(Msg), - &MsgLen)) - != SQL_NO_DATA) - { - - ndbout << "the HandleType is:" << GD_HandleType << endl; - ndbout << "the InputHandle is :" << (long)GD_InputHandle << endl; - ndbout << "Phone = " << (char *)Msg << endl; - ndbout << "the output state is:" << (char *)Sqlstate << endl; - - i ++; - break; - } - ndbout << "-------------------------------------------------" << endl; -} - - - |