Skip to content

File csql.c

FileList > cubrid > src > executables > csql.c

Go to the source code of this file

  • #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 "utility.h"
  • #include "tsc_timer.h"
  • #include "dbtype.h"
  • #include "jsp_cl.h"
  • #include "db_session.h"
  • #include "cas_log.h"
  • #include "ddl_log.h"
  • #include "network_histogram.hpp"
  • #include "host_lookup.h"
  • #include "network_interface_cl.h"
  • #include "boot_cl.h"
  • #include "boot_sr.h"
  • #include "catalog_class.h"

Public Types

Type Name
enum CSQL_PROMPT_TYPE
enum csql_8c_1a9e93d8eae633734dfeb29e24a1f3a7c0
enum csql_8c_1ade9ca5088d171ad20b4c237f1c2d6260
enum csql_8c_1aeb8e1c282570d629a6b603a94a4650d6

Public Attributes

Type Name
char csql_Db_name
char csql_Editor_cmd = "vi"
int csql_Error_code = [**NO\_ERROR**](error__code_8h.md#define-no_error)
FILE * csql_Error_fp = [**NULL**](freelistheap_8h.md#define-null)
char csql_Formatter_cmd
FILE * csql_Input_fp = [**NULL**](freelistheap_8h.md#define-null)
int csql_Line_lwm = -1
int csql_Num_failures
FILE * csql_Output_fp = [**NULL**](freelistheap_8h.md#define-null)
char csql_Pager_cmd = "more"
char csql_Print_cmd = "lpr"
int csql_Row_count
char csql_Scratch_text
char csql_Shell_cmd = "csh"
int(* csql_text_console_to_utf8 = [**NULL**](freelistheap_8h.md#define-null)
int(* csql_text_utf8_to_console = [**NULL**](freelistheap_8h.md#define-null)

Public Static Attributes

Type Name
bool csql_Database_connected = [**false**](broker__monitor_8c.md#function-timeout)
jmp_buf csql_Exit_env
int csql_Exit_status = [**EXIT\_SUCCESS**](broker__monitor_8c.md#function-timeout)
bool csql_Is_echo_on = [**false**](broker__monitor_8c.md#function-timeout)
int csql_Is_histo_on = HISTO\_OFF
bool csql_Is_interactive = [**false**](broker__monitor_8c.md#function-timeout)
bool csql_Is_sigint_caught = [**false**](broker__monitor_8c.md#function-timeout)
bool csql_Is_time_on = [**true**](broker__monitor_8c.md#function-timeout)
jmp_buf csql_Jmp_buf
KEYWORD_RECORD * csql_Keyword_list
int csql_Keyword_num
char csql_Prompt
char csql_Prompt_format
char csql_Prompt_offline
CSQL_PROMPT_TYPE csql_Prompt_user_defined = CSQL\_PROMPT\_DEFAULT
char csql_Prompt_username
bool csql_Query_trace = [**false**](broker__monitor_8c.md#function-timeout)
FILE * csql_Tty_fp = [**NULL**](freelistheap_8h.md#define-null)
CSQL_COLUMN_WIDTH_INFO * csql_column_width_info_list = [**NULL**](freelistheap_8h.md#define-null)
int csql_column_width_info_list_index = 0
int csql_column_width_info_list_size = 0

Public Functions

Type Name
int csql (const char * argv0, CSQL_ARGUMENT * csql_arg)
void csql_display_msg (const char * string)
void csql_exit (int exit_status)
int csql_get_column_width (const char * column_name)
const char * csql_get_message (int message_index)
int csql_set_column_width_info (const char * column_name, int column_width)

Public Static Functions

Type Name
void change_prompt (char * fmt, char * prompt, int prompt_size)
void crash_handler (int signo, siginfo_t * siginfo, void * dummyp)
void csql_apply_catalog_rebuild_mode (CSQL_ARGUMENT * csql_arg, int * client_type)
void csql_change_working_directory (const char * dirname)
char ** csql_cmd_completion_handler (const char * text, int start, int end)
int csql_connect (char * argument, CSQL_ARGUMENT * csql_arg)
void csql_display_trace (void)
int csql_do_session_cmd (char * line_read, CSQL_ARGUMENT * csql_arg)
int csql_execute_query (const char * stmts)
int csql_execute_statements (const CSQL_ARGUMENT * csql_arg, int type, const void * stream, int line_no)
void csql_exit_cleanup (void)
void csql_exit_init (void)
void csql_exit_session (int error, bool exit_flag)
char * csql_get_external_command (SESSION_CMD cmd_no)
void csql_get_sys_param (const char * arg_str)
bool csql_is_auto_commit_requested (const CSQL_ARGUMENT * csql_arg)
char * csql_keyword_generator (const char * text, int state)
void csql_pipe_handler (int sig_no)
void csql_print_buffer (void)
void csql_print_database (void)
void csql_print_server_output (const CSQL_ARGUMENT * csql_arg)
void csql_read_file (const char * file_name)
int csql_rebuild_catalog (const CSQL_ARGUMENT * csql_arg)
void csql_set_plan_dump (const char * arg_str)
void csql_set_server_output (CSQL_ARGUMENT * csql_arg, bool server_output)
void csql_set_sys_param (const char * arg_str)
void csql_set_trace (const char * arg_str)
void csql_write_file (const char * file_name, int append_flag)
void display_buffer (void)
void display_error (DB_SESSION * session, int stmt_start_line_no)
void free_attr_spec (DB_QUERY_TYPE ** attr_spec)
void free_csql_column_width_info_list ()
int get_column_name_argument (char ** column_name, char ** val_str, char * argument)
int get_host_ip (unsigned char * ip_addr)
void init_readline ()
int initialize_csql_column_width_info_list ()
void register_crash_signal_handler (int signo)
void signal_intr (int sig_no)
void signal_stop (int sig_no)
void start_csql (CSQL_ARGUMENT * csql_arg)

Macros

Type Name
define COLUMN_WIDTH_INFO_LIST_INIT_SIZE 24
define CSQL_SESSION_COMMAND_PREFIX (C) ((([**C**](broker__monitor_8c.md#function-timeout)) == ';') \|\| (([**C**](broker__monitor_8c.md#function-timeout)) == '!'))
define DB_NAME_LEN [**MAXLOGNAME**](log__storage_8hpp.md#variable-maxlogname)
define FREE_MEM (PTR) /* multi line expression */
define LINE_BUFFER_SIZE (4000)
define NOT_FOUND -1

Public Types Documentation

enum CSQL_PROMPT_TYPE

enum CSQL_PROMPT_TYPE {
    CSQL_PROMPT_DEFAULT,
    CSQL_PROMPT_USER_DEFINED,
    CSQL_PROMPT_USER_DEFINED_INCLUDE_USERNAME
};

enum csql_8c_1a9e93d8eae633734dfeb29e24a1f3a7c0

enum csql_8c_1a9e93d8eae633734dfeb29e24a1f3a7c0 {
    DO_CMD_SUCCESS = 0,
    DO_CMD_FAILURE = 1,
    DO_CMD_CONNECT = 2,
    DO_CMD_EXIT = 3
};

enum csql_8c_1ade9ca5088d171ad20b4c237f1c2d6260

enum csql_8c_1ade9ca5088d171ad20b4c237f1c2d6260 {
    FILE_INPUT = 0,
    STRING_INPUT = 1,
    EDITOR_INPUT = 2
};

enum csql_8c_1aeb8e1c282570d629a6b603a94a4650d6

enum csql_8c_1aeb8e1c282570d629a6b603a94a4650d6 {
    HISTO_OFF,
    HISTO_ON
};

Public Attributes Documentation

variable csql_Db_name

char csql_Db_name[512];

variable csql_Editor_cmd

char csql_Editor_cmd[PATH_MAX];

variable csql_Error_code

int csql_Error_code;

variable csql_Error_fp

FILE* csql_Error_fp;

variable csql_Formatter_cmd

char csql_Formatter_cmd[PATH_MAX];

variable csql_Input_fp

FILE* csql_Input_fp;

variable csql_Line_lwm

int csql_Line_lwm;

variable csql_Num_failures

int csql_Num_failures;

variable csql_Output_fp

FILE* csql_Output_fp;

variable csql_Pager_cmd

char csql_Pager_cmd[PATH_MAX];

variable csql_Print_cmd

char csql_Print_cmd[PATH_MAX];

variable csql_Row_count

int csql_Row_count;

variable csql_Scratch_text

char csql_Scratch_text[(4096)];

variable csql_Shell_cmd

char csql_Shell_cmd[PATH_MAX];

variable csql_text_console_to_utf8

int(* csql_text_console_to_utf8) (const char *, const int, char **, int *);

variable csql_text_utf8_to_console

int(* csql_text_utf8_to_console) (const char *, const int, char **, int *);

Public Static Attributes Documentation

variable csql_Database_connected

bool csql_Database_connected;

variable csql_Exit_env

jmp_buf csql_Exit_env;

variable csql_Exit_status

int csql_Exit_status;

variable csql_Is_echo_on

bool csql_Is_echo_on;

variable csql_Is_histo_on

int csql_Is_histo_on;

variable csql_Is_interactive

bool csql_Is_interactive;

variable csql_Is_sigint_caught

bool csql_Is_sigint_caught;

variable csql_Is_time_on

bool csql_Is_time_on;

variable csql_Jmp_buf

jmp_buf csql_Jmp_buf;

variable csql_Keyword_list

KEYWORD_RECORD* csql_Keyword_list;

variable csql_Keyword_num

int csql_Keyword_num;

variable csql_Prompt

char csql_Prompt[100];

variable csql_Prompt_format

char csql_Prompt_format[100];

variable csql_Prompt_offline

char csql_Prompt_offline[101];

variable csql_Prompt_user_defined

CSQL_PROMPT_TYPE csql_Prompt_user_defined;

variable csql_Prompt_username

char csql_Prompt_username[100];

variable csql_Query_trace

bool csql_Query_trace;

variable csql_Tty_fp

FILE* csql_Tty_fp;

variable csql_column_width_info_list

CSQL_COLUMN_WIDTH_INFO* csql_column_width_info_list;

variable csql_column_width_info_list_index

int csql_column_width_info_list_index;

variable csql_column_width_info_list_size

int csql_column_width_info_list_size;

Public Functions Documentation

function csql

int csql (
    const  char * argv0,
    CSQL_ARGUMENT * csql_arg
) 

function csql_display_msg

void csql_display_msg (
    const  char * string
) 

function csql_exit

void csql_exit (
    int exit_status
) 

function csql_get_column_width

int csql_get_column_width (
    const  char * column_name
) 

function csql_get_message

const  char * csql_get_message (
    int message_index
) 

function csql_set_column_width_info

int csql_set_column_width_info (
    const  char * column_name,
    int column_width
) 

Public Static Functions Documentation

function change_prompt

static void change_prompt (
    char * fmt,
    char * prompt,
    int prompt_size
) 

function crash_handler

static void crash_handler (
    int signo,
    siginfo_t * siginfo,
    void * dummyp
) 

function csql_apply_catalog_rebuild_mode

static inline void csql_apply_catalog_rebuild_mode (
    CSQL_ARGUMENT * csql_arg,
    int * client_type
) 

function csql_change_working_directory

static void csql_change_working_directory (
    const  char * dirname
) 

function csql_cmd_completion_handler

static char ** csql_cmd_completion_handler (
    const  char * text,
    int start,
    int end
) 

function csql_connect

static int csql_connect (
    char * argument,
    CSQL_ARGUMENT * csql_arg
) 

function csql_display_trace

static void csql_display_trace (
    void
) 

function csql_do_session_cmd

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

function csql_execute_query

static int csql_execute_query (
    const  char * stmts
) 

function csql_execute_statements

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

function csql_exit_cleanup

static void csql_exit_cleanup (
    void
) 

function csql_exit_init

static void csql_exit_init (
    void
) 

function csql_exit_session

static void csql_exit_session (
    int error,
    bool exit_flag
) 

function csql_get_external_command

static char * csql_get_external_command (
    SESSION_CMD cmd_no
) 

function csql_get_sys_param

static void csql_get_sys_param (
    const  char * arg_str
) 

function csql_is_auto_commit_requested

static bool csql_is_auto_commit_requested (
    const  CSQL_ARGUMENT * csql_arg
) 

function csql_keyword_generator

static char * csql_keyword_generator (
    const  char * text,
    int state
) 

function csql_pipe_handler

static void csql_pipe_handler (
    int sig_no
) 

function csql_print_buffer

static void csql_print_buffer (
    void
) 

function csql_print_database

static void csql_print_database (
    void
) 

function csql_print_server_output

static void csql_print_server_output (
    const  CSQL_ARGUMENT * csql_arg
) 

function csql_read_file

static void csql_read_file (
    const  char * file_name
) 

function csql_rebuild_catalog

static inline int csql_rebuild_catalog (
    const  CSQL_ARGUMENT * csql_arg
) 

function csql_set_plan_dump

static void csql_set_plan_dump (
    const  char * arg_str
) 

function csql_set_server_output

static void csql_set_server_output (
    CSQL_ARGUMENT * csql_arg,
    bool server_output
) 

function csql_set_sys_param

static void csql_set_sys_param (
    const  char * arg_str
) 

function csql_set_trace

static void csql_set_trace (
    const  char * arg_str
) 

function csql_write_file

static void csql_write_file (
    const  char * file_name,
    int append_flag
) 

function display_buffer

static void display_buffer (
    void
) 

function display_error

static void display_error (
    DB_SESSION * session,
    int stmt_start_line_no
) 

function free_attr_spec

static void free_attr_spec (
    DB_QUERY_TYPE ** attr_spec
) 

function free_csql_column_width_info_list

static void free_csql_column_width_info_list () 

function get_column_name_argument

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

function get_host_ip

static int get_host_ip (
    unsigned  char * ip_addr
) 

function init_readline

static void init_readline () 

function initialize_csql_column_width_info_list

static int initialize_csql_column_width_info_list () 

function register_crash_signal_handler

static void register_crash_signal_handler (
    int signo
) 

function signal_intr

static void signal_intr (
    int sig_no
) 

function signal_stop

static void signal_stop (
    int sig_no
) 

function start_csql

static void start_csql (
    CSQL_ARGUMENT * csql_arg
) 

Macro Definition Documentation

define COLUMN_WIDTH_INFO_LIST_INIT_SIZE

#define COLUMN_WIDTH_INFO_LIST_INIT_SIZE `24`

define CSQL_SESSION_COMMAND_PREFIX

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

define DB_NAME_LEN

#define DB_NAME_LEN `MAXLOGNAME`

define FREE_MEM

#define FREE_MEM (
    PTR
) `/* multi line expression */`

define LINE_BUFFER_SIZE

#define LINE_BUFFER_SIZE `(4000)`

define NOT_FOUND

#define NOT_FOUND `-1`


The documentation for this class was generated from the following file cubrid/src/executables/csql.c