create  class itrack_attach_file under glo
(
	username		varchar(20),
	filename		string
)
method class itrack_str_to_object(string) object function itrack_str_to_object
file '$UNICAS/lib/itrack_method.so'

create class itrack_info_table
(
	issue_table_name	varchar(40) unique not null,
	info_table_name		varchar(40),
	display_name		varchar(40) unique not null
);

create class itrack_info_user
(
	user_id		varchar(15) unique not null,
	user_name	varchar(15) unique not null,
	email		varchar(30) not null,
	team		varchar(50),
	working_table	varchar(20),
	login_key	int
);

insert into itrack_info_table(issue_table_name, info_table_name, display_name) values('itrack_issue_dev', 'itrack_info_issue_dev', '');

create serial itrack_serial_dev start with 1000000;

create class itrack_info_issue_dev
(
	display_name		varchar(30) unique not null,
	db_attribute_name	varchar(30) unique not null,
	db_attribute_type	varchar(30) not null,
	form_element_type	varchar(20),
	select_items		sequence(varchar(30)),
	opened_mandatory	char(1),
	resolved_mandatory	char(1),
	closed_mandatory	char(1),
	detail_view_display_col	short,
	detail_view_display_row	short,
	display_size_x		int,
	display_size_y		int,
	grant_mandatory		sequence(varchar(50)),
	itrack_system_field	char(1)
);

create	class	itrack_issue_dev
(
	id			varchar(10) unique,
	title			varchar(200),
	status			varchar(20),
	opened_date		date,
	opened_by		varchar(20),
	resolved_date		date,
	resolved_by		varchar(20),
	closed_date		date,
	closed_by		varchar(20),
	description		sequence(string),
	files			sequence(itrack_attach_file),
	repro_step		string,
	path			varchar(100),
	assigned		varchar(20),
	issue_type		varchar(20),
	severity		char(1),
	priority		char(1),
	platform		varchar(100),
	issue_build_number	varchar(30),
	how_found		varchar(20),
	issue_source		varchar(20),
	resolved_build_number	varchar(30),
	resolution		varchar(20),
	reviewer		varchar(40),
	code_name		varchar(40),
	milestone		varchar(30),
	blocking		varchar(10),
	triage			varchar(20),
	doc_change		varchar(10),
	test_change		varchar(10),
	flag			varchar(30),
	cvs_revision		string,
	duplicate_id		varchar(10),
	expectation_date	date,
	backward_compatibility varchar(10),
	last_update		timestamp
);

create trigger trg_issue_dev
deferred insert on itrack_issue_dev
execute deferred
update object obj set id = (select to_char(itrack_serial_dev.next_value) from db_root);

commit work;
