24 #ifndef _CAS_SQL_LOG2_H_ 25 #define _CAS_SQL_LOG2_H_ 29 #define SQL_LOG2_NONE 0 30 #define SQL_LOG2_PLAN 1 31 #define SQL_LOG2_HISTO 2 32 #define SQL_LOG2_MAX (SQL_LOG2_PLAN | SQL_LOG2_HISTO) 34 #if defined(WINDOWS) || defined(CAS_FOR_ORACLE) || defined(CAS_FOR_MYSQL) || defined(LIBCAS_FOR_JSP) 35 #define SQL_LOG2_EXEC_BEGIN(SQL_LOG2_VALUE, STMT_ID) 36 #define SQL_LOG2_EXEC_END(SQL_LOG2_VALUE, STMT_ID, RES) 37 #define SQL_LOG2_COMPILE_BEGIN(SQL_LOG2_VALUE, SQL_STMT) 38 #define SQL_LOG2_EXEC_APPEND(SQL_LOG2_VALUE, STMT_ID, RES, PLAN_FILE) 40 #define SQL_LOG2_EXEC_BEGIN(SQL_LOG2_VALUE, STMT_ID) \ 42 if (SQL_LOG2_VALUE) { \ 43 if ((SQL_LOG2_VALUE) & SQL_LOG2_PLAN) { \ 44 set_optimization_level(513); \ 46 sql_log2_write("execute %d", STMT_ID); \ 47 if ((SQL_LOG2_VALUE) & SQL_LOG2_HISTO) { \ 50 sql_log2_dup_stdout(); \ 54 #define SQL_LOG2_EXEC_END(SQL_LOG2_VALUE, STMT_ID, RES) \ 56 if (SQL_LOG2_VALUE) { \ 57 if ((SQL_LOG2_VALUE) & SQL_LOG2_HISTO) { \ 62 sql_log2_restore_stdout(); \ 63 sql_log2_write("execute %d : %d", STMT_ID, RES); \ 64 reset_optimization_level_as_saved(); \ 68 #define SQL_LOG2_COMPILE_BEGIN(SQL_LOG2_VALUE, SQL_STMT) \ 70 if (SQL_LOG2_VALUE) { \ 71 sql_log2_write("compile : %s", SQL_STMT); \ 75 #define SQL_LOG2_EXEC_APPEND(SQL_LOG2_VALUE, STMT_ID, RES, PLAN_FILE) \ 77 if (SQL_LOG2_VALUE) { \ 78 sql_log2_write("execute %d", STMT_ID); \ 79 sql_log2_append_file(PLAN_FILE); \ 80 sql_log2_write("execute %d : %d", STMT_ID, RES); \ 85 extern void sql_log2_init (
char *br_name,
int index,
int sql_log2_value,
bool log_reuse_flag);
void sql_log2_dup_stdout(void)
void sql_log2_write(const char *fmt,...)
void sql_log2_init(char *br_name, int index, int sql_log2_value, bool log_reuse_flag)
void sql_log2_end(bool reset_filename_flag)
char * sql_log2_get_filename(void)
void sql_log2_restore_stdout(void)
void sql_log2_flush(void)
void sql_log2_append_file(char *file_name)