CUBRID Engine  latest
csql.c File Reference
#include "config.h"
#include <stdio.h>
#include <fcntl.h>
#include <limits.h>
#include <assert.h>
#include <sys/time.h>
#include <sys/errno.h>
#include <signal.h>
#include <wctype.h>
#include <editline/readline.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
#include "authenticate.h"
#include "csql.h"
#include "filesys.hpp"
#include "filesys_temp.hpp"
#include "system_parameter.h"
#include "message_catalog.h"
#include "porting.h"
#include "release_string.h"
#include "error_manager.h"
#include "language_support.h"
#include "network.h"
#include "schema_manager.h"
#include "optimizer.h"
#include "environment_variable.h"
#include "tcp.h"
#include "db.h"
#include "parser.h"
#include "network_interface_cl.h"
#include "utility.h"
#include "tsc_timer.h"
#include "dbtype.h"
#include "jsp_cl.h"
#include "api_compat.h"
#include "cas_log.h"
#include "ddl_log.h"

Go to the source code of this file.

Macros

#define CSQL_SESSION_COMMAND_PREFIX(C)   (((C) == ';') || ((C) == '!'))
 
#define LINE_BUFFER_SIZE   (4000)
 
#define COLUMN_WIDTH_INFO_LIST_INIT_SIZE   24
 
#define NOT_FOUND   -1
 

Enumerations

enum  { FILE_INPUT = 0, STRING_INPUT = 1, EDITOR_INPUT = 2 }
 
enum  { DO_CMD_SUCCESS = 0, DO_CMD_FAILURE = 1, DO_CMD_EXIT = 2 }
 
enum  { HISTO_OFF, HISTO_ON }
 

Functions

static void free_csql_column_width_info_list ()
 
static int initialize_csql_column_width_info_list ()
 
static int get_column_name_argument (char **column_name, char **val_str, char *argument)
 
static void csql_pipe_handler (int sig_no)
 
static void display_buffer (void)
 
static void start_csql (CSQL_ARGUMENT *csql_arg)
 
static void csql_read_file (const char *file_name)
 
static void csql_write_file (const char *file_name, int append_flag)
 
static void display_error (DB_SESSION *session, int stmt_start_line_no)
 
static void free_attr_spec (DB_QUERY_TYPE **attr_spec)
 
static void csql_print_database (void)
 
static void csql_set_sys_param (const char *arg_str)
 
static void csql_get_sys_param (const char *arg_str)
 
static void csql_set_plan_dump (const char *arg_str)
 
static void csql_exit_init (void)
 
static void csql_exit_cleanup (void)
 
static void csql_print_buffer (void)
 
static void csql_change_working_directory (const char *dirname)
 
static void csql_exit_session (int error)
 
static int csql_execute_statements (const CSQL_ARGUMENT *csql_arg, int type, const void *stream, int line_no)
 
static char * csql_get_external_command (SESSION_CMD cmd_no)
 
static int csql_do_session_cmd (char *line_read, CSQL_ARGUMENT *csql_arg)
 
static void csql_set_trace (const char *arg_str)
 
static void csql_display_trace (void)
 
static bool csql_is_auto_commit_requested (const CSQL_ARGUMENT *csql_arg)
 
static int get_host_ip (unsigned char *ip_addr)
 
void csql_display_msg (const char *string)
 
static void signal_intr (int sig_no)
 
static void signal_stop (int sig_no)
 
void csql_exit (int exit_status)
 
int csql (const char *argv0, CSQL_ARGUMENT *csql_arg)
 
const char * csql_get_message (int message_index)
 
int csql_set_column_width_info (const char *column_name, int column_width)
 
int csql_get_column_width (const char *column_name)
 

Variables

int(* csql_text_utf8_to_console )(const char *, const int, char **, int *) = NULL
 
int(* csql_text_console_to_utf8 )(const char *, const int, char **, int *) = NULL
 
int csql_Row_count
 
int csql_Num_failures
 
int csql_Line_lwm = -1
 
char csql_Print_cmd [PATH_MAX] = "lpr"
 
char csql_Pager_cmd [PATH_MAX] = "more"
 
char csql_Editor_cmd [PATH_MAX] = "vi"
 
char csql_Shell_cmd [PATH_MAX] = "csh"
 
static FILE * csql_Tty_fp = NULL
 
char csql_Scratch_text [SCRATCH_TEXT_LEN]
 
int csql_Error_code = NO_ERROR
 
static char csql_Prompt [100]
 
static char csql_Name [100]
 
FILE * csql_Input_fp = NULL
 
FILE * csql_Output_fp = NULL
 
FILE * csql_Error_fp = NULL
 
static jmp_buf csql_Exit_env
 
static int csql_Exit_status = EXIT_SUCCESS
 
static bool csql_Database_connected = false
 
static bool csql_Is_interactive = false
 
static bool csql_Is_sigint_caught = false
 
static bool csql_Is_echo_on = false
 
static int csql_Is_histo_on = HISTO_OFF
 
static bool csql_Is_time_on = true
 
static jmp_buf csql_Jmp_buf
 
static CSQL_COLUMN_WIDTH_INFOcsql_column_width_info_list = NULL
 
static int csql_column_width_info_list_size = 0
 
static int csql_column_width_info_list_index = 0
 
static bool csql_Query_trace = false
 

Macro Definition Documentation

#define COLUMN_WIDTH_INFO_LIST_INIT_SIZE   24

Definition at line 101 of file csql.c.

Referenced by initialize_csql_column_width_info_list().

#define CSQL_SESSION_COMMAND_PREFIX (   C)    (((C) == ';') || ((C) == '!'))

Definition at line 97 of file csql.c.

Referenced by start_csql().

#define LINE_BUFFER_SIZE   (4000)

Definition at line 100 of file csql.c.

Referenced by csql_execute_statements(), csql_exit_session(), and start_csql().

#define NOT_FOUND   -1

Definition at line 102 of file csql.c.

Referenced by csql_set_column_width_info().

Enumeration Type Documentation

anonymous enum
Enumerator
FILE_INPUT 
STRING_INPUT 
EDITOR_INPUT 

Definition at line 82 of file csql.c.

anonymous enum
Enumerator
DO_CMD_SUCCESS 
DO_CMD_FAILURE 
DO_CMD_EXIT 

Definition at line 90 of file csql.c.

anonymous enum
Enumerator
HISTO_OFF 
HISTO_ON 

Definition at line 177 of file csql.c.

Function Documentation

int csql ( const char *  argv0,
CSQL_ARGUMENT csql_arg 
)

Definition at line 2703 of file csql.c.

References APP_NAME_CSQL, au_disable(), au_is_dba_group_member(), Au_user, csql_Database_connected, csql_Editor_cmd, CSQL_ERR_OS_ERROR, CSQL_ERR_SQL_ERROR, csql_Error_code, csql_exit(), csql_exit_cleanup(), csql_Exit_env, csql_exit_init(), csql_Exit_status, csql_get_message(), csql_Input_fp, csql_Is_interactive, CSQL_NAME, csql_Name, csql_Pager_cmd, CSQL_PASSWD_PROMPT_TEXT, csql_Print_cmd, CSQL_PROMPT, csql_Prompt, csql_Scratch_text, csql_Shell_cmd, CSQL_SYSADM_PROMPT, DB_CLIENT_TYPE_ADMIN_CSQL, DB_CLIENT_TYPE_ADMIN_CSQL_WOS, DB_CLIENT_TYPE_CSQL, DB_CLIENT_TYPE_READ_ONLY_CSQL, DB_CLIENT_TYPE_SKIP_VACUUM_ADMIN_CSQL, DB_CLIENT_TYPE_SKIP_VACUUM_CSQL, db_disable_trigger(), db_error_code(), CSQL_ARGUMENT::db_name, db_restart_ex(), ER_ALL_FINAL, ER_AU_INVALID_PASSWORD, ER_DO_NOT_PRINT, er_final(), er_init(), ER_NEVER_EXIT, ER_PRINT_TO_CONSOLE, er_set_print_property(), error(), get_host_ip(), CSQL_ARGUMENT::in_file_name, lang_init_console_txt_conv(), locator_log_force_nologging(), logddl_destroy(), logddl_init(), logddl_set_app_name(), logddl_set_db_name(), logddl_set_ip(), logddl_set_logging_enabled(), logddl_set_pid(), logddl_set_user_name(), NO_ERROR, nonscr_display_error(), CSQL_ARGUMENT::nopager, NULL, os_set_signal_handler(), p, CSQL_ARGUMENT::passwd, prm_get_bool_value(), PRM_ID_CSQL_SINGLE_LINE_MODE, PRM_ID_DDL_AUDIT_LOG, CSQL_ARGUMENT::read_only, SCRATCH_TEXT_LEN, signal_intr(), CSQL_ARGUMENT::single_line_execution, CSQL_ARGUMENT::skip_vacuum, start_csql(), strdup(), strlen, strncpy_bufsize, CSQL_ARGUMENT::sysadm, CSQL_ARGUMENT::trigger_action_flag, TRUE, CSQL_ARGUMENT::user_name, utility_initialize(), and CSQL_ARGUMENT::write_on_standby.

Referenced by createdb(), and main().

Here is the caller graph for this function:

static void csql_change_working_directory ( const char *  dirname)
static
void csql_display_msg ( const char *  string)

Definition at line 376 of file csql.c.

References csql_fputs(), csql_fputs_console_conv(), and csql_Tty_fp.

Referenced by csql_do_session_cmd(), csql_execute_statements(), csql_help_info(), csql_killtran(), csql_print_buffer(), csql_read_file(), and csql_write_file().

Here is the caller graph for this function:

static int csql_do_session_cmd ( char *  line_read,
CSQL_ARGUMENT csql_arg 
)
static

Definition at line 791 of file csql.c.

References au_disable(), au_is_dba_group_member(), Au_user, CSQL_ARGUMENT::auto_commit, CSQL_ARGUMENT::column_output, csql_change_working_directory(), csql_check_server_down(), csql_column_width_info_list_size, csql_Database_connected, csql_display_csql_err(), csql_display_msg(), csql_edit_contents_append(), csql_edit_contents_clear(), CSQL_ERR_INVALID_ARG_COMBINATION, CSQL_ERR_SQL_ERROR, csql_Error_code, csql_Error_fp, csql_execute_statements(), CSQL_FAILURE, csql_fputs(), csql_get_column_width(), csql_get_external_command(), csql_get_message(), csql_get_session_cmd_no(), csql_get_sys_param(), csql_help_info(), csql_help_menu(), csql_help_schema(), csql_help_trigger(), csql_invoke_system(), csql_invoke_system_editor(), csql_is_auto_commit_requested(), csql_Is_echo_on, csql_Is_histo_on, csql_Is_interactive, csql_Is_time_on, csql_killtran(), csql_Output_fp, csql_Pager_cmd, csql_print_buffer(), csql_print_database(), csql_read_file(), csql_Scratch_text, csql_set_column_width_info(), csql_set_plan_dump(), csql_set_sys_param(), csql_set_trace(), csql_Shell_cmd, CSQL_STAT_CHECKPOINT_TEXT, CSQL_STAT_COMMITTED_TEXT, CSQL_STAT_RESTART_TEXT, CSQL_STAT_ROLLBACKED_TEXT, CSQL_SUCCESS, csql_Tty_fp, csql_write_file(), db_abort_transaction(), db_checkpoint(), db_commit_transaction(), db_disable_trigger(), db_end_session(), db_get_client_type(), CSQL_ARGUMENT::db_name, db_restart_ex(), db_shutdown(), display_buffer(), DO_CMD_EXIT, DO_CMD_FAILURE, DO_CMD_SUCCESS, EDITOR_INPUT, ER_AU_DBA_ONLY, er_clear(), er_errid(), er_init(), ER_NEVER_EXIT, get_column_name_argument(), histo_clear(), histo_is_supported(), HISTO_OFF, HISTO_ON, histo_print(), histo_start(), histo_stop(), i, CSQL_ARGUMENT::line_output, logddl_set_commit_mode(), LOGDDL_TRAN_TYPE_COMMIT, LOGDDL_TRAN_TYPE_ROLLBACK, logddl_write_tran_str(), NO_ERROR, nonscr_display_error(), NULL, parse_int(), CSQL_ARGUMENT::passwd, S_CMD_APPEND, S_CMD_AUTOCOMMIT, S_CMD_CD, S_CMD_CHECKPOINT, S_CMD_CLEAR, S_CMD_CLR_HISTO, S_CMD_COLUMN_WIDTH, S_CMD_COMMIT, S_CMD_DATABASE, S_CMD_DATE, S_CMD_DUMP_CLR_HISTO, S_CMD_DUMP_HISTO, S_CMD_ECHO, S_CMD_EDIT, S_CMD_EDIT_CMD, S_CMD_EXIT, S_CMD_GET_PARAM, S_CMD_HELP, S_CMD_HISTO, S_CMD_HISTORY_LIST, S_CMD_HISTORY_READ, S_CMD_INFO, S_CMD_KILLTRAN, S_CMD_LINE_OUTPUT, S_CMD_LIST, S_CMD_NOPAGER_CMD, S_CMD_PAGER_CMD, S_CMD_PLAN_DUMP, S_CMD_PRINT, S_CMD_PRINT_CMD, S_CMD_READ, S_CMD_RESTART, S_CMD_ROLLBACK, S_CMD_RUN, S_CMD_SCHEMA, S_CMD_SET_PARAM, S_CMD_SHELL, S_CMD_SHELL_CMD, S_CMD_STRING_WIDTH, S_CMD_TIME, S_CMD_TRACE, S_CMD_TRIGGER, S_CMD_WRITE, S_CMD_XRUN, CSQL_ARGUMENT::sa_mode, SCRATCH_TEXT_LEN, CSQL_ARGUMENT::single_line_execution, CSQL_ARGUMENT::string_width, strlen, CSQL_ARGUMENT::sysadm, CSQL_ARGUMENT::trigger_action_flag, trim(), CSQL_ARGUMENT::user_name, UTIL_CSQL_NAME, and utility_localtime().

Referenced by start_csql().

Here is the caller graph for this function:

static int csql_execute_statements ( const CSQL_ARGUMENT csql_arg,
int  type,
const void *  stream,
int  line_no 
)
static

Definition at line 1731 of file csql.c.

References CSQL_ARGUMENT::continue_on_error, csql_display_msg(), csql_display_trace(), csql_edit_contents_get(), CSQL_ERR_SQL_ERROR, csql_Error_code, CSQL_EXECUTE_END_MSG_FORMAT, csql_get_message(), CSQL_INPUT_TYPE_EDITOR, CSQL_INPUT_TYPE_FILE, CSQL_INPUT_TYPE_STRING, csql_is_auto_commit_requested(), csql_Is_echo_on, csql_Is_interactive, csql_Is_time_on, csql_Num_failures, csql_Output_fp, csql_Query_trace, csql_results(), CSQL_ROW, csql_Row_count, CSQL_ROWS, csql_Scratch_text, CSQL_STAT_COMMITTED_TEXT, CSQL_TRANSACTION, CSQL_TRANSACTIONS, CUBRID_STMT_CALL, CUBRID_STMT_COMMIT_WORK, CUBRID_STMT_DELETE, CUBRID_STMT_EVALUATE, CUBRID_STMT_GET_ISO_LVL, CUBRID_STMT_GET_OPT_LVL, CUBRID_STMT_GET_STATS, CUBRID_STMT_GET_TIMEOUT, CUBRID_STMT_GET_TRIGGER, CUBRID_STMT_INSERT, CUBRID_STMT_KILL, CUBRID_STMT_MERGE, CUBRID_STMT_ROLLBACK_WORK, CUBRID_STMT_SELECT, CUBRID_STMT_UPDATE, db_abort_transaction(), db_close_session(), db_commit_transaction(), db_compile_statement(), db_drop_statement(), db_error_code(), db_execute_statement(), db_free_query(), db_get_errors(), db_get_query_type_list(), db_get_query_type_ptr(), db_get_start_line(), db_get_statement_type(), db_open_buffer(), db_open_file(), db_query_end(), db_reset_latest_query_status(), db_set_interrupt(), db_set_statement_auto_commit(), db_statement_count(), DDL_LOG_BUFFER_SIZE, display_error(), er_clear(), er_errid(), ER_IT_EMPTY_STATEMENT, error(), FILE_INPUT, free_attr_spec(), CSQL_ARGUMENT::in_file_name, jsp_send_destroy_request_all(), LINE_BUFFER_SIZE, parser_node::line_number, CSQL_ARGUMENT::loaddb_output, logddl_free(), logddl_get_jsp_mode(), LOGDDL_MSG_AUTO_COMMIT, LOGDDL_MSG_AUTO_ROLLBACK, logddl_set_commit_mode(), logddl_set_csql_input_type(), logddl_set_err_code(), logddl_set_file_line(), logddl_set_load_filename(), logddl_set_logging_enabled(), logddl_set_msg(), logddl_set_sql_text(), logddl_set_start_time(), logddl_set_stmt_type(), LOGDDL_TRAN_TYPE_COMMIT, LOGDDL_TRAN_TYPE_ROLLBACK, logddl_write_end(), logddl_write_end_for_csql_fileinput(), logddl_write_tran_str(), NO_ERROR, parser_node::node_type, NULL, CSQL_ARGUMENT::plain_output, prm_get_bool_value(), PRM_ID_DDL_AUDIT_LOG, CSQL_ARGUMENT::query_output, SCRATCH_TEXT_LEN, parser_node::sql_user_text, parser_node::sql_user_text_len, db_session::statements, STRING_INPUT, strlen, tsc_elapsed_time_usec(), and tsc_getticks().

Referenced by csql_do_session_cmd(), and start_csql().

Here is the caller graph for this function:

void csql_exit ( int  exit_status)

Definition at line 2691 of file csql.c.

References csql_Exit_env, and csql_Exit_status.

Referenced by csql(), csql_check_server_down(), csql_exit_session(), and start_csql().

Here is the caller graph for this function:

static void csql_exit_cleanup ( void  )
static

Definition at line 2631 of file csql.c.

References csql_Database_connected, csql_Error_fp, csql_Input_fp, csql_Is_histo_on, csql_Output_fp, db_end_session(), db_shutdown(), histo_is_supported(), HISTO_OFF, histo_stop(), lang_final(), and NULL.

Referenced by csql().

Here is the caller graph for this function:

static void csql_exit_init ( void  )
static

Definition at line 2609 of file csql.c.

References csql_Database_connected, csql_Error_fp, csql_Exit_status, csql_Input_fp, and csql_Output_fp.

Referenced by csql().

Here is the caller graph for this function:

int csql_get_column_width ( const char *  column_name)

Definition at line 3052 of file csql.c.

References csql_column_width_info_list_index, i, NULL, trim(), and CSQL_COLUMN_WIDTH_INFO::width.

Referenced by csql_do_session_cmd(), and write_results_to_stream().

Here is the caller graph for this function:

static char * csql_get_external_command ( SESSION_CMD  cmd_no)
static

Definition at line 772 of file csql.c.

References assert, csql_Editor_cmd, csql_Pager_cmd, csql_Print_cmd, csql_Shell_cmd, NULL, S_CMD_EDIT_CMD, S_CMD_PAGER_CMD, S_CMD_PRINT_CMD, and S_CMD_SHELL_CMD.

Referenced by csql_do_session_cmd().

Here is the caller graph for this function:

static void csql_get_sys_param ( const char *  arg_str)
static
static bool csql_is_auto_commit_requested ( const CSQL_ARGUMENT csql_arg)
static

Definition at line 3265 of file csql.c.

References assert, CSQL_ARGUMENT::auto_commit, NULL, prm_get_bool_value(), and PRM_ID_CSQL_AUTO_COMMIT.

Referenced by csql_do_session_cmd(), csql_execute_statements(), and start_csql().

Here is the caller graph for this function:

static void csql_pipe_handler ( int  sig_no)
static

Definition at line 390 of file csql.c.

References csql_Jmp_buf.

Referenced by display_buffer().

Here is the caller graph for this function:

static void csql_print_database ( void  )
static

Definition at line 2225 of file csql.c.

References csql_Error_fp, csql_Output_fp, CUB_MAXHOSTNAMELEN, db_get_database_name(), db_get_ha_server_state(), db_get_host_connected(), db_name, db_ws_free(), GETHOSTNAME, HA_DISABLED, and NULL.

Referenced by csql_do_session_cmd().

Here is the caller graph for this function:

int csql_set_column_width_info ( const char *  column_name,
int  column_width 
)
static void csql_set_plan_dump ( const char *  arg_str)
static
static void csql_set_sys_param ( const char *  arg_str)
static
static void csql_write_file ( const char *  file_name,
int  append_flag 
)
static
static void display_buffer ( void  )
static

Definition at line 400 of file csql.c.

References csql_edit_contents_get(), csql_Jmp_buf, csql_Output_fp, csql_Pager_cmd, csql_pclose(), csql_pipe_handler(), csql_pipe_save, csql_popen(), NULL, os_set_signal_handler(), p, and strlen.

Referenced by csql_do_session_cmd().

Here is the caller graph for this function:

static void display_error ( DB_SESSION session,
int  stmt_start_line_no 
)
static

Definition at line 1701 of file csql.c.

References csql_check_server_down(), csql_display_session_err(), CSQL_ERR_SQL_ERROR, csql_Error_code, csql_Scratch_text, nonscr_display_error(), and SCRATCH_TEXT_LEN.

Referenced by csql_execute_statements().

Here is the caller graph for this function:

static void free_attr_spec ( DB_QUERY_TYPE **  attr_spec)
static

Definition at line 2212 of file csql.c.

References db_query_format_free(), and NULL.

Referenced by csql_execute_statements().

Here is the caller graph for this function:

static void free_csql_column_width_info_list ( )
static

Definition at line 312 of file csql.c.

References csql_column_width_info_list_index, csql_column_width_info_list_size, free_and_init, i, option::name, and NULL.

Referenced by csql_exit_session().

Here is the caller graph for this function:

static int get_column_name_argument ( char **  column_name,
char **  val_str,
char *  argument 
)
static

Definition at line 3095 of file csql.c.

References assert, CSQL_FAILURE, CSQL_SUCCESS, NULL, p, strlen, and trim().

Referenced by csql_do_session_cmd().

Here is the caller graph for this function:

static int get_host_ip ( unsigned char *  ip_addr)
static

Definition at line 3272 of file csql.c.

References CUB_MAXHOSTNAMELEN, NULL, and strlen.

Referenced by csql().

Here is the caller graph for this function:

static int initialize_csql_column_width_info_list ( )
static
static void signal_intr ( int  sig_no)
static

Definition at line 2457 of file csql.c.

References csql_Is_interactive, csql_Is_sigint_caught, db_set_interrupt(), FALSE, and TRUE.

Referenced by csql().

Here is the caller graph for this function:

static void signal_stop ( int  sig_no)
static

Definition at line 2485 of file csql.c.

References os_send_signal(), and os_set_signal_handler().

static void start_csql ( CSQL_ARGUMENT csql_arg)
static

Definition at line 472 of file csql.c.

References CSQL_ARGUMENT::column_output, CSQL_ARGUMENT::command, csql_Database_connected, csql_do_session_cmd(), csql_edit_contents_append(), csql_edit_contents_clear(), csql_edit_contents_finalize(), CSQL_ERR_INVALID_ARG_COMBINATION, CSQL_ERR_OS_ERROR, csql_Error_code, csql_Error_fp, csql_execute_statements(), csql_exit(), csql_exit_session(), csql_fputs_console_conv(), csql_get_message(), CSQL_INITIAL_CSQL_TITLE, CSQL_INITIAL_HELP_MSG, csql_Input_fp, csql_is_auto_commit_requested(), csql_Is_histo_on, csql_Is_interactive, csql_is_statement_complete(), csql_is_statement_in_block(), csql_Output_fp, csql_Prompt, csql_Scratch_text, CSQL_SESSION_COMMAND_PREFIX, CSQL_SUCCESS, csql_text_console_to_utf8, csql_text_utf8_to_console, csql_Tty_fp, csql_walk_statement(), db_Connect_status, DB_CONNECTION_STATUS_CONNECTED, db_end_session(), db_shutdown(), DO_CMD_EXIT, DO_CMD_FAILURE, EDITOR_INPUT, FILE_INPUT, histo_is_supported(), HISTO_OFF, histo_stop(), initialize_csql_column_width_info_list(), INTL_CODESET_UTF8, intl_is_bom_magic(), INTL_UTF8_MAX_CHAR_SIZE, lang_charset(), lang_get_txt_conv(), LINE_BUFFER_SIZE, CSQL_ARGUMENT::line_output, logddl_set_commit_mode(), NO_ERROR, nonscr_display_error(), NULL, CSQL_ARGUMENT::out_file_name, prm_get_integer_value(), PRM_ID_CSQL_HISTORY_NUM, pt_get_keyword_rec(), SCRATCH_TEXT_LEN, CSQL_ARGUMENT::single_line_execution, STRING_INPUT, strlen, text_conversion::text_to_utf8_func, and text_conversion::utf8_to_text_func.

Referenced by csql().

Here is the caller graph for this function:

Variable Documentation

CSQL_COLUMN_WIDTH_INFO* csql_column_width_info_list = NULL
static

Definition at line 184 of file csql.c.

int csql_column_width_info_list_index = 0
static
int csql_column_width_info_list_size = 0
static
bool csql_Database_connected = false
static
char csql_Editor_cmd[PATH_MAX] = "vi"

Definition at line 129 of file csql.c.

Referenced by csql(), csql_get_external_command(), and csql_invoke_system_editor().

jmp_buf csql_Exit_env
static

Definition at line 168 of file csql.c.

Referenced by csql(), and csql_exit().

int csql_Exit_status = EXIT_SUCCESS
static

Definition at line 169 of file csql.c.

Referenced by csql(), csql_exit(), and csql_exit_init().

FILE* csql_Input_fp = NULL
bool csql_Is_echo_on = false
static

Definition at line 176 of file csql.c.

Referenced by csql_do_session_cmd(), and csql_execute_statements().

int csql_Is_histo_on = HISTO_OFF
static

Definition at line 179 of file csql.c.

Referenced by csql_do_session_cmd(), csql_exit_cleanup(), csql_exit_session(), and start_csql().

bool csql_Is_interactive = false
static
bool csql_Is_sigint_caught = false
static

Definition at line 175 of file csql.c.

Referenced by signal_intr().

bool csql_Is_time_on = true
static

Definition at line 180 of file csql.c.

Referenced by csql_do_session_cmd(), and csql_execute_statements().

jmp_buf csql_Jmp_buf
static

Definition at line 182 of file csql.c.

Referenced by csql_pipe_handler(), and display_buffer().

int csql_Line_lwm = -1

Definition at line 121 of file csql.c.

char csql_Name[100]
static

Definition at line 151 of file csql.c.

Referenced by csql().

int csql_Num_failures

Definition at line 118 of file csql.c.

Referenced by csql_execute_statements(), and csql_results().

char csql_Print_cmd[PATH_MAX] = "lpr"

Definition at line 124 of file csql.c.

Referenced by csql(), csql_get_external_command(), and csql_print_buffer().

char csql_Prompt[100]
static

Definition at line 150 of file csql.c.

Referenced by csql(), and start_csql().

bool csql_Query_trace = false
static

Definition at line 188 of file csql.c.

Referenced by csql_execute_statements(), and csql_set_trace().

int csql_Row_count

Definition at line 117 of file csql.c.

Referenced by csql_execute_statements(), and write_results_to_stream().

char csql_Shell_cmd[PATH_MAX] = "csh"

Definition at line 135 of file csql.c.

Referenced by csql(), csql_do_session_cmd(), and csql_get_external_command().

int(* csql_text_console_to_utf8) (const char *, const int, char **, int *) = NULL

Definition at line 115 of file csql.c.

Referenced by start_csql().

int(* csql_text_utf8_to_console) (const char *, const int, char **, int *) = NULL
FILE* csql_Tty_fp = NULL
static