Olá,
Gostaria que minha primeira participação não fosse um pedido para resolver um "problema cabeludo", mas não consegui encontrar nada semelhante nos fóruns oficiais e meu report de bug ainda não foi solucionado.
Bem, tenho uma única usuária no meu sistema dotLRN, que possui mais de 300 membros, que pela segunda vez perdeu o acesso ao seu perfil para editar após subir sua imagem. O perfil também não está visível aos outros usuários.
Não há problema com a imagem que ela enviou. Porém também não consigo recuperá-la do BD para analisar. O número da usuária é 48700 e o erro que aparece quando se tenta acessar seu perfil ou qualquer informação sobre ela como administrador é está abaixo. Detalhe: não posso excluí-la ou modificá-la como administrador por causa deste problema.
Como disse, com nenhum outro usuário tive este problema e não encontrei relato semelhante na comunidade. Com ela já é a segunda vez que acontece. Agradeço a ajuda.
Database operation "0or1row" failed (exception NSINT, "Query returned more than one row.") SQL: select cr_items.live_revision as revision_id, coalesce(cr_revisions.title, 'view this portrait') as portrait_title from acs_rels, cr_items, cr_revisions where acs_rels.object_id_two = cr_items.item_id and cr_items.live_revision = cr_revisions.revision_id and acs_rels.object_id_one = '48700' and acs_rels.rel_type = 'user_portrait_rel' while executing "ns_pg_bind 0or1row nsdb0 { select cr_items.live_revision as revision_id, coalesce(cr_revisions.title, 'view this portra..." ("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 0or1row $db $full_statement_name $sql" invoked from within "set selection [db_exec 0or1row $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 { set selection [db_exec 0or1row $db $full_statement_name $sql] }" (procedure "db_0or1row" line 23) invoked from within "db_0or1row select_portrait_info {}" ("uplevel" body line 1) (procedure "code::tcl::/var/lib/aolserver/dotlrn-2-1/packages/dotlrn/www..." line 1) 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 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..."
Autor: Jaime Balbino
88 comentários
coalesce(cr_revisions.title, 'view this portrait') as portrait_title
from acs_rels,
cr_items,
cr_revisions
where acs_rels.object_id_two = cr_items.item_id
and cr_items.live_revision = cr_revisions.revision_id
and acs_rels.object_id_one = '48700'
and acs_rels.rel_type = 'user_portrait_rel'
limit 1
É uma espécie de "workaround" meio tosco mas funciona. Se não me engano a consulta está na query select_portrait_info, mas não sei extamente o caminho que a está evocando. Acredito que seja no /packages/dotlrn/www/user-portrait (o link veio meio apagado). Veja o link exato para o local onde esse erro acontece que eu te digo onde vc tem que alterar. A notícia ruim é que existem vários locais onde essa consulta é feita, e você vai ter que encontrá-los de alguma forma.
<queryset>
<fullquery name="get_portrait_info">
<querytext>
select cr.publish_date, cr.title as portrait_title, cr.description as portrait_description
from cr_revisions cr, cr_items ci, acs_rels a
where cr.revision_id = ci.live_revision
and ci.item_id = a.object_id_two
and a.object_id_one = :user_id
and a.rel_type = 'user_portrait_rel'
limit 1
</querytext>
</fullquery> </queryset>
www.softwarepublico.gov.br/dotlrn/bio-update
where object_id_one = :user_id
and rel_type = 'user_portrait_rel' }]} { <<< codigo para gravar a imagem e criar a relacao>>
} mas o resultado é o mesmo.