problemas en la operación Procesar pendientes

Hola!
estoy en la 3.15.1, tengo esta consulta que no termina nunca (desde la aplicación después de un rato me aparece un error en pantalla 524 de time out) . La probé en el dbeaver y tampoco. Es el filtro de la operación de procesar pendientes:

SELECT sga_ubicaciones.nombre AS ubicacion, ‘(’ || vw_actividades_plan.codigo || ‘) ’ ||
vw_actividades_plan.nombre AS actividades, vw_personas.apellido_nombres AS apellido_y_nombre,
vw_personas.tipo_nro_documento AS documento_principal, sga_insc_cursada.inscripcion,
sga_insc_cursada.nro_transaccion, sga_alumnos.alumno, sga_alumnos.legajo, sga_alumnos.persona,
sga_alumnos.propuesta, vw_actividades_plan.elemento, sga_periodos.periodo, sga_insc_cursada.plan_version,
sga_insc_cursada.comision AS id_comision, sga_comisiones.nombre AS comision,
sga_turnos_cursadas.nombre AS turno, sga_catedras.nombre AS catedra, sga_insc_cursada.estado,
sga_inscripciones_estados.nombre AS estado_inscr, sga_insc_cursada.fecha_inscripcion AS fecha,
to_char(sga_insc_cursada.fecha_inscripcion,‘DD/MM/YYYY HH24:MI:SS’) AS fecha_inscripcion,
to_char(sga_insc_cursada.fecha_inscripcion,‘DD/MM/YYYY’) AS fecha_inscripcion_visual,
sga_periodos.nombre AS periodo_nombre, sga_periodos.anio_academico,
sga_periodos.anio_academico || ’ - ’ || sga_periodos.nombre AS anio_periodo_nombre,
vw_actividades_plan.codigo AS cod_actividad, vw_actividades_plan.nombre AS actividad,
sga_propuestas.nombre_abreviado AS propuesta_nombre_abreviado,
f_instancias_insc_cursada(sga_insc_cursada.inscripcion) AS instancias,
f_comision_cant_clases(sga_alumnos.alumno, sga_comisiones.comision) AS cant_clases,
sga_insc_cursada.sq_token, vw_actividades_plan.nombre || ’ (’ || sga_comisiones.nombre || ‘)’
AS actividad_comision
FROM sga_insc_cursada, sga_comisiones
LEFT JOIN sga_catedras ON sga_catedras.catedra = sga_comisiones.catedra
LEFT JOIN sga_turnos_cursadas ON sga_turnos_cursadas.turno = sga_comisiones.turno,
vw_actividades_plan, sga_ubicaciones, sga_alumnos, vw_personas, sga_periodos_lectivos,
sga_periodos, sga_inscripciones_estados, sga_propuestas
WHERE sga_insc_cursada.comision = sga_comisiones.comision
AND sga_insc_cursada.alumno = sga_alumnos.alumno
AND sga_insc_cursada.estado = sga_inscripciones_estados.estado – Estado de la Inscripcion
AND sga_comisiones.elemento = vw_actividades_plan.elemento
AND sga_insc_cursada.plan_version = vw_actividades_plan.plan_version
AND sga_comisiones.ubicacion = sga_ubicaciones.ubicacion AND sga_alumnos.persona = vw_personas.persona
AND sga_comisiones.periodo_lectivo = sga_periodos_lectivos.periodo_lectivo
AND sga_periodos_lectivos.periodo = sga_periodos.periodo AND sga_alumnos.propuesta = sga_propuestas.propuesta
AND sga_periodos.anio_academico = ‘2020’ AND sga_periodos_lectivos.periodo_lectivo = ‘199’
AND f_limpiar_acentos(vw_actividades_plan.codigo || vw_actividades_plan.nombre::varchar)
ILIKE ‘%A0001%’ AND sga_insc_cursada.estado = ‘P’ AND sga_insc_cursada.tipo = ‘I’
AND sga_comisiones.estado = ‘A’ AND true
ORDER BY ubicacion, actividades, apellido_y_nombre

Empezando a modificarla para ver donde estaba el problema encontré que la vista vw_actividades_plan sería el problema. Además controlando la misma consulta en la 3.18 veo que sacaron esa vista (la reemplazan por sga_elementos y sga_elementos_plan ).
Lo raro es que en una base de prueba funciona bien … cómo puedo resolverlo ?
Yo ahora para salir del paso, modifiqué la consulta y el filtro para que no use la vista, y puse la de la 3.18.
Pero quisiera saber si el problema es la vista, ya que se usa en otros reportes también …
algo para chequear que esa vista esté bien ?

Hola Jacqueline ,

La consulta SQL del método ‘get_listado’ de la clase ‘co_inscripciones_cursadas’ se cambió justamente por cuestiones de performance. Se utiliza desde varias operaciones que tienen filtros por actividad y en esos casos es necesario modificar la expresión del filtro para que no haya error. Eso lo tuvieron en cuenta? Quizás sea mejor aplicarles un parche para evitar conflictos en futuras migraciones de versión.

Saludos, Florencia.

Si, cambié en ambos lados, en la consulta y en la expresión del filtro. Ya está funcionando en producción dado que ayer tenían que procesar pendientes.
Mi duda es si esa vista está con problemas, puede traerme problemas en otros reportes. Por eso preguntaba porque pensé que la vista estaba rota o algo asi.
No entiendo porqué en producción no respondía pero en prueba si…

Jacqueline ,

La vista funciona pero es demasiado costosa cuando el volumen de datos es grande, seguramente por eso funciona bien en desarrollo y no en producción.
Lo que te decía respecto a los filtros es que en otras operaciones del sistema también se usa este método y se filtra por actividad. En esos casos vas a tener errores.

Saludos, Florencia.