Forum und email

Fonctions DB++

Warning

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 il 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émonstration 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++

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 of Contents