-------------------------------------------------------------------------------------
-- devuelve el nombre de una columna cuyos datos se dan por argumentos.
-- tiene en cuenta si el nombre de tabla dado es un alias.
-------------------------------------------------------------------------------------
drop function fsql_semantic_nombre_columna (varchar, varchar, numeric) ;
create function fsql_semantic_nombre_columna (varchar, varchar, numeric) 
returns varchar as '
declare
  schemein alias for $1;
  tablein alias for $2;
  col_id alias for $3;

-----------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-- devuelve el numero de columnas de una determinada tabla o alias de tabla.
-------------------------------------------------------------------------------------
drop function fsql_semantic_numero_columnas (varchar, varchar);
create function fsql_semantic_numero_columnas (varchar, varchar) 
returns integer as '
declare
  schemein alias for $1;
  tablein alias for $2;

-- Consola:
fuzzypapelera=# select fsql_semantic_numero_columnas('public','historial');
 fsql_semantic_numero_columnas 
-------------------------------
                             2
(1 fila)

fuzzypapelera=# select fsql_semantic_nombre_columna('public','historial',1);
 fsql_semantic_nombre_columna 
------------------------------
 id
(1 fila)

fuzzypapelera=# select fsql_semantic_nombre_columna('public','historial',2);
 fsql_semantic_nombre_columna 
------------------------------
 consulta
(1 fila)
