xo::db::sql::acs_attribute proc create_attribute (public)

 xo::db::sql::acs_attribute[i] create_attribute [ -dbn dbn ] \
    -object_type object_type  -attribute_name attribute_name  \
    -datatype datatype  -pretty_name pretty_name  \
    [ -pretty_plural pretty_plural ] [ -table_name table_name ] \
    [ -column_name column_name ] [ -default_value default_value ] \
    [ -min_n_values min_n_values ] [ -max_n_values max_n_values ] \
    [ -sort_order sort_order ] [ -storage storage ] \
    [ -static_p static_p ] [ -create_column_p create_column_p ] \
    [ -database_type database_type ] [ -size size ] [ -null_p null_p ] \
    [ -references references ] [ -check_expr check_expr ] \
    [ -column_spec column_spec ]

Defined in packages/xotcl-core/tcl/05-db-procs.tcl

Automatically generated method

Switches:
-dbn
(optional)
-object_type
(required)
-attribute_name
(required)
-datatype
(required)
-pretty_name
(required)
-pretty_plural
(optional)
-table_name
(optional)
-column_name
(optional)
-default_value
(optional)
-min_n_values
(defaults to "1") (optional)
-max_n_values
(defaults to "1") (optional)
-sort_order
(optional)
-storage
(defaults to "type_specific") (optional)
-static_p
(defaults to "f") (optional)
-create_column_p
(defaults to "f") (optional)
-database_type
(optional)
-size
(optional)
-null_p
(defaults to "t") (optional)
-references
(optional)
-check_expr
(optional)
-column_spec
(optional)

Partial Call Graph (max 5 caller/called nodes):
%3 test_xotcl_core_tutorial_2 xotcl_core_tutorial_2 (test xotcl-core) xo::db::sql::acs_attribute proc create_attribute xo::db::sql::acs_attribute proc create_attribute test_xotcl_core_tutorial_2->xo::db::sql::acs_attribute proc create_attribute db_with_handle db_with_handle (public) xo::db::sql::acs_attribute proc create_attribute->db_with_handle

Testcases:
xotcl_core_tutorial_2
Source code:
#function_args: {OBJECT_TYPE {}} {ATTRIBUTE_NAME {}} {DATATYPE {}} {PRETTY_NAME {}} {PRETTY_PLURAL null} {TABLE_NAME null} {COLUMN_NAME null} {DEFAULT_VALUE null} {MIN_N_VALUES 1} {MAX_N_VALUES 1} {SORT_ORDER null} {STORAGE type_specific} {STATIC_P f} {CREATE_COLUMN_P f} {DATABASE_TYPE null} {SIZE null} {NULL_P t} {REFERENCES null} {CHECK_EXPR null} {COLUMN_SPEC null}
foreach var [list OBJECT_TYPE ATTRIBUTE_NAME DATATYPE PRETTY_NAME PRETTY_PLURAL TABLE_NAME COLUMN_NAME DEFAULT_VALUE MIN_N_VALUES MAX_N_VALUES SORT_ORDER STORAGE STATIC_P CREATE_COLUMN_P DATABASE_TYPE SIZE NULL_P REFERENCES CHECK_EXPR COLUMN_SPEC]  {
  set varname [string tolower $var]
  if {[info exists $varname]} {
    set $var [set $varname]
    set _$var :$var
  } else {
    set _$var null
  }
}
set sql "
select acs_attribute__create_attribute($_OBJECT_TYPE$_ATTRIBUTE_NAME$_DATATYPE$_PRETTY_NAME$_PRETTY_PLURAL$_TABLE_NAME$_COLUMN_NAME$_DEFAULT_VALUE$_MIN_N_VALUES$_MAX_N_VALUES$_SORT_ORDER$_STORAGE$_STATIC_P$_CREATE_COLUMN_P$_DATABASE_TYPE$_SIZE$_NULL_P$_REFERENCES$_CHECK_EXPR$_COLUMN_SPEC) 
    "
db_with_handle -dbn $dbn db {
  #ns_log notice "--sql=$sql"
  return [ ns_set value [ns_pg_bind 0or1row $db $sql] 0 ]
}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: