Re: PL/PGSQL - ERROR: invalid array subscripts

From: "Froggy / Froggy Corp(dot)" <froggy(at)froggycorp(dot)com>
To: "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: PL/PGSQL - ERROR: invalid array subscripts
Date: 2005-02-18 19:11:38
Message-ID: 42163DEA.62583BBB@froggycorp.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Pour information (le Forward a l air d avoir plante)

Damien Griessinger wrote:
>
> Résultats sous pg 8
>
> 1ere boucle
> {"","","","","","","","","","","","","","","","",&,"","","","","","","","","
> ","","","","","","",&,"","","","","","","","","","","","","","","",&,"","","
> ","","","","","","","","","","","","",&,"","","","","","","","","","","","",
> "","","",&,"","","","","","","","","","","","","","","",&,"","","","","","",
> "","","","","","","","","",&,"","","","","","","","","","","","","","","",&,
> "","","","","","","","","","","","","","","",&,"","","","","","","","","",""
> ,"","","","","",&,"","","","","","","","","","","","","","","",&,"","","",""
> ,"","","","","","","","","","","",&,"","","","","","","","","","","","","","
> ","",&,"","","","","","","","","","","","","","","",&,"","","","","","","","
> ","","","","","","","",&,"","","","","","","","","","","","","","","",&}
>
> A la fin après le return
> {"","","","","","","","","","","","","","","","",&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&
> ,&,&,&,&,&,&,&,&,&,&,&,&,&,&}
>
> -----Message d'origine-----
> De : Froggy / Froggy Corp. [mailto:froggy(at)froggycorp(dot)com]
> Envoyé : jeudi 17 février 2005 23:02
> À : Damien Griessinger
> Objet : Re: [pgsql-fr-generale] PL/PGSQL - ERROR: invalid array subscripts
>
> Merci,
>
> Le but de cette fonction est juste de tester le remplissage non lineaire
> d'un tableau et n'a aucun autre but car j'ai rencontre ce probleme dans
> des fonctions plus completes et le bug pouvait juste se resumer à la
> fonction test_array ci-dessous.
>
> Damien Griessinger wrote:
> >
> > Bonsoir,
> > Sur pg 8 la fonction passe sans problème.
> > Mais par contre je n'arrive pas à comprendre le but ?! ça crée une énorme
> > matrice de varchar.
> >
> > -----Message d'origine-----
> > De : pgsql-fr-generale-owner(at)postgresql(dot)org
> > [mailto:pgsql-fr-generale-owner(at)postgresql(dot)org] De la part de Froggy /
> > Froggy Corp.
> > Envoyé : jeudi 17 février 2005 20:18
> > À : pgsql-fr-generale(at)postgresql(dot)org
> > Objet : [pgsql-fr-generale] PL/PGSQL - ERROR: invalid array subscripts
> >
> > Bonjour,
> >
> > Je testais les matrices en PL/PGSQL et je suis tombe sur le cas
> > d'une
> > matrice vierge sans limitation de valeur avec definition en mode non
> > incremental.
> > J'ai donc teste la fonction ci-dessus et je recupere l'erreur
> > suivante
> > :
> > "ERROR: invalid array subscripts"
> > CONTEXT: PL/pgSQL function "test_array" line 16 at assignment
> >
> > -------------------------------------------------------------------------
> >
> > CREATE OR REPLACE FUNCTION test_array() RETURNS integer AS '
> > DECLARE
> > a integer;
> > b integer;
> > c integer;
> > array varchar[];
> > BEGIN
> >
> > array := ''{}'';
> >
> > a := 1;
> > WHILE a < 17 LOOP
> > b := 1;
> > WHILE b < 17 LOOP
> > c:= a + b * 16;
> > RAISE NOTICE ''%'', c;
> > array[c] := ''&'';
> > b := b + 1;
> > END LOOP;
> > a := a + 1;
> > END LOOP;
> >
> > return 0;
> >
> > END;
> > ' LANGUAGE plpgsql;
> >
> > -----------------------------------------------
> >
> > Le RAISE NOTICE est juste là à titre de debuggage, détail amusant, la
> > ligne "c:= a + b * 16;" était avant "c:= a + b * a;" et là cela
> > fonctionnait (enfin l'algo était faux) et pourtant ne remplissait pas
> > mon array en incrementiel.
> >
> > Je suis actuellement en 7.4, si quelqu'un avait la 8.0 de deja installer
> > et pouvait tester et pouvait me remonter l'info ? Ou me donner la
> > solution ;)
> >
> > Merci d'avance,
> > +
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> > (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Mathieu Arnold 2005-02-19 09:59:30 Re: question sur la fonction now()
Previous Message Froggy / Froggy Corp. 2005-02-18 19:10:44 question sur la fonction now()