/*
=====================================================================
                        Source: set.rule
=====================================================================
*/


set_cmd :
	opt_use2_p SQLSEON 		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_EXPLAIN");}
	| opt_use2_p SQLSEOFF 		{$<cmd>$=new_sql_cmd($<ptr>1,$<str>2); add_feature("SET_EXPLAIN");}
	| opt_use2_p SQLSLMW op_int_val {char buff[256]; SPRINTF2(buff,"%s %s",$<str>2,$<str>3); $<cmd>$=new_sql_cmd($<ptr>1, buff); add_feature("SET_LOCK_MODE");}
	| opt_use2_p SQLSLMNW  		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_LOCK_MODE");}
	| opt_use2_p SQLSIDR   		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_ISOLATION");}
	| opt_use2_p SQLSIRR   		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_ISOLATION");}
	| opt_use2_p SQLSICS   		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_ISOLATION");}
	| opt_use2_p SQLSICR   		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_ISOLATION");}
	| opt_use2_p SET_CONSTRAINTS_ALL_DEFERRED   		{$<cmd>$=new_sql_cmd($<ptr>1, $<str>2); add_feature("SET_CONSTRAINTS_ALL_DEFERRED");}
	| opt_use2_p SET_DEBUG_FILE_TO fgl_expr_c {$<cmd>$=new_sql_debug_file_to_cmd($<ptr>1, $<ptr>3); }
;

set_session_cmd : 
	SET_SESSION_TO conn_id_p { 
		$<cmd>$=new_set_session_cmd("session",$<ptr>2,NULL,NULL);
	}
	| SET_SESSION op_conn_id_p OPTION char_or_var_vl KW_TO char_or_var_vl {
		$<cmd>$=new_set_session_cmd("conn",$<ptr>2,$<ptr>4,$<ptr>6);
	}
	| SET_CURSOR cursor_name_1_p OPTION char_or_var_vl KW_TO char_or_var_vl {
		$<cmd>$=new_set_session_cmd("stmt",$<ptr>2,$<ptr>4,$<ptr>6);
	}
;

op_conn_id_p : 
        {$<ptr>$=0;} 
        | conn_id_p {$<ptr>$=$<ptr>1;}


;



op_int_val :
	{strcpy($<str>$,"");} | INT_VALUE
;


/* ================================================================ */