/****************************************************************************** ** ** Source File Name = utilcli.h ** ** Licensed Materials - Property of IBM ** ** (C) COPYRIGHT International Business Machines Corp. 1995, 2000 ** All Rights Reserved. ** ** US Government Users Restricted Rights - Use, duplication or ** disclosure restricted by GSA ADP Schedule Contract with IBM Corp. ** ******************************************************************************/ #define MAX_UID_LENGTH 18 #define MAX_PWD_LENGTH 30 #define MAX_STMT_LEN 255 #define MAX_COLUMNS 255 #ifdef DB2WIN #define MAX_TABLES 50 #else #define MAX_TABLES 255 #endif #ifndef max #define max(a,b) (a > b ? a : b) #endif /* Macro for common Handle Checking */ #define HANDLE_CHECK( htype, hndl, SQLRC, phenv, phdbc ) \ if ( SQLRC != SQL_SUCCESS ) \ { rc = HandleInfoPrint( htype, hndl, SQLRC, \ __LINE__, __FILE__) ; \ if ( rc != 0 ) \ { CLIAppCleanUp( phenv, phdbc, 1); \ return rc; \ } \ } /* Macro for Handle Checking in applications with multiple connections */ #define MC_HANDLE_CHECK( htype, hndl, SQLRC, phenv, a_hdbc, numConns ) \ if ( SQLRC != SQL_SUCCESS ) \ { rc = HandleInfoPrint( htype, hndl, SQLRC, \ __LINE__, __FILE__) ; \ if ( rc != 0 ) \ { CLIAppCleanUp( phenv, a_hdbc, numConns ); \ return rc; \ } \ } /* Macro for Statement Handle Checking */ #define STMT_HANDLE_CHECK( hstmt, SQLRC ) \ if ( SQLRC != SQL_SUCCESS ) \ { rc = HandleInfoPrint( SQL_HANDLE_STMT, hstmt, \ SQLRC, __LINE__, __FILE__ ) ; \ if ( rc == 2 ) StmtResourcesFree( hstmt ); \ if ( rc != 0 ) return rc; \ } /* Macro for Connection Handle Checking */ #define DBC_HANDLE_CHECK( hdbc, SQLRC ) \ if ( SQLRC != SQL_SUCCESS ) \ { rc = HandleInfoPrint( SQL_HANDLE_DBC, hdbc, \ SQLRC, __LINE__, __FILE__ ) ; \ if ( rc != 0 ) return rc; \ } /* Macro for Enironment Handle Checking */ #define ENV_HANDLE_CHECK( henv, SQLRC ) \ if ( SQLRC != SQL_SUCCESS ) \ { rc = HandleInfoPrint( SQL_HANDLE_ENV, henv, \ SQLRC, __LINE__, __FILE__ ) ; \ if ( rc != 0 ) return rc; \ } /* functions used in ...CHECK_HANDLE macros */ int HandleInfoPrint( SQLSMALLINT, SQLHANDLE, SQLRETURN, int, char *); void CLIAppCleanUp(SQLHANDLE *, SQLHANDLE a_hdbc[], int); int StmtResourcesFree( SQLHANDLE ); /* other useful functions with self-explanatory names */ int CmdLineArgsCheck1( int, char * argv[], char *, char *, char *); int CmdLineArgsCheck2( int, char * argv[], char *, char *, char *, char *); int CLIAppInit( char * , char *, char *, SQLHANDLE *, SQLHANDLE *, SQLPOINTER ); int CLIAppTerm( SQLHANDLE *, SQLHANDLE *, char *); int StmtResultPrint( SQLHANDLE );