dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Release 1.2


From: Eldy
Subject: Re: [Dolibarr-dev] Release 1.2
Date: Sat, 06 Nov 2004 15:41:21 +0100
User-agent: Mozilla Thunderbird 0.9 (Windows/20041103)

Eric Seigne wrote:

Le ven 05/11/2004 à 09:28, Rodolphe Quiedeville a écrit :
Salut,

Abec votre accord je vais préparer la tant attendu release 1.2 qui sera une pre-release avant la 2.0 je pense qu vu des modifs. Pour cela il faut que l'on fixe les dev, il est toujours possible de continuer les petites modifs de style de code, mais plus de modification de la base de données ni de grandes fonctionnalités.

C'est ok pour vous ?

Quelques notes, je me suis levé à 6h ce matin pour bosser sur doli :)

1. htdocs/pre.inc.php
$menu->add_submenu(DOL_URL_ROOT."/societe/groupe/index.php",$langs->trans("MenuSocGroup"));
chez moi je n'ai pas de répertoire societe/groupe donc ça merde ... je
ne sais pas si c'est mon installe qui est merdeuse (sans doute) mais je
propose de rajouter (ça ne mange pas de pain) un
if(is_dir(societe/groupe))
avant le $menu->add

J'ai commité (ça ne mange pas de pain) mais si c'est une connerie
n'hésitez pas à me le dire :)

2. compta/deplacement/index.php

j'ai fais un commit parcequ'il me semble que $objp = $db->fetch_object();
ne peut pas marcher tout seul, j'ai rajouté
     $objp = $db->fetch_object( $i);
     $soc = new Societe($db);
     $soc->fetch($objp->idp);

Non, un fetch n'a pas besoin de paramètre pour fonctionner. Par principe, cela ramène la ligne suivante du curseur de la requete (appelé curseur par oracle, resultset par java, result_identifier par php). Et le dernier result_identifier généré par l'exécution d'une requête est stocké dans l'objet db même. Quand on appelle alors un fetch sans paramètre, c'est le dernier result_identier généré (celui stocké dans l'objet db) qui est utilisé.

D'ailleurs passer un compteur numérique à la fonction fetch n'a pas de sens. Si on passe un paramètre à fetch_objet ce doit être une resource php de type result_identifier, en l'occurence ce doit etre le retour de la fonction $db->query($sql).

Dans 95% du code de dolibarr, l'appel à une requete pouis le parcours des lignes resultats se fait une requete à la fois, il n'y a donc qu'un seul result_identifier utilisé à la fois, ce qui explique que l'appel du fecth_objet peut se faire sans paramètre (car le dernier est toujours celui qu'on veut).

Les rares cas ou on manipule le resultat de 2 requetes imbriquées, on récupère le result_indentifier de la manière suivante:
$result1=$db->query($sql1)
$result2=$db->query($sql2)
Et au moment du fecth on précise quel result_identifier on veut
$objp = $db->fetch_object( $resultX);

Note que l'on pourrait passer un indice numérique qui correspond au numéro de la ligne que l'on veut, mais seul postgresql supporte cela et ce serait dans ce cas en deuxième paramètre, après le result_identifier. Mysql et les autres sgbd ne gère pas ce mode d'utilisation et n'accepte que le result_identifier en paramètre
et retourne toujours que "la ligne suivante" non encore retournée.

En résumé, soit on ne passe pas de paramètre au fetch_objet, soit on lui passe le résultat de la fonction query (ce qui permet d'effectuer différentes requetes même en parallèle, avec le même objet db, en d'autre termes, avec la meme connexion, ce qui est plus rapide est reduit le nombre de connexion utilisée par un même
utilisateur).
J'ai commité la correction...


si c'est une connerie merci de corriger :)

Pour le reste je suis en train de faire le tour, c'est vraiment un super
boulot !!! bravo à tous

On fait de son mieux  :-)

a+
Éric
------------------------------------------------------------------------

_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]