Re: [postgresql-it] creazione nuovo tipo

  • From: Tiziano Tissino <t.tissino@xxxxxxxxxxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Fri, 10 Mar 2006 16:43:43 +0100

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

marsan10@xxxxxxxxx ha scritto:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

marsan10@xxxxxxxxx ha scritto:

Traduco: Nota che le dichiarazioni delle funzioni di input ed
output devono riferirsi al type non ancora definito. Questo è
permesso, ma verranno generati dei messaggi di avvertimento che
possono essere ignorati.

Questo l'avevo capito ;) INvece non ho capito "le dichiarazioni delle
funzioni di input ed output devono riferirsi al type non ancora
definito" Come farlo?? forse ho questo problema perchè uso pgadmin
III 1.2.2 che nella maschera di creazione nuovo tipo non mi permette
di scegliere le funzioni di in,out e riesco a farlo solo facendo uno
script sql :

CREATE TYPE continuos (INPUT=CONTINUOS_in, OUTPUT=CONTINUOS_out,
DEFAULT='', INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=MAIN); ALTER
TYPE continuos OWNER TO postgres;

il quale mandanto in esecuzione mi genera l'errore di non esistenza
della funzione out(miotipo)

Ma tu le funzioni di input e output le hai create o no?
Prima devi creare le funzioni, e poi devi creare il tipo. Altrimenti,
certo che ti dice che le funzioni non esistono!



certo che le ho definite !
Ecco quello che mi fa vedere lui da pgadmin:

CREATE OR REPLACE FUNCTION "CONTINUOS_in"( cstring) RETURNS "unknown" AS
'$libdir/liblwgeom.so.1.1', 'CONTINUOS_in'
LANGUAGE 'c' VOLATILE;

CREATE OR REPLACE FUNCTION "CONTINUOS_out"( "unknown") RETURNS cstring AS
'$libdir/liblwgeom.so.1.1', 'CONTINUOS_out'
LANGUAGE 'c' VOLATILE;

e questo è l'sql della dichiarazione del nuovo tipo
CREATE TYPE continuos (INPUT=CONTINUOS_in, OUTPUT=CONTINUOS_out,

DEFAULT='', INTERNALLENGTH=-1, ALIGNMENT=int4, STORAGE=MAIN); ALTER
TYPE continuos OWNER TO postgres;

Riprovo per la terza volta a dirtelo:
Le funzioni *devono riferirsi al type non ancora definito*

CREATE OR REPLACE FUNCTION "CONTINUOS_in"( cstring) RETURNS continous AS
'$libdir/liblwgeom.so.1.1', 'CONTINUOS_in' LANGUAGE 'c' VOLATILE;
CREATE OR REPLACE FUNCTION "CONTINUOS_out"(continous) RETURNS cstring AS
'$libdir/liblwgeom.so.1.1', 'CONTINUOS_out' LANGUAGE 'c' VOLATILE;
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEEZ6vclflioLL8j8RAnz7AJ0d1ElSC6CQ5v4aKHKJzTbUfxf/UgCfa3rB
tC8Y/j+nW/awWBMj8D0zl1c=
=wFNU
-----END PGP SIGNATURE-----
_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it


Other related posts: