/* ===================================================================== Source: init.rule ===================================================================== */ init_cmd : INITIALIZE init_bind_var_list KW_TO null_or_not_null { $$= new_init_cmd($2, NULL,$4); add_feature("INITIALIZE_NULL"); } | INITIALIZE init_bind_var_list LIKE init_tab_list { add_feature("INITIALIZE_LIKE"); $$= new_init_cmd($2, $4,0); } ; null_or_not_null: KW_NULL {$$=1;} | NOT_NULL {$$=0;} ; init_tab_list : init_tab { $$=malloc(sizeof(struct str_list)); $$->str_list_entry.str_list_entry_len=0; $$->str_list_entry.str_list_entry_val=0; add_to_str_list_set_record($$, &$1); } | init_tab_list KW_COMMA init_tab { $$=$1; add_to_str_list_set_record($$, &$3); } ; init_tab : init_table_name KW_DOT column_name { $$.tab=strdup($1); $$.col=strdup($3); } | init_table_name KW_DOT KW_MULTIPLY { $$.tab=strdup($1); $$.col=0; } ; init_table_name: table_name {strcpy($$,$1);} ; /* =============================== init.rule ======================== */