Error filtro 3.22

Hola, estamos migrando de G2 a G3 y al momento de realizar un servidor en la versión 3.22.2 y migrar las bases nos da un error en Gestión, al realizar filtros de búsquedas (personas, parámetros, etc …).

[NOTICE][guarani] Valor del parámetro ‘mat_personas_aplica_perfil’ = ‘S’ obtenido desde caché.
[DEBUG][guarani] S

QL con perfil de datos: SELECT unaccent($$26540530$$::text) AS texto
[ERROR][guarani] SQLSTATE[42883]: Undefined function: 7 ERROR: no existe la función unaccent(text)
LINE 1: SELECT unaccent($$26540530$$::text) AS texto – toba_log: 14…
^
HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos.
[ERROR][toba] toba_error_db: SQLSTATE: db_42883CODIGO: 7MENSAJE: ERROR: no existe la función unaccent(text)
LINE 1: SELECT unaccent($$26540530$$::text) AS texto – toba_log: 14…
^
HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos.SQL: SELECT unaccent($$26540530$$::text) AS texto – toba_log: 145
[TRAZA]

Si tienen una idea que puede estar pasando?

Hola Juan!

Este error generalmente se da cuando la función “unaccent” no se creó o quedó asociada a un schema que no es el que está usando Gestión.

Podés corroborarlo con la siguiente query:

SELECT n.nspname AS schema,
       p.proname AS function,
       pg_get_function_identity_arguments(p.oid) AS args
FROM pg_proc p
JOIN pg_namespace n ON n.oid = p.pronamespace
WHERE p.proname = 'unaccent';

Hola, miramos la implementación 3.21 y esa función no esta pero las busquedas funcionan correctamente, en cambio en la implementación 3.22 la búsqueda no funcionan.

El resultado de la consulta es nula en ambas implementaciones.

Hola Juan!

3.21 no utiliza esa función, ya que se implementó en 3.22.0, por eso mismo en 3.22 no funcionan las búsquedas.
El diferencial que crea dicha función es el 001726.sql
Este diferencial existe registrado en la tabla “app_versiones_base”?

Hola, sabes que la consulta que nos enviaste no arroja resultado, ya sea en la versión 3.21.0 ,3.22.1 ó 3.22.2.

Por lo que entendí de tu repuesta es que no debería devolver nada en la 3.21 pero si en la 3.22.

Si es así porque no devuelve nada, o nos falta modificar algo?

Si se refieren a la query que envié hace 12 días, el hecho de que no devuelva nada estando en una versión mayor o igual a 3.22.0 quiere decir que la función efectivamente no existe en la base de datos, cuando debería existir. Por eso les requerí que se fijaran si el diferencial 001726.sql está registrado en la tabla app_versiones_base, ya que si el mismo existe, hay un problema en la creación de la función, y si es el caso contrario habría que revisar el estado de actualización de la base de datos para ejecutar los diferenciales que hacen falta.

Hola, gracias por la repuesta.

Ahí verificamos algo de la documentación.