typedef  if not exists STRSTR = varchar ;

typedef  if not exists VENUM	=  enum {
                        "0":["command", 	"命令"],
                        "1":["shell",		"shell脚本"],
                        "2":["lua",			"lua脚本"],
                        "3":["task",		"任务"],
                        "4":["js",			"js脚本"]
                    } ;

typedef  if not exists	FLIST  =  float[0..?]	;

typedef  if not exists	FFLIST  =  FLIST ;

typedef  if not exists	FFFLIST = 	FFLIST ;

create class if not exists /test();

create class if not exists /test/collect (
    v_varchar		varchar,
    v_map			map<STRSTR, STRSTR>,
    v_list			list<STRSTR>,
    d_list			double[2..3],
    f_list			FFFLIST,
    i_list			list<int>,
    v_set			set<STRSTR>,
    v_type			VENUM,
    indexes(v_varchar, v_map, v_list, v_set, v_type, d_list, f_list, i_list),
    keys(v_varchar)
);
