Index: openacs-4/packages/schema-browser/tcl/schema-browser-procs-postgresql.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/schema-browser/tcl/schema-browser-procs-postgresql.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/schema-browser/tcl/schema-browser-procs-postgresql.tcl 28 Mar 2018 23:36:17 -0000 1.14
+++ openacs-4/packages/schema-browser/tcl/schema-browser-procs-postgresql.tcl 16 May 2018 14:15:52 -0000 1.15
@@ -5,24 +5,15 @@
ad_proc sb_get_tables_list {} {
Get all tables that belong to the current user.
} {
-
- set tables ""
-
- db_foreach schema_browser_index_get_tables "
+ return [db_list schema_browser_index_get_tables {
select
pg_class.relname as table_name
from pg_class, pg_user
where pg_user.usename = session_user and
pg_user.usesysid = pg_class.relowner and
pg_class.relkind = 'r'
order by relname
- " {
- lappend tables $table_name
- }
-
- db_release_unused_handles
- return $tables
-
+ }]
}
ad_proc sb_get_tables { selected_table_name } {
@@ -40,13 +31,13 @@
to the database.}
}
- set n_rows [expr ([llength $tables] - 1) / $n_columns + 1]
+ set n_rows [expr {([llength $tables] - 1) / $n_columns + 1}]
append return_string "
"
for { set row 0 } { $row < $n_rows } { incr row } {
append return_string ""
for {set column 0} {$column < $n_columns} {incr column} {
- set i_element [expr $n_rows * $column + $row]
+ set i_element [expr {$n_rows * $column + $row}]
if { $i_element < [llength $tables] } {
set table_name [lindex $tables $i_element]
if { $table_name == $selected_table_name } {
@@ -72,7 +63,7 @@
Get all non-RI triggers on the table.
} {
set return_string "\n"
- db_foreach sb_get_triggers_select_1 "
+ db_foreach sb_get_triggers_select_1 {
select
tgname as trigger_name,
trigger_type(tgtype) as trigger_type,
@@ -84,7 +75,7 @@
on (c.oid = t.tgrelid)
join pg_proc p on (p.oid = t.tgfoid)
where true
- " {
+ } {
append return_string "\nCREATE TRIGGER $trigger_name $trigger_type EXECUTE PROCEDURE $proname $status"
} if_no_rows {
set return_string ""
@@ -98,7 +89,7 @@
} {
set return_string "\n\n-- Tables with foreign keys that refer to $table_name:"
- db_foreach schema_browser_get_referencess "
+ db_foreach schema_browser_get_referencess {
select distinct r1.relname as child_table,
conname as constraint_name
from
@@ -114,13 +105,13 @@
t.tgfoid = p.oid and
c.conrelid = r.oid and
p.proname = 'RI_FKey_check_ins'
- " {
+ } {
if { $html_anchor_p == "t" } {
append return_string "\n--[string tolower $child_table]"
} else {
append return_string "\n--[string tolower $child_table]"
}
- if { ![string equal $constraint_name ""] } {
+ if { $constraint_name ne "" } {
append return_string "($constraint_name)"
}
} if_no_rows {
@@ -137,7 +128,7 @@
set return_string "\n"
set prev_index ""
- set indexes [db_list_of_lists sb_get_indexes_select_1 "
+ set indexes [db_list_of_lists sb_get_indexes_select_1 {
select
relname as index_name,
case when indisunique then ' UNIQUE' else NULL end as uniqueness,
@@ -148,14 +139,14 @@
on (i.indrelid = c.oid)
join pg_class index_class on (index_class.oid = i.indexrelid and not i.indisprimary)
join pg_am a on (index_class.relam = a.oid)
- order by index_name"]
+ order by index_name}]
- if {![empty_string_p $pki]} {
+ if {$pki ne ""} {
lappend indexes [list {PRIMARY KEY} { UNIQUE} {} $pki]
}
foreach index $indexes {
- foreach {index_name uniqueness index_type indkey} $index {}
+ lassign $index index_name uniqueness index_type indkey
set index_clause "([join [split $indkey " "] ","])"
@@ -207,7 +198,7 @@
} {
set complex_foreign_keys [list]
- db_foreach schema_browser_get_referencess "
+ db_foreach schema_browser_get_referencess {
select t.tgargs as constraint_args,
conname as constraint_name,
'NOACTION' as action,
@@ -258,13 +249,13 @@
c.conrelid = r.oid and
not p.proname like 'RI%_check_%'
order by oid, sort_key
- " {
+ } {
set one_ri_datum [list]
set arg_start 0
- while { ![empty_string_p $constraint_args] } {
- set arg_end [expr [string first "\\000" $constraint_args] - 1]
+ while { $constraint_args ne "" } {
+ set arg_end [expr {[string first "\\000" $constraint_args] - 1}]
lappend one_ri_datum [string range $constraint_args $arg_start $arg_end]
- set constraint_args [string range $constraint_args [expr $arg_end+5] end]
+ set constraint_args [string range $constraint_args [expr {$arg_end+5}] end]
}
switch $trigger_kind {
CHECK {
@@ -275,7 +266,7 @@
lappend complex_foreign_keys $foreign_key_sql
}
}
- if { [string equal $constraint_name ""] } {
+ if { $constraint_name eq "" } {
set foreign_key_sql ""
} else {
set foreign_key_sql "CONSTRAINT $constraint_name "
@@ -296,7 +287,7 @@
append foreign_key_sql "REFERENCES $refer_table ($refer_var_part)"
}
default {
- if { ![string equal $action "NOACTION"] } {
+ if { $action ne "NOACTION" } {
append foreign_key_sql " $trigger_kind $action"
}
}
@@ -336,18 +327,18 @@
@author Gabriel Burca (gburca-openacs@ebixio.com)
@creation-date 2004-06-27
} {
- set res [db_0or1row sb_get_table_size "
- select relpages * :block_size as size_in_bytes, reltuples as table_rows
- from pg_class
- where relnamespace = (select oid from pg_namespace where nspname = :namespace)
- and relname = :table_name
- "]
- if {$res} {
- return [list $size_in_bytes $table_rows]
- } else {
- # No such table in the namespace?
- return [list -1 -1]
- }
+ set res [db_0or1row sb_get_table_size {
+ select relpages * :block_size as size_in_bytes, reltuples as table_rows
+ from pg_class
+ where relnamespace = (select oid from pg_namespace where nspname = :namespace)
+ and relname = :table_name
+ }]
+ if {$res} {
+ return [list $size_in_bytes $table_rows]
+ } else {
+ # No such table in the namespace?
+ return [list -1 -1]
+ }
}
@@ -362,33 +353,33 @@
# get table comments
# JCD: pg_description changed from 7.1 to 7.2 so do the correct query...
if { [string match {7.[01]*} [db_version]]} {
- if { [db_0or1row sb_get_table_comment "
+ if { [db_0or1row sb_get_table_comment {
select d.description
from pg_class c, pg_description d
where c.relname = lower(:table_name)
- and d.objoid = c.relfilenode"] } {
+ and d.objoid = c.relfilenode}] } {
append html "\n--[join [split $description "\n"] "\n-- "]"
}
} else {
- if { [db_0or1row sb_get_table_comment "
+ if { [db_0or1row sb_get_table_comment {
select d.description
from pg_class c, pg_description d
where c.relname = lower(:table_name)
- and d.objoid = c.oid and objsubid = 0"] } {
- append html "\n--[join [split $description "\n"] "\n-- "]"
+ and d.objoid = c.oid and objsubid = 0}] } {
+ append html "\n--[join [split $description "\n"] "\n-- "]"
}
}
append html "\nCREATE TABLE [string tolower $table_name] ("
- if { [db_0or1row sb_get_primary_key "
+ if { [db_0or1row sb_get_primary_key {
select
indkey as primary_key_array
from
pg_index i join (select oid from pg_class where relname = lower(:table_name)) c
on (i.indrelid = c.oid)
join pg_class index_class on (index_class.oid = i.indexrelid and i.indisprimary)
- join pg_am a on (index_class.relam = a.oid)"] } {
+ join pg_am a on (index_class.relam = a.oid)}] } {
set primary_key_columns [split $primary_key_array " "]
} else {
set primary_key_columns [list]
@@ -447,16 +438,17 @@
# current_constraint_info -- a constraint_info_set for the constraint being processed in the loop below
set check_constraint_set [ns_set create]
if {![string match {7.[12]*} [db_version]]} {
- db_foreach schema_browser_index_get_subselect "
+ db_foreach schema_browser_index_get_subselect {
select
conname as constraint_name,
consrc as constraint_source
from
pg_constraint r join (select oid from pg_class where relname = lower(:table_name)) c
on (c.oid = r.conrelid)
- order by constraint_name " {
- ns_set put $check_constraint_set $constraint_name $constraint_source
- }
+ order by constraint_name
+ } {
+ ns_set put $check_constraint_set $constraint_name $constraint_source
+ }
} else {
db_foreach schema_browser_index_get_subselect "
select
@@ -486,10 +478,10 @@
}
append html "\n"
append html "\t[string tolower [ns_set get $column column_name]]\t [ns_set get $column data_type]"
- if { ![empty_string_p [ns_set get $column data_length]] } {
+ if { [ns_set get $column data_length] ne "" } {
append html "([ns_set get $column data_length])"
}
- if { ![empty_string_p [ns_set get $column precision]] } {
+ if { [ns_set get $column precision] ne "" } {
append html "([ns_set get $column precision], [ns_set get $column scale])"
}
if { [llength $primary_key_columns] == 1 && [lindex $primary_key_columns 0] == [ns_set get $column column_number] } {
@@ -506,7 +498,7 @@
append html " $references([ns_set get $column column_name])"
}
- if { ![empty_string_p [ns_set get $check_constraint_set [ns_set get $column column_constraint_key]]] } {
+ if { [ns_set get $check_constraint_set [ns_set get $column column_constraint_key]] ne "" } {
append html "\n\t\t\tCHECK [ns_set get $check_constraint_set [ns_set get $column column_constraint_key]]"
ns_set delkey $check_constraint_set [ns_set get $column column_constraint_key]
}
@@ -519,7 +511,7 @@
#
for { set i 0 } { $i < [ns_set size $check_constraint_set] } { incr i } {
- if { ![empty_string_p [ns_set value $check_constraint_set $i]] } {
+ if { [ns_set value $check_constraint_set $i] ne "" } {
append html ",\n "
if { [string first "\$" [ns_set key $check_constraint_set $i]] == -1 } {
append html "CONSTRAINT [ns_set key $check_constraint_set $i]\n "
@@ -530,19 +522,14 @@
if { [llength $primary_key_columns] > 1 } {
append html ",\n\tPRIMARY KEY ("
- set sep ""
-
- db_foreach sb_get_primary_key_select_2 "
+ append html [join [db_list sb_get_primary_key_select_2 [subst {
select
a.attname as column_name
from
(select oid from pg_class where relname = lower(:table_name)) c
join pg_attribute a on (c.oid = a.attrelid)
- where a.attnum in ([join $primary_key_columns ","])
- " {
- append html $sep$column_name
- set sep ", "
- }
+ where a.attnum in ([join $primary_key_columns ","])
+ }]] ","]
append html ")"
}