Skip site navigation (1) Skip section navigation (2)

Re[2]: [pgsql-ayuda] 4GL para PostgreSQL

From: Sferacarta Software <sferac(at)bo(dot)nettuno(dot)it>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx, David Prieto <davidp(at)sgth(dot)es>
Subject: Re[2]: [pgsql-ayuda] 4GL para PostgreSQL
Date: 1998-11-19 15:27:22
Message-ID: 10685.981119@bo.nettuno.it (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola David,

giovedì, 19 novembre 98, you wrote:

DP>         Esa línea define una variable con la misma estructura que los registros
DP> de la tabla 'prueba'. Para eso, tiene que conectar con la base de datos
DP> que indiques en la linea 'database...' del programa .4gl (será
DP> hy4gl_test, seguramente). Prueba a conectar con esa base de datos con el
DP> psql (psql -d hy4gl_test) y a hacer un '\d prueba'. Eso debe darte la
DP> estructura de la tabla 'prueba' y es lo mismo que hace el compilador.

$ psql hy4gl_test -c '\d prueba'

Table    = prueba
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| num                              | int4                             |     4 |
+----------------------------------+----------------------------------+-------+

Hice este programa para veer se \d prueba funciona, pero' me da un error:

/* prueba.c */
#include <stdio.h>
#include "halt.h"
#include <libpq-fe.h>
#include "pginterface.h"

int main()
{
char attname[32], typname[32];
short int attlen;
connectdb("hy4gl_test", NULL, NULL, NULL, NULL);
doquery("BEGIN WORK");

/* esto es lo mismo que \d prueba y funciona */

doquery("DECLARE ch BINARY CURSOR FOR\
        SELECT a.attname, t.typname, a.attlen\
        FROM pg_class c, pg_attribute a, pg_type t\
        WHERE c.relname = 'prueba'\
            and a.attnum > 0\
            and a.attrelid = c.oid\
            and a.atttypid = t.oid");
doquery("FETCH ALL IN ch");
while (fetch(attname,typname,&attlen) != END_OF_TUPLES)
      printf("Field: %s\nType: %s\nLength: %d\n",attname,typname,attlen);
doquery("CLOSE ch");
doquery("COMMIT WORK");

/*esto me da un error*/
doquery("\\d prueba");
disconnectdb();
return 0;
}
     
Este es el output:
$ prueba

Field:  num
Type:   int4
Length: 4
query error:  
failed request:  \d prueba

?Puede ser que "DEFINE reg RECORD LIKE prueba.*" da un error por el
mismo motivo ?

Yo estoy usando:

PostgreSQL      : v6.4
Sistema op      : Linux 2.0.34 ELF (Debian)
cpu             : 586
model           : Pentium 60/66
vendor_id       : AuthenticAMD

He aqui de nuevo el mensaje... my username es postgres, ya probe' tambien con
davidp pero es lo mismo...

hy4gl V.0.6. (c)1998 David Prieto
------------------------------------------
52_select.4gl:3: No se puede conectar con la base de datos 'hy4gl_test'
FATAL: PQsetdb: Unable to determine a Postgres username!

Ideas ?

-Jose'-


--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo(at)tlali(dot)iztacala(dot)unam(dot)mx
text   : cancelacion pgsql-ayuda

In response to

Responses

pgsql-es-ayuda by date

Next:From: Sergi MartinezDate: 1998-11-19 16:48:07
Subject: [pgsql-ayuda] Postgres y perl
Previous:From: David PrietoDate: 1998-11-19 12:54:58
Subject: Re: [pgsql-ayuda] 4GL para PostgreSQL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group