Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



XXIII. Fonctions DB++

Avertissement
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Introduction

DB++, qui est programmé par une société allemande Concept asa, est un système de base de données relationnelles à haute performance, faible consommation de mémoire et de disque. Bien qu’il comprenne le langage SQL en tant qu’interface supplémentaire, ce n’est pas vraiment une base de données SQL, car elle fournit son propre langage SQL, qui est plus influencé par l’algèbre relationnelle que ne l’est SQL.

Concept asa a toujours supporté les langages Open Source, et DB++ dispose d’interfaces Perl et Tcl depuis longtemps. Il utilise aussi Tcl pour ses procédures stockées internes.

Pré-requis

Cette extension dépend d’une bibliothèque cliente externe : vous devez donc avoir le client DB++ installé sur le système pour pouvoir compiler cette extension dans PHP.

Concept asa fournit des versions de démo de DB++ et la documentation pour Linux, ainsi que certaines autres versions UNIX. Il y a aussi une version pour Windows de DB++, mais cette extension ne la supporte pas (pour le moment).

Installation

Pour compiler cette extension vous-même, vous devez avoir les bibliothèques clients et les fichiers d’en-têtes installés sur le système (ils sont inclus dans la distribution de DB++ par défaut). Exécutez la commande configure avec l’option “–with-dbplus” pour inclure cette extension dans PHP.

configure recherche les bibliothèques clients et les fichiers d’en-têtes dans les dossiers suivants : “/usr/dbplus”, “/usr/local/dbplus” et “/opt/dbplus”. Si vous avez installé DB++ dans un autre dossier, indiquez le chemin de ce dossier dans l’option de configure comme ceci : “–with-dbplus=/votre/dossier/installation”.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

dbplus_relation

La plupart des fonctions DB++ travaillent avec une ressource de type “dbplus_relation” : c’est un pointeur sur une relation, ou une relation, généré par une requête.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution.

Codes d'erreurs de DB++

Tableau 1. Codes d’erreurs de DB++

Constante PHP Constante DB++ Description
“DBPLUS_ERR_NOERR” (entier) ERR_NOERR Condition d’erreur Null
“DBPLUS_ERR_DUPLICATE” (entier) ERR_DUPLICATE Tentative d’insertion d’un doublon
“DBPLUS_ERR_EOSCAN” (entier) ERR_EOSCAN Fin de scan “rget()”
“DBPLUS_ERR_EMPTY” (entier) ERR_EMPTY Relation vide (serveur)
“DBPLUS_ERR_CLOSE” (entier) ERR_CLOSE Le serveur ne peut fermer
“DBPLUS_ERR_WLOCKED” (entier) ERR_WLOCKED La ligne est verrouillée en écriture
“DBPLUS_ERR_LOCKED” (entier) ERR_LOCKED La relation est déjà verrouillée
“DBPLUS_ERR_NOLOCK” (entier) ERR_NOLOCK La relation ne peut être verrouillée
“DBPLUS_ERR_READ” (entier) ERR_READ Erreur de lecture sur la relation
“DBPLUS_ERR_WRITE” (entier) ERR_WRITE Erreur d’écriture sur la relation
“DBPLUS_ERR_CREATE” (entier) ERR_CREATE La fonction système “Create()” a échoué
“DBPLUS_ERR_LSEEK” (entier) ERR_LSEEK La fonction système “lseek()” a échoué
“DBPLUS_ERR_LENGTH” (entier) ERR_LENGTH La ligne excède la taille maximale
“DBPLUS_ERR_OPEN” (entier) ERR_OPEN La fonction système Open() a échoué
“DBPLUS_ERR_WOPEN” (entier) ERR_WOPEN La relation est déjà ouverte en lecture
“DBPLUS_ERR_MAGIC” (entier) ERR_MAGIC Le fichier n’est pas une relation
“DBPLUS_ERR_VERSION” (entier) ERR_VERSION Le fichier est une très vieille relation
“DBPLUS_ERR_PGSIZE” (entier) ERR_PGSIZE La relation utilise une page de taille différente
“DBPLUS_ERR_CRC” (entier) ERR_CRC CRC invalide de la superpage
“DBPLUS_ERR_PIPE” (entier) ERR_PIPE Une relation pipée requiert “lseek()”
“DBPLUS_ERR_NIDX” (entier) ERR_NIDX Trop d’index secondaires
“DBPLUS_ERR_MALLOC” (entier) ERR_MALLOC L’appel à “malloc()” a échoué
“DBPLUS_ERR_NUSERS” (entier) ERR_NUSERS Erreur lors de l’utilisation du nombre maximal d’utilisateurs
“DBPLUS_ERR_PREEXIT” (entier) ERR_PREEXIT Causée par une utilisation invalide
“DBPLUS_ERR_ONTRAP” (entier) ERR_ONTRAP Causée par un signal
“DBPLUS_ERR_PREPROC” (entier) ERR_PREPROC Erreur dans le préprocesseur
“DBPLUS_ERR_DBPARSE” (entier) ERR_DBPARSE Erreur dans l’analyseur
“DBPLUS_ERR_DBRUNERR” (entier) ERR_DBRUNERR Erreur durant l’exécution
“DBPLUS_ERR_DBPREEXIT” (entier) ERR_DBPREEXIT La condition d’exit a été causée par la procédure “prexit()”
“DBPLUS_ERR_WAIT” (entier) ERR_WAIT Attend un peu (Simple seulement)
“DBPLUS_ERR_CORRUPT_TUPLE” (entier) ERR_CORRUPT_TUPLE Un client a envoyé une ligne corrompue
“DBPLUS_ERR_WARNING0” (entier) ERR_WARNING0 Les routines Simple ont rencontré une erreur non fatale, qui a été corrigée.
“DBPLUS_ERR_PANIC” (entier) ERR_PANIC Le serveur ne devrait pas s’arrêter, mais, après un désastre, envoyer ERR_PANIC à tout ses clients
“DBPLUS_ERR_FIFO” (entier) ERR_FIFO Impossible de créer une pile FIFO
“DBPLUS_ERR_PERM” (entier) ERR_PERM Permission refusée
“DBPLUS_ERR_TCL” (entier) ERR_TCL TCL_error
“DBPLUS_ERR_RESTRICTED” (entier) ERR_RESTRICTED Seulement deux utilisateurs
“DBPLUS_ERR_USER” (entier) ERR_USER Une erreur est survenue dans l’utilisation de la bibliothèque par l’application.
“DBPLUS_ERR_UNKNOWN” (entier) ERR_UNKNOWN Erreur inconnue

Table des matières

dbplus_add – Ajoute une ligne à une relationdbplus_aql – Exécute une requête AQLdbplus_chdir – Lit/modifie le chemin courant de basedbplus_close – Ferme une relationdbplus_curr – Lit la ligne courante dans une relationdbplus_errcode –  Obtenir un message d’erreur dbplus_errno – Lit le code d’erreur généré par la dernière opérationdbplus_find – Ajoute une contrainte sur une relationdbplus_first – Lit la première ligne d’une relationdbplus_flush – Ecrit toutes les modifications apportées à une relationdbplus_freealllocks – Libère tous les verrous posés par le clientdbplus_freelock – Lève un verrou en écriture sur une lignedbplus_freerlocks – Lève tous les verrous sur les lignes d’une relationdbplus_getlock – Pose un verrou sur une lignedbplus_getunique – Retourne un identifiant unique pour une relationdbplus_info – Récupère les informations sur une relationdbplus_last – Lit la dernière ligne d’une relationdbplus_lockrel – Pose un verrou en écriture sur une relationdbplus_next – Lit la ligne suivante dans la relationdbplus_open – Ouvre un fichier de relationdbplus_prev – Lit la ligne précédente dans la relationdbplus_rchperm – Modifie les droits sur la relationdbplus_rcreate – Crée une nouvelle relation DB++dbplus_rcrtexact – Crée une copie exacte mais vide d’une relationdbplus_rcrtlike – Crée une copie vide d’une relation avec les indexdbplus_resolve – Résoud les informations d’hôte pour une relationdbplus_restorepos – Restaure la positiondbplus_rkeys – Spécifie la nouvelle clé primaire d’une relationdbplus_ropen – Ouvre un fichier de relation localdbplus_rquery – Accomplit une requête AQL localedbplus_rrename – Renomme une relationdbplus_rsecindex –  Crée un nouvel index secondaire pour une relation dbplus_runlink – Détruit une relationdbplus_rzap – Supprime toutes les lignes d’une relationdbplus_savepos – Sauvegarde la positiondbplus_setindex – Définie l’indexdbplus_setindexbynumber – Définie l’index par un nombredbplus_sql – Exécute une requête SQLdbplus_tcl – Exécute du code TCL côté serveurdbplus_tremove – Supprime la ligne courante et retourne la nouvelle ligne courantedbplus_undo – Annuledbplus_undoprepare – Prépare l’annulationdbplus_unlockrel – Libère un verrou en écriture posé sur une relationdbplus_unselect – Retire une contrainte d’une relationdbplus_update – Modifie une ligne dans une relationdbplus_xlockrel – Pose un verrou exclusif sur une relationdbplus_xunlockrel – Lève un verrou exclusif posé sur une relation

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright