_acs-tcl__datamodel__acs_attribute_check (private)
_acs-tcl__datamodel__acs_attribute_check
Defined in packages/acs-tcl/tcl/test/datamodel-test-procs.tcl
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set _aa_export {} set body_count 1 foreach testcase_body {{ array set allow_types { string {TEXT VARCHAR CHAR VARCHAR2} boolean {BOOL INT2 INT4 CHAR BPCHAR} number {NUMERIC INT2 INT4 INT8 FLOAT4 FLOAT8 NUMBER} integer {INT2 INT4 INT8 NUMBER} money {NUMERIC FLOAT4 FLOAT8} timestamp {TIMESTAMP TIMESTAMPTZ} time_of_day {TIMESTAMP TIMESTAMPTZ} enumeration {INT2 INT4 INT8} url {VARCHAR TEXT VARCHAR2} email {VARCHAR TEXT VARCHAR2} text {VARCHAR TEXT CLOB VARCHAR2} keyword {CHAR VARCHAR TEXT VARCHAR2} } db_foreach attribute { select a.*, lower(ot.table_name) as obj_type_table from acs_attributes a, acs_object_types ot where ot.object_type = a.object_type order by a.object_type } { if {[string tolower $table_name] ne $table_name } { aa_log_result fail "Type $object_type attribute $table_name.$attribute_name mixed case" set table_name [string tolower $table_name] } elseif {[string is space $table_name]} { set table_name $obj_type_table } switch -exact $storage { type_specific { if {![info exists columns($table_name)]} { set columns($table_name) [db_columns $table_name] } if {[string is space $column_name]} { set column_name $attribute_name } set column_name [string tolower $column_name] if {$column_name ni $columns($obj_type_table)} { aa_log_result fail "Type $object_type attribute column $column_name not found in $obj_type_table" } else { # check the type of the column is vaguely like the acs_datatype type. if {[info exists allow_types($datatype)]} { set actual_type [db_column_type $table_name $column_name] if {$actual_type eq "-1"} { aa_log_result fail "Type $object_type attribute $attribute_name database type get for ($table_name.$column_name) failed" } else { if {$actual_type ni $allow_types($datatype)} { aa_log_result fail "Type $object_type attribute $attribute_name database type was $actual_type for $datatype" } } } } } generic { # nothing really to do here... } default { # it was null which is probably not sensible. aa_log_result fail "Type $object_type attribute $table_name.$attribute_name storage type null" } } } }} { aa_log "Running testcase body $body_count" set ::__aa_test_indent [info level] set catch_val [catch $testcase_body msg] if {$catch_val != 0 && $catch_val != 2} { aa_log_result "fail" "datamodel__acs_attribute_check (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo" } incr body_count }XQL Not present: Generic, PostgreSQL, Oracle