PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/03/2010 11:32:17

manu f
Membre

Erreur : ANY/ALL - lors d'une requête faites par symfony

Bonjour,

J'ai un projet à réaliser avec symfony + PostgreSQL, mon problème est que symfony doit exécuter cette requête :

SELECT
      a.attnum,
      a.attname AS FIELD,
      t.typname AS type,
      format_type(a.atttypid, a.atttypmod) AS complete_type,
      a.attnotnull AS isnotnull,
      (SELECT 't'
        FROM pg_index
        WHERE c.oid = pg_index.indrelid
        AND a.attnum = ANY (pg_index.indkey)
        AND pg_index.indisprimary = 't'
      ) AS pri,
      (SELECT pg_attrdef.adsrc
        FROM pg_attrdef
        WHERE c.oid = pg_attrdef.adrelid
        AND pg_attrdef.adnum=a.attnum
      ) AS DEFAULT
FROM pg_attribute a, pg_class c, pg_type t
WHERE c.relname = 'acces'
      AND a.attnum > 0
      AND a.attrelid = c.oid
      AND a.atttypid = t.oid
ORDER BY a.attnum

Et apparemment le problème viendrait de PostgreSQL qui n'arrive pas à exécuter la requête ci-desssus.

Erreur lors de l'exécution de la commande symfony :

 SQLSTATE[42809]: Wrong object type: 7 ERREUR:  op ANY/ALL (tableau) requiert un tableau sur le côté droit. Failing Query: ...

Erreur lors de l'exécution de la requête sous phpPgAdmin :

ERREUR:  op ANY/ALL (tableau) requiert un tableau sur le côté droit

Avez vous des infos. ou une solution à me proposer pour palier ce problème ? (d'autant plus que je dois vous avouer ne pas trop comprendre le sens du message d'erreur)

Note : Version de PostgreSQL 8.0.13

Dernière modification par manu f (03/03/2010 11:39:42)

Hors ligne

#2 03/03/2010 11:39:37

gleu
Administrateur

Re : Erreur : ANY/ALL - lors d'une requête faites par symfony

La requête fonctionne très bien pour moi sur une version 8.4. Quelle version de PostgreSQL utilisez-vous ?


Guillaume.

Hors ligne

#3 03/03/2010 11:40:39

manu f
Membre

Re : Erreur : ANY/ALL - lors d'une requête faites par symfony

Je viens juste d'éditer en mettant la version big_smile

J'utilise la version 8.0.13, ca viendrait donc de là le problème hmm

Dernière modification par manu f (03/03/2010 12:08:46)

Hors ligne

#4 03/03/2010 11:55:32

gleu
Administrateur

Re : Erreur : ANY/ALL - lors d'une requête faites par symfony

Il n'existe pas de fonction de conversion de int2vector vers un tableau d'entiers, contrairement à la 8.4. Après test, il s'avère que ça fonctionne à partir de la version 8.1

Pour informations, vous avez intérêt à prévoir très rapidement une migration de votre serveur 8.0. À partir de juillet 2010 (donc dans 4 mois), la version 8.0 ne sera plus maintenue. Donc les bugs et les failles de sécurité ne seront plus corrigés pour cette version. Je pense que, plutôt que de corriger la requête de symphony, il serait hautement préférable de songer à migrer de version de PostgreSQL.


Guillaume.

Hors ligne

#5 03/03/2010 12:02:32

manu f
Membre

Re : Erreur : ANY/ALL - lors d'une requête faites par symfony

Merci beaucoup pour votre réponse rapide smile

Hors ligne

Pied de page des forums