Index: openacs-4/packages/acs-templating/tcl/query-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/query-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-templating/tcl/query-procs.tcl 9 May 2001 05:15:58 -0000 1.4 +++ openacs-4/packages/acs-templating/tcl/query-procs.tcl 26 May 2001 18:40:14 -0000 1.5 @@ -509,34 +509,35 @@ # Deprecated! -ad_proc -private template::query::iterate { statement_name db sql body } { +ad_proc -public template::query::iterate { statement_name sql body } { @param statement_name Standard db_api statement name used to hook into query dispatcher - @param db Database handle @param sql Query to use when processing this command @param body Code body to be execute for each result row of the returned query } { - set result [db_exec select $db $statement_name $sql 3] + db_with_handle db { + set result [db_exec select $db $statement_name $sql 2] - set rowcount 0 + set rowcount 0 - while { [ns_db getrow $db $result] } { + while { [ns_db getrow $db $result] } { - upvar __query_iterate_row row + upvar __query_iterate_row row - set row(rownum) [incr rowcount] + set row(rownum) [incr rowcount] - set size [ns_set size $result] + set size [ns_set size $result] - for { set i 0 } { $i < $size } { incr i } { + for { set i 0 } { $i < $size } { incr i } { - set column [ns_set key $result $i] - set row($column) [ns_set value $result $i] - } + set column [ns_set key $result $i] + set row($column) [ns_set value $result $i] + } - # Execute custom code for each row - uplevel "upvar 0 __query_iterate_row row; $body" - } + # Execute custom code for each row + uplevel "upvar 0 __query_iterate_row row; $body" + } + } } # Flush the cached queries where the query name matches the Index: openacs-4/packages/cms/www/modules/items/relate-child-order.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relate-child-order.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/items/relate-child-order.tcl 24 May 2001 01:30:52 -0000 1.2 +++ openacs-4/packages/cms/www/modules/items/relate-child-order.tcl 26 May 2001 18:40:14 -0000 1.3 @@ -9,7 +9,7 @@ db_transaction { # Get the irelated items - template::query get_rel_info onerow " + template::query get_rel_info rel_info onerow " select parent_id as item_id, order_n from cr_child_rels where rel_id = :rel_id" Index: openacs-4/packages/cms/www/modules/items/custom/image/attributes-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/custom/image/attributes-edit.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/items/custom/image/attributes-edit.tcl 25 May 2001 02:15:56 -0000 1.2 +++ openacs-4/packages/cms/www/modules/items/custom/image/attributes-edit.tcl 26 May 2001 18:40:14 -0000 1.3 @@ -23,7 +23,7 @@ i.item_id = r.item_id and i.latest_revision = r.revision_id -" -db $db +" template::util::array_to_vars item_info Index: openacs-4/packages/cms/www/modules/sitemap/ancestors-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/ancestors-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/ancestors-oracle.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/ancestors-oracle.xql 26 May 2001 18:40:15 -0000 1.2 @@ -3,6 +3,17 @@ oracle8.1.6 + + + + + decode( nvl( + content_folder.get_index_page( :item_id ),0) + ,0,'f','t') has_index_page, + + + + Index: openacs-4/packages/cms/www/modules/sitemap/ancestors-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/ancestors-postgresql.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/ancestors-postgresql.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/ancestors-postgresql.xql 26 May 2001 18:40:15 -0000 1.2 @@ -3,6 +3,15 @@ postgresql7.1 + + + + case when coalesce( + content_folder__get_index_page( :item_id ),0) = 0 then 'f' else 't' end as has_index_page, + + + + Index: openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl 24 May 2001 01:30:52 -0000 1.2 +++ openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -59,11 +59,7 @@ set has_index_page t } else { - set index_page_sql " - decode( nvl( - content_folder.get_index_page( :item_id ),0) - ,0,'f','t') has_index_page, " - + set_index_page_sql [db_map index_page_p] } # get the path of the item Index: openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql 26 May 2001 18:40:15 -0000 1.2 @@ -3,6 +3,83 @@ oracle8.1.6 + + + + select + r.item_id, '' as context, + decode(o.object_type, 'content_symlink', r.label, + 'content_folder', f.label, + nvl(v.title, i.name)) title, + decode(r.item_id, :index_page_id, 't', 'f') is_index_page, + nvl(to_char(round(dbms_lob.getlength(v.content) / 1000, 1)), '-') file_size + from + cr_resolved_items r, cr_items i, cr_folders f, cr_revisions v, + cr_revisions u, acs_objects o, acs_object_types t + where + r.parent_id = $parent_var + and + r.resolved_id = i.item_id + and + i.item_id = o.object_id + and + i.content_type = t.object_type + and + i.latest_revision = v.revision_id (+) + and + i.live_revision = u.revision_id (+) + and + i.item_id = f.folder_id (+) + order by + is_index_page desc $orderby_clause + + + + + + + + select + decode(i.content_type, 'content_folder', 't', 'f') is_folder, + decode(i.content_type, 'content_template', 't', 'f') is_template, + r.item_id, r.resolved_id, r.is_symlink, r.name, + NVL(trim( + decode(o.object_type, 'content_symlink', r.label, + 'content_folder', f.label, + nvl(v.title, i.name))), + '-') title, + decode(i.publish_status, 'live', + to_char(u.publish_date, 'MM/DD/YYYY'), '-') publish_date, + o.object_type, t.pretty_name content_type, + to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') last_modified_date, + decode(r.item_id, :index_page_id, 't', 'f') is_index_page, + nvl(to_char(round(dbms_lob.getlength(v.content) / 1000, 1)), '-') file_size + from + cr_resolved_items r, cr_items i, cr_folders f, cr_revisions v, + cr_revisions u, acs_objects o, acs_object_types t + where + r.parent_id = $parent_var + and + r.resolved_id = i.item_id + and + i.item_id = o.object_id + and + i.content_type = t.object_type + and + i.latest_revision = v.revision_id (+) + and + i.live_revision = u.revision_id (+) + and + i.item_id = f.folder_id (+) + and + -- paginator sql + r.item_id in (CURRENT_PAGE_SET) + order by + is_index_page desc $orderby_clause + + + + Index: openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql 26 May 2001 18:40:15 -0000 1.2 @@ -3,6 +3,83 @@ postgresql7.1 + + + + select + r.item_id, '' as context, + case when o.object_type = 'content_symlink' then r.label + when o.object_type = 'content_folder' then f.label + else coalesce(v.title, i.name) end as title, + case when r.item_id = :index_page_id then 't' + else 'f' end as is_index_page, + coalesce(round(v.content_length / 1000, 1)::float8::text, '-') as file_size + from + cr_items i + LEFT OUTER JOIN + cr_revisions v ON i.latest_revision = v.revision_id + LEFT OUTER JOIN + cr_revisions u ON i.live_revision = u.revision_id + LEFT OUTER JOIN + cr_folders f ON i.item_id = f.folder_id, + cr_resolved_items r, acs_objects o, acs_object_types t + where + r.parent_id = $parent_var + and + r.resolved_id = i.item_id + and + i.item_id = o.object_id + and + i.content_type = t.object_type + order by + is_index_page desc $orderby_clause + + + + + + + + + select + case when i.content_type = 'content_folder' then 't' else'f' end as is_folder, + case when i.content_type = 'content_template' then 't' else 'f' end as is_template, + r.item_id, r.resolved_id, r.is_symlink, r.name, + coalesce(trim( + case when o.object_type = 'content_symlink' then r.label + when o.object_type = 'content_folder' then f.label, + else coalesce(v.title, i.name) end),'-') as title, + case when i.publish_status = 'live' then to_char(u.publish_date, 'MM/DD/YYYY') else '-' end as publish_date, + o.object_type, t.pretty_name as content_type, + to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') as last_modified_date, + case when r.item_id = :index_page_id then 't' else 'f' end as is_index_page, + coalesce(round(v.content_length / 1000, 1)::float8::text, '-') as file_size + from + cr_items i + LEFT OUTER JOIN + cr_revisions v ON i.latest_revision = v.revision_id + LEFT OUTER JOIN + cr_revisions u ON i.live_revision = u.revision_id + LEFT OUTER JOIN + cr_folders f ON i.item_id = f.folder_id, + cr_resolved_items r, acs_objects o, acs_object_types t + where + r.parent_id = $parent_var + and + r.resolved_id = i.item_id + and + i.item_id = o.object_id + and + i.content_type = t.object_type + and + -- paginator sql + r.item_id in (CURRENT_PAGE_SET) + order by + is_index_page desc $orderby_clause + + + + Index: openacs-4/packages/cms/www/modules/sitemap/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/sitemap/index.tcl 25 May 2001 02:15:56 -0000 1.2 +++ openacs-4/packages/cms/www/modules/sitemap/index.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -159,35 +159,6 @@ select content_folder.get_index_page($parent_var) from dual " - -set id_sql " - select - r.item_id, '' as context, - decode(o.object_type, 'content_symlink', r.label, - 'content_folder', f.label, - nvl(v.title, i.name)) title, - decode(r.item_id, :index_page_id, 't', 'f') is_index_page, - nvl(to_char(round(dbms_lob.getlength(v.content) / 1000, 1)), '-') file_size - from - cr_resolved_items r, cr_items i, cr_folders f, cr_revisions v, - cr_revisions u, acs_objects o, acs_object_types t - where - r.parent_id = $parent_var - and - r.resolved_id = i.item_id - and - i.item_id = o.object_id - and - i.content_type = t.object_type - and - i.latest_revision = v.revision_id (+) - and - i.live_revision = u.revision_id (+) - and - i.item_id = f.folder_id (+) - order by - is_index_page desc " - # sort table by columns switch -exact -- $orderby { size { @@ -207,58 +178,12 @@ } } - -append id_sql $orderby_clause - - - - -set display_sql " - select - decode(i.content_type, 'content_folder', 't', 'f') is_folder, - decode(i.content_type, 'content_template', 't', 'f') is_template, - r.item_id, r.resolved_id, r.is_symlink, r.name, - NVL(trim( - decode(o.object_type, 'content_symlink', r.label, - 'content_folder', f.label, - nvl(v.title, i.name))), - '-') title, - decode(i.publish_status, 'live', - to_char(u.publish_date, 'MM/DD/YYYY'), '-') publish_date, - o.object_type, t.pretty_name content_type, - to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') last_modified_date, - decode(r.item_id, :index_page_id, 't', 'f') is_index_page, - nvl(to_char(round(dbms_lob.getlength(v.content) / 1000, 1)), '-') file_size - from - cr_resolved_items r, cr_items i, cr_folders f, cr_revisions v, - cr_revisions u, acs_objects o, acs_object_types t - where - r.parent_id = $parent_var - and - r.resolved_id = i.item_id - and - i.item_id = o.object_id - and - i.content_type = t.object_type - and - i.latest_revision = v.revision_id (+) - and - i.live_revision = u.revision_id (+) - and - i.item_id = f.folder_id (+) - and - -- paginator sql - r.item_id in (CURRENT_PAGE_SET) - order by - is_index_page desc $orderby_clause" - - - # paginator set p_name "folder_contents_${mount_point}_$id" -paginator create $p_name $id_sql -pagesize 10 -groupsize 10 -contextual +paginator create create_folder $p_name "" -pagesize 10 -groupsize 10 -contextual -paginator get_data $p_name items $display_sql item_id $page +paginator get_data display_data $p_name items "" item_id $page + paginator get_display_info $p_name info $page set group [paginator get_group $p_name $page] Index: openacs-4/packages/cms/www/modules/types/content-method.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/types/content-method.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/types/content-method.tcl 24 May 2001 23:57:17 -0000 1.2 +++ openacs-4/packages/cms/www/modules/types/content-method.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -41,7 +41,7 @@ " if { $has_text_mime_type == 0 } { - set text_entry_filter_sql "and content_method ^= 'text_entry'" + set text_entry_filter_sql "and content_method != 'text_entry'" } else { set text_entry_filter_sql "" } @@ -99,7 +99,6 @@ form get_values register content_type content_method - set db [template::begin_db_transaction] db_transaction { template::query add_method content_method_add dml " @@ -111,7 +110,7 @@ ); end; " -} + } content_method::flush_content_methods_cache $content_type Index: openacs-4/packages/cms/www/modules/users/change-user-state.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/users/change-user-state.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/users/change-user-state.tcl 24 May 2001 23:57:17 -0000 1.2 +++ openacs-4/packages/cms/www/modules/users/change-user-state.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -8,7 +8,7 @@ request set_param mount_point -datatype keyword -optional -value users db_transaction { - template::query change_member_state dml " + db_dml change_member_state " update membership_rels set member_state=:new_state where Index: openacs-4/packages/cms/www/modules/users/index-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/users/index-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/users/index-oracle.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/users/index-oracle.xql 26 May 2001 18:40:15 -0000 1.2 @@ -3,6 +3,107 @@ oracle8.1.6 + + + + select + g.group_id, g.group_name, + NVL(pg.email, ' ') as email, + (select count(*) from group_member_map + where group_id = g.group_id) as user_count + from + groups g, parties pg, acs_rels rg, composition_rels rc + where + g.group_id = pg.party_id + and + rg.object_id_one = :id + and + rg.object_id_two = g.group_id + and + rc.rel_id = rg.rel_id + order by + upper(g.group_name) + + + + + + + + select + u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, + NVL(u.screen_name, ' ') as screen_name, + pu.email, aru.member_state, + aru.rel_id + from + users u, persons ppu, parties pu, + acs_rels ru, membership_rels aru + where + u.user_id = ppu.person_id + and + u.user_id = pu.party_id + and + ru.object_id_one = :id + and + ru.object_id_two = u.user_id + and + aru.rel_id = ru.rel_id + and + (aru.member_state <> 'deleted' or aru.member_state is null) + order by + upper(pretty_name + + + + + + + + select + g.group_id, g.group_name, + NVL(pg.email, ' ') as email, + (select count(*) from group_member_map + where group_id = g.group_id) as user_count + from + groups g, parties pg + where + g.group_id = pg.party_id + and + not exists ( + select 1 from acs_rels ar, composition_rels cr + where ar.rel_id = cr.rel_id + and ar.object_id_two = g.group_id) + order by + g.group_name + + + + + + + + select + u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, + NVL(u.screen_name, ' ') as screen_name, + pu.email, '' as member_state, + null as rel_id + from + users u, persons ppu, parties pu + where + u.user_id = ppu.person_id + and + u.user_id = pu.party_id + and + not exists ( + select 1 from acs_rels ar, membership_rels mr + where ar.rel_id = mr.rel_id + and ar.object_id_two = u.user_id) + order by + pretty_name + + + + Index: openacs-4/packages/cms/www/modules/users/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/users/index.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/users/index.tcl 24 May 2001 23:57:17 -0000 1.2 +++ openacs-4/packages/cms/www/modules/users/index.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -54,50 +54,10 @@ and p.party_id = :id" - set groups_query " - select - g.group_id, g.group_name, - NVL(pg.email, ' ') as email, - (select count(*) from group_member_map - where group_id = g.group_id) as user_count - from - groups g, parties pg, acs_rels rg, composition_rels rc - where - g.group_id = pg.party_id - and - rg.object_id_one = :id - and - rg.object_id_two = g.group_id - and - rc.rel_id = rg.rel_id - order by - upper(g.group_name)" + set groups_query [db_map get_groups_2] + set users_query [db_map get_users_2] - set users_query " - select - u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, - NVL(u.screen_name, ' ') as screen_name, - pu.email, aru.member_state, - aru.rel_id - from - users u, persons ppu, parties pu, - acs_rels ru, membership_rels aru - where - u.user_id = ppu.person_id - and - u.user_id = pu.party_id - and - ru.object_id_one = :id - and - ru.object_id_two = u.user_id - and - aru.rel_id = ru.rel_id - and - (aru.member_state <> 'deleted' or aru.member_state is null) - order by - upper(pretty_name)" - - set users_eval { + set users_eval { set state_html "" set the_pipe "" foreach pair { {Approved approved} {Rejected rejected} {Banned banned}} { @@ -138,44 +98,9 @@ #clipboard::get_bookmark_icon $clip $mount_point $info(group_id) info - set groups_query " - select - g.group_id, g.group_name, - NVL(pg.email, ' ') as email, - (select count(*) from group_member_map - where group_id = g.group_id) as user_count - from - groups g, parties pg - where - g.group_id = pg.party_id - and - not exists ( - select 1 from acs_rels ar, composition_rels cr - where ar.rel_id = cr.rel_id - and ar.object_id_two = g.group_id) - order by - g.group_name" + set groups_query [db_map get_groups_2] + set users_query [db_map get_users_2] - set users_query " - select - u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, - NVL(u.screen_name, ' ') as screen_name, - pu.email, '' as member_state, - null as rel_id - from - users u, persons ppu, parties pu - where - u.user_id = ppu.person_id - and - u.user_id = pu.party_id - and - not exists ( - select 1 from acs_rels ar, membership_rels mr - where ar.rel_id = mr.rel_id - and ar.object_id_two = u.user_id) - order by - pretty_name" - set users_eval {} } Index: openacs-4/packages/cms/www/modules/users/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/users/index.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/users/index.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/users/index.xql 26 May 2001 18:40:15 -0000 1.2 @@ -1,6 +1,108 @@ + + + + + select + g.group_id, g.group_name, + coalesce(pg.email, ' ') as email, + (select count(*) from group_member_map + where group_id = g.group_id) as user_count + from + groups g, parties pg, acs_rels rg, composition_rels rc + where + g.group_id = pg.party_id + and + rg.object_id_one = :id + and + rg.object_id_two = g.group_id + and + rc.rel_id = rg.rel_id + order by + upper(g.group_name) + + + + + + + + select + u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, + coalesce(u.screen_name, ' ') as screen_name, + pu.email, aru.member_state, + aru.rel_id + from + users u, persons ppu, parties pu, + acs_rels ru, membership_rels aru + where + u.user_id = ppu.person_id + and + u.user_id = pu.party_id + and + ru.object_id_one = :id + and + ru.object_id_two = u.user_id + and + aru.rel_id = ru.rel_id + and + (aru.member_state <> 'deleted' or aru.member_state is null) + order by + upper(pretty_name + + + + + + + + select + g.group_id, g.group_name, + coalesce(pg.email, ' ') as email, + (select count(*) from group_member_map + where group_id = g.group_id) as user_count + from + groups g, parties pg + where + g.group_id = pg.party_id + and + not exists ( + select 1 from acs_rels ar, composition_rels cr + where ar.rel_id = cr.rel_id + and ar.object_id_two = g.group_id) + order by + g.group_name + + + + + + + + select + u.user_id, ppu.first_names || ' ' || ppu.last_name as pretty_name, + coalesce(u.screen_name, ' ') as screen_name, + pu.email, '' as member_state, + null as rel_id + from + users u, persons ppu, parties pu + where + u.user_id = ppu.person_id + and + u.user_id = pu.party_id + and + not exists ( + select 1 from acs_rels ar, membership_rels mr + where ar.rel_id = mr.rel_id + and ar.object_id_two = u.user_id) + order by + pretty_name + + + + Index: openacs-4/packages/cms/www/modules/workflow/case-create.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/workflow/case-create.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/workflow/case-create.tcl 25 May 2001 02:15:56 -0000 1.2 +++ openacs-4/packages/cms/www/modules/workflow/case-create.tcl 26 May 2001 18:40:15 -0000 1.3 @@ -36,7 +36,7 @@ # Prepare the form elements set transition_list [list] -template::query get_name_key iterate " +template::query::iterate get_name_key " select transition_name, transition_key from @@ -93,7 +93,7 @@ # Get existing case assignments set case_id [element get_value case_create case_id] - template::query get_key_id iterate " + template::query::iterate get_key_id " select transition_key, party_id from @@ -116,7 +116,7 @@ # Get existing deadlines - template::query get_key_deadline iterate " + template::query::iterate get_key_deadline " select transition_key, to_char(deadline, 'YYYY MM DD HH24 MI SS') as deadline