Forum OpenACS Development: Re: upgrade to 5.3.2 -cache_key error
Cheers
Database operation "dml" failed (exception ERROR, "ERROR: insert or update on table "xowiki_object" violates foreign key constraint "$1"
DETAIL: Key (xowiki_object_id)=(2475969) is not present in table "xowiki_plain_page".
")
ERROR: insert or update on table "xowiki_object" violates foreign key constraint "$1"
DETAIL: Key (xowiki_object_id)=(2475969) is not present in table "xowiki_plain_page".
SQL: insert into xowiki_objecti (item_id,revision_id,creation_user,title,description,mime_type,nls_language,text,creator) values ('2475970','2475969','14554','Weblog',NULL,'text/plain','en_US','#
# A sample Weblog object.
#
my initialize -parameter {
{-page_size:integer 10}
{-page_number:integer 1}
{-summary:boolean 0}
{-date ""}
{-tag ""}
{-ptag ""}
{-entries_of ""}
}
#
# The following definition is the default rendering per
# weblog entry. This is executed in the context of every displayed page.
#
Class create EntryRenderer -instproc render {} {
my instvar package_id name title creator creation_user pretty_date description
[my set __parent] instvar weblog_obj
# We get the instance_attributes, if these are available. For the
# time being, we have these only in full mode (no summary)
if {[my exists instance_attributes]} {
set instance_attributes [my set instance_attributes]
} else {
set instance_attributes ""
}
set link [::xowiki::Portlet detail_link -package_id $package_id -name $name -instance_attributes $instance_attributes]
set show_more [expr {[$weblog_obj summary] && [my exists text] && [my text] ne ""}]
set more [expr {$show_more ?
" <span class=''more''> \\[<a href=''$link''>more...</a>\\]</span>" : ""}]
append more "<p></p>"
set my_footer [my htmlFooter]
append content "<DIV class=''post'' style=''clear: both; background: #f8f8f8;''>" "<h2><a href=''$link''>$title</a></h2>" "<p class=''auth''>Created by $creator, " "last modified by [::xo::get_user_name $creation_user] " "<span class=''date''>$pretty_date</span></p>" $description $more $my_footer \\n "</DIV>"
}
#
# The following definition is the renderer for the full weblog.
# This is executed in the context of the whole weblog object
#
Class create WeblogRenderer -instproc render {} {
my instvar filter_msg link name prev_page_link next_page_link
set filter ""
set prev ""
set next ""
if {[info exists filter_msg]} {
set filter "<div class=''filter''>$filter_msg</div>"
}
if {[info exists prev_page_link]} {
set prev "<a href=''$prev_page_link''> <img border=0 src=''/resources/acs-subsite/left.gif'' alt=''Previous Page'' style=''float: left; top: 0px;''></a>"
}
if {[info exists next_page_link]} {
set next "<a href=''$next_page_link''> <img border=0 src=''/resources/acs-subsite/right.gif'' alt=''Next Page'' style=''float: left; top: 0px;''></a>"
}
return "<div class=''weblog''> $filter [next] $prev $next </div>"
}
my proc content {} {
my get_parameters
set page [my info parent]
if {[$page exists __including_page]} {
set i [$page set __including_page]
set exclude_item_ids [$i item_id]
$i set render_adp 0 ;# no double substitutions
#my log "--W including page $i"
} else {
#my log "--W NO including page"
set exclude_item_ids [$page item_id]
$page set __no_footer 1
}
# on the weblog-portlet page, an edit-new should not create an object
::xo::cc set_parameter object_type ::xowiki::Page
# the default renderer
#set renderer ::xowiki::Weblog::WeblogRenderer
#set entry_renderer ::xowiki::Weblog::EntryRenderer
# the above custom renderers
set renderer [self]::WeblogRenderer
set entry_renderer [self]::EntryRenderer
set w [::xowiki::Weblog new -destroy_on_cleanup -package_id $package_id -page_size $page_size -page_number $page_number -summary $summary -date $date -category_id [ns_queryget category_id] -tag $tag -ptag $ptag -entries_of $entries_of -exclude_item_ids $exclude_item_ids -entry_renderer $entry_renderer ]
$w mixin add $renderer
return [$w render]
}',NULL)
while executing
"ns_pg_bind dml nsdb0 {insert into xowiki_objecti (item_id,revision_id,creation_user,title,description,mime_type,nls_language,text,creator) values (:i..."
("uplevel" body line 1)
invoked from within
"uplevel $ulevel [list ns_pg_bind $type $db $sql]"
("postgresql" arm line 2)
invoked from within
"switch $driverkey {
oracle {
return [uplevel $ulevel [list ns_ora $type $db $sql] $args]
}
..."
invoked from within
"db_exec dml $db $full_statement_name $sql"
("uplevel" body line 2)
invoked from within
"uplevel 1 $code_block "
invoked from within
"db_with_handle -dbn $dbn db {
db_exec dml $db $full_statement_name $sql
}"
(procedure "db_dml" line 100)
invoked from within
"$insert_view_operation [my qn revision_add] [[my info class] insert_statement $__atts __postponed_vars]"
("uplevel" body line 22)
invoked from within
"uplevel 1 $transaction_code "
(procedure "db_transaction" line 1)
invoked from within
"db_transaction {
$__class instvar storage_type object_type
#$__class folder_type -folder_id $parent_id register
[self class] lock ac..."
(procedure "save_new" line 28)
invoked from within
"next"
(procedure "save_new" line 3)
::xotcl::__#d ::Generic::CrCache::Item->save_new
invoked from within
"$page save_new"
(procedure "import_prototype_page" line 33)
::1978766 ::xowiki::Package->import_prototype_page
invoked from within
"$package_id import_prototype_page weblog-portlet"
(procedure "::xowiki::upgrade_callback" line 223)
invoked from within
"::xowiki::upgrade_callback -from_version_name 0.47 -to_version_name 0.60.1"
("eval" body line 1)
invoked from within
"eval $command"
(procedure "apm_invoke_callback_proc" line 37)
invoked from within
"apm_invoke_callback_proc -version_id $version_id -type after-upgrade -arg_list [list from_version_name $upgrade_from_version_name to_version_name $ver..."
(procedure "apm_package_install" line 191)
invoked from within
"apm_package_install -enable=$enable_p -package_path $package_path -callback apm_ns_write_callback -load_data_model -data_model_files $data_model_..."
("foreach" body line 42)
invoked from within
"foreach pkg_info $pkg_install_list {
set spec_file [pkg_info_spec $pkg_info]
set package_path [pkg_info_path $pkg_info]
if { [catch {
ar..."
("uplevel" body line 34)
invoked from within
"uplevel {
ad_page_contract {
Installs the packages.
@author Bryan Quinn (mailto:bquinn@arsdigita.com)
@creation-date Mon Oct 9 00:22:31 2000
..."
(procedure "code::tcl::/var/lib/aolserver/nccedudotlrn/packages/acs-admi..." line 2)
invoked from within
"code::tcl::$__adp_stub"
invoked from within
"if { [file exists $__adp_stub.tcl] } {
# ensure that data source preparation procedure exists and is up-to-date
adp_init tcl $__adp_stub
..."
("uplevel" body line 3)
invoked from within
"uplevel {
if { [file exists $__adp_stub.tcl] } {
# ensure that data source preparation procedure exists and is up-to-date
adp_init t..."
(procedure "adp_prepare" line 2)
invoked from within
"adp_prepare"
invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
(procedure "adp_parse_ad_conn_file" line 5)
invoked from within
"$handler"
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
$handler
} ad_script_abort val {
# do nothing
}"
invoked from within
"rp_serve_concrete_file [ad_conn file]"
(procedure "rp_serve_abstract_file" line 60)
invoked from within
"rp_serve_abstract_file "$root/$path""
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
rp_serve_abstract_file "$root/$path"
set tcl_url2file([ad_conn url]) [ad_conn file]
set tcl_url2path_info..."