Hicimos una extensión de la tabla mdp_eleccion_institucion (acá se guarda parte de datos_censales de una persona). El problema se nos está dando en Matrícula->Personas->Administrar personas. El filtro se hace correctamente, y luego cuando se va a editar la persona (botón lupa) se genera el error de sintaxis mal formado. Es un select de la tabla mdp_eleccion_institucion con el JOIN de mdp_eleccion_institucion_ext:
SELECT eleccion_institucion.dato_censal, eleccion_institucion.mot_economico, eleccion_institucion.mot_prestigio,
eleccion_institucion.mot_difusion, eleccion_institucion.mot_recomendacion_estudiantes, eleccion_institucion.mot_recomendacion_amigos,
eleccion_institucion.mot_sistema_ingreso, eleccion_institucion.mot_ubicacion, eleccion_institucion.mot_otros,
eleccion_institucion.insc_otra_institucion, eleccion_institucion.insc_otra_institucion_desc, eleccion_institucion.como_conocio_institucion,
mdp_eleccion_institucion_ext.id_dato_censal, mdp_eleccion_institucion_ext.motivos_eligio_carrera, mdp_eleccion_institucion_ext.expectativas_carrera,
mdp_eleccion_institucion_ext.conocio_escuela_posgrado
FROM mdp_eleccion_institucion as eleccion_institucion
LEFT OUTER JOIN negocio_pers.mdp_eleccion_institucion_ext
ON eleccion_institucion.dato_censal = negocio_pers.mdp_eleccion_institucion_ext.id_dato_censal WHERE ) IN
( SELECT FROM mdp_datos_censales as datos_censales WHERE (datos_censales.persona) IN ( SELECT persona FROM mdp_personas as personas WHERE personas.persona = '12163' ) )
El error está en el primer WHERE. Al parecer falta abrir un parentesis y agregar el nombre de una columna (como se ve en el segundo where). Este SELECT no es creado por nosotros si no por toba, supongo que lo toma de la configuración de la tabla extendida que se hace desde Toba.
Se les ocurre cual podría ser el problema? O cuál es la clase que genera ese SELECT para debuggearlo? para extender la tabla seguí la documentación que tienen: http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.15.0/personalizaciones/extender_tablas
La revisé varias veces y hasta volví a probar la extención de la tabla con otra funcionalidad (Docentes->Actualizaciones->Administrar cátedras) y pasa lo mismo. Come comentaba el error se da al editar. Recién probé Agregar y funciona correctamente, se persiste bien en la base. Pero al editar da ese error en el select.
No lo tenemos subido a Colab porque trabajamos con otro repo, pero podría subirlo en caso que se necesite. Gracias nuevamente.
Florencia, ahí subí al repositorio el proyecto en la carpeta ‘versiones/3.15.0.1’. Volví a probarlo desde cero. Me instalé el proyecto desde cero desde Colab (es el que nos subieron ustedes) y solamente hice la extención de la tabla y agregué el campo a la operación exactamente como dice el documento: http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.15.0/personalizaciones/extender_tablas.
La operación es Docentes->Actualizaciones->Administrar Catedras, y la tabla es ‘sga_catedras’ y la extendida ‘sga_catedras_ext’. El script que ejecuto en la base de datos es:
CREATE SCHEMA negocio_pers;
SET SEARCH_PATH = 'negocio_pers';
CREATE TABLE sga_catedras_ext
(
id_catedra INTEGER NOT NULL,
campo_nuevo VARCHAR(255)
);
-- PRIMARY KEY
ALTER TABLE sga_catedras_ext ADD CONSTRAINT pk_sga_catedras_ext PRIMARY KEY (id_catedra);
-- FOREIGN KEY
CREATE INDEX ifk_sga_catedras_ext_sga_catedras ON sga_catedras_ext (id_catedra);
ALTER TABLE sga_catedras_ext
ADD CONSTRAINT fk_sga_catedras_ext_sga_catedras FOREIGN KEY (id_catedra)
REFERENCES negocio.sga_catedras (catedra) on update restrict on delete restrict;
-- +++++++++++++++++ Fin tabla sga_colaciones_ext ++++++++++++++++++++++++++++++++++
Luego de extender la tabla te quedó mal definida la relación de ‘catedras’ con ‘catedras_actividades’ y ‘catedras_docentes’. Ingresá al Toba-Editor, seleccioná la relación “Catedras” (identificador 38000017), accedé a la solapa “Relaciones” y fijate que en ambas relaciones falta indicar las columnas padre e hija.