Forum OpenACS Development: Re: upgrade to 5.3.2 -cache_key error

Collapse
Posted by Matthew Coupe on
Thanks for the help, that worked for everything except xowiki. I should be home and dry after this one to merge all of my custom changes.

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..."