Categories > TinyButStrong general (FR) >

[fr][bug] Requête postgresql

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: oxman
Date: 2006-05-29
Time: 17:47

[fr][bug] Requête postgresql

Salut,

Il y a un bug lorsque l'on fait des requêtes postgresql à l'aide de TBS.
Je cite :
ERRSTR : pg_fetch_array() [<a href='function.pg-fetch-array'>function.pg-fetch-array</a>]: Unable to jump to row 100 on PostgreSQL result index 13
ERRFILE : /home/datas/www/fruity-site/v2/propre/libs/tbs_class.php (c'est la version php5, j'ai renommé le fichier)
ERRLINE : 453

Et mon code tout basique qui provoque ça :
$TBS->MergeBlock('dept', $Db->connect, 'SELECT id, departement_nom AS nom FROM departement');


:-)
By: Skrol29
Date: 2006-05-29
Time: 19:28

Re: [fr][bug] Requête postgresql

Merci  de l'info, je vais regarder ça.
By: Skrol29
Date: 2006-06-07
Time: 13:56

Re: [fr][bug] Requête postgresql

Salut oxman,

J'ai installé PostrgreSQL 8.1 et je n'ai aucun message d'erreur ni sous PHP 4.3.10, ni PHP 5.1.2.
J'ai affiché une série de 1000 enreg.

Quoi qu'il en soit, j'ai quand même fait une modif dans TBS 3.1.0 (en beta) pour PHP 5. En effet depuis PHP 4.1.0, le numéro de ligne est devenu optionel pour récupérer une ligne PostgreSQL.
Tu devrais donc ne plus avoir de problème.

@+
By: oxman
Date: 2006-06-07
Time: 18:39

Re: [fr][bug] Requête postgresql

Salut,

Je ne trouve pas le lien pour la bêta, donc en attendant j'ai pris la 3.0.6
J'ai Pgsql 8.1 et Php 5.1.2-1

Et j'ai du mieux, à certains endroit ou ça bloquait ça ne bloque plus, mais ça bloque toujours à d'autres :
ERRSTR : pg_fetch_array() [<a href='function.pg-fetch-array'>function.pg-fetch-array</a>]: Unable to jump to row 4 on PostgreSQL result index 17
ERRFILE : /home/datas/www/fruity-site/v2/propre/libs/tbs_class.php
ERRLINE : 453

Avec une requête basique :
        $TBS->MergeBlock('acces', $Db->connect, 'SELECT id, acces_type AS nom FROM acces_type');

Dans une table basique :
--
-- PostgreSQL database dump
--

SET client_encoding = 'LATIN1';
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: acces_type; Type: TABLE; Schema: public; Owner: x; Tablespace:
--

CREATE TABLE acces_type (
    id serial NOT NULL,
    acces_type character varying(40)
);


ALTER TABLE public.acces_type OWNER TO x;

--
-- Name: acces_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: x
--

SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('acces_type', 'id'), 4, true);


--
-- Data for Name: acces_type; Type: TABLE DATA; Schema: public; Owner: x
--

COPY acces_type (id, acces_type) FROM stdin;
1    Métro
2    Rer
3    Bus
4    Voiture
\.


--
-- Name: acces_type_access_type_key; Type: CONSTRAINT; Schema: public; Owner: x; Tablespace:
--

ALTER TABLE ONLY acces_type
    ADD CONSTRAINT acces_type_access_type_key UNIQUE (acces_type);


--
-- Name: acces_type_pkey; Type: CONSTRAINT; Schema: public; Owner: x; Tablespace:
--

ALTER TABLE ONLY acces_type
    ADD CONSTRAINT acces_type_pkey PRIMARY KEY (id);


--
-- PostgreSQL database dump complete
--

:)
By: Skrol29
Date: 2006-06-07
Time: 19:28

Re: [fr][bug] Requête postgresql

TBS 3.0.6 gère le PostgreSQL tout comme les versions 2.x. C'est donc normal qu'elle ne corrige rien pour toi.

La nouvelle beta est dispo à ce lien :
http://www.tinybutstrong.com/download/download.php?file=tbs_beta.zip&sid=3

J'ai testé ta table PostgreSQL avec ta requête. Aucun problèm avec PHP 4 ou PHP 5 et TBS 3.0.6. Je n'arrive pas à reproduire ton bug.
C'est peut être un pb de version de PHP ou de codage de base de données, mais ça serait surprenant.

Quoi qu'il en soit je te conseille de tester TBS 3.1.0-beta qui devrait changer quelque chose, je l'espère.
By: Skrol29
Date: 2006-06-07
Time: 19:45

Re: [fr][bug] Requête postgresql

Il y a un autre truc bizzare : TBS 2.x et 3.x avant la 3.1 utilisent pg_fetch_array() avec un @ devant pour empêcher les messages d'erreur qu'elle pourrait générer.

Du coup je ne comprend pas comment il est possible que l'on ait ton message. Pourtant la ligne n° 453 indiquée est bien la bonne.
By: oxman
Date: 2006-06-08
Time: 08:11

Re: [fr][bug] Requête postgresql

Bien joué ça semble parfait, rien à signaler pour le moment :)