Buen día, un saludo a toda la comunidad de ayuda de pgsql, mi problema es el siguiente.
Estoy tratando de manipular tuplas (tupletableslot) a nivel del executor de postgres con la finalidad de extraer su información para realizar cálculos de grado de membresia (lógica difusa) sobre las mismas, programando en C pero no lo he podido realizar debido a que debo esperar obtener los resultados de la proyección de las tuplas para realizar el calculo y una ves proyectadas las tuplas se modifica la posición de las mismas de su orden original en las tablas a el orden que el usuario requiere en el select, coloco un ejemplo para ilustrar esto un poco mejor: si tengo la tabla empleado con los campos (#dep, edad, salario) siendo el orden de estos campos en una tupla 1: #dep ,2: edad ,3: salario. Si realizamos el siguiente query: Select avg(salario), #dep from empleado group by #dep having avg(salario) > 2000; luego de la proyección ExecProject (que es cuando obtengo el valor del avg) el orden dentro de la tupla resultante seria 1: Avg(salario) 2: #dep , como se pide en el SELECT quisiera saber si hay alguna manera de identificar si una fila dentro de una tupla ha cambiado de posición y a que posición ha cambiado o si se puede identificar una fila antes y después de la proyección, con la finalidad de saber que posición de la tupla es la que debo extraer con el comando slot_getattr para realizar los cálculos pertinentes sobre ella luego de la proyección. Gracias de antemano Atte Armando B.
