Forum OpenACS Q&A: Adding a new group type

Collapse
Posted by Vince T on
Hi, I'm getting a request error when I try to add a new group-type. This is a new install of oacs 4.6.3 on postgresql 7.2.3 on red hat 7.3

I've been trying to search the forums but have had no luck. Has anyone had this problem?

Thanks in advance...

Collapse
Posted by tammy m on
What is the exact request error you are getting? And how are you adding the group type?
Collapse
Posted by Vince T on
On Group-Type Administration, when I try to "define a new group-type" I get the ff. error:

Request Error
Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.")
    while executing
"ns_db 0or1row $db "select $function_name ()""
    invoked from within
"db_exec_plpgsql $db $full_statement_name $sql  $statement_name"
    invoked from within
"if {[regexp -nocase -- {^\s*select} $test_sql match]} {
            ns_log Debug "PLPGSQL: bypassed anon function"
            set selection [db_exec ..."
    ("uplevel" body line 6)
    invoked from within
"uplevel 1 $code_block "
    invoked from within
"db_with_handle db {
        # plsql calls that are simple selects bypass the plpgsql
        # mechanism for creating anonymous functions (OpenACS - ..."
    (procedure "db_exec_plsql" line 13)
    invoked from within
"db_exec_plsql $stmt_name $code"
    (procedure "package_create" line 32)
    invoked from within
"package_create $type"
    (procedure "package_recreate_hierarchy" line 27)
    invoked from within
"package_recreate_hierarchy $group_type"
    (procedure "group_type::new" line 111)
    invoked from within
"group_type::new -group_type $object_type -supertype $supertype $pretty_name $pretty_plural"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $transaction_code "
    (procedure "db_transaction" line 39)
    invoked from within
"db_transaction {
    group_type::new -group_type $object_type -supertype $supertype $pretty_name $pretty_plural
    }"
    invoked from within
"if { [template::form is_valid group_type] } {

    set exception_count 0

    # Verify that the object type (in safe oracle format) is unique
    ..."
    ("uplevel" body line 44)
    invoked from within
"uplevel {
          # /packages/mbryzek-subsite/www/admin/groups/add.tcl

ad_page_contract {
    Form to add a group type

    @author mailto:rhs@mit.edu
    @c..."
    (procedure "code::tcl::/web/freeway/packages/acs-subsite/www/admin/group..." 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 "
    (procedure "template::adp_parse" line 30)
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 7)
    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([ad_conn url]) [ad_conn path_inf..."

Collapse
Posted by tammy m on
Hmmm,

Not sure what to tell you. I am on OACS 4.6.1 and postgresql 7.2.4 and RedHat 7.3 and this works for me as does deleting the group type from the admin page. Maybe see if there have been changes to this code in CVS and apply them if so?

Collapse
Posted by tammy m on
Hi

Doesn't it suck when someone just tells you it works for them and lets it go?! Sorry, I got lightheaded and realized I should probably eat something!

But I thought of something else. I don't think the name of the group type (Group Type) can have any characters other than letters or underscore in it (no spaces).

If that's not it, try calling group_type::new -group_type $object_type -supertype $supertype $pretty_name $pretty_plural directly and see if it gives ya better error information.

Collapse
Posted by Tilmann Singer on
Vincent, the error message you posted is not helpful, it just says that _something_ went wrong in the db. Check the docs or these forums about how to find the actual error messages from the database (in the error log before the error you posted, or allegedly on the result page when the new postgres driver is used.)
Collapse
Posted by Vince T on
This was my fault...

I copied an instr() function from the postgres docs for some triggers i was creating, but it turns out oacs had its own instr() functions.

Sorry for the trouble. but thanks tammy for the effort...