Fonctions DB++
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++
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
- dbplus_add — Ajoute une ligne à une relation
- dbplus_aql — Exécute une requête AQL
- dbplus_chdir — Lit/modifie le chemin courant de base
- dbplus_close — Ferme une relation
- dbplus_curr — Lit la ligne courante dans une relation
- dbplus_errcode — Obtenir un message d'erreur
- dbplus_errno — Lit le code d'erreur généré par la dernière opération
- dbplus_find — Ajoute une contrainte sur une relation
- dbplus_first — Lit la première ligne d'une relation
- dbplus_flush — Ecrit toutes les modifications apportées à une relation
- dbplus_freealllocks — Libère tous les verrous posés par le client
- dbplus_freelock — Lève un verrou en écriture sur une ligne
- dbplus_freerlocks — Lève tous les verrous sur les lignes d'une relation
- dbplus_getlock — Pose un verrou sur une ligne
- dbplus_getunique — Retourne un identifiant unique pour une relation
- dbplus_info — Récupère les informations sur une relation
- dbplus_last — Lit la dernière ligne d'une relation
- dbplus_lockrel — Pose un verrou en écriture sur une relation
- dbplus_next — Lit la ligne suivante dans la relation
- dbplus_open — Ouvre un fichier de relation
- dbplus_prev — Lit la ligne précédente dans la relation
- dbplus_rchperm — Modifie les droits sur la relation
- dbplus_rcreate — Crée une nouvelle relation DB++
- dbplus_rcrtexact — Crée une copie exacte mais vide d'une relation
- dbplus_rcrtlike — Crée une copie vide d'une relation avec les index
- dbplus_resolve — Résout les informations d'hôte pour une relation
- dbplus_restorepos — Restaure la position
- dbplus_rkeys — Spécifie la nouvelle clé primaire d'une relation
- dbplus_ropen — Ouvre un fichier de relation local
- dbplus_rquery — Accomplit une requête AQL locale
- dbplus_rrename — Renomme une relation
- dbplus_rsecindex — Crée un nouvel index secondaire pour une relation
- dbplus_runlink — Détruit une relation
- dbplus_rzap — Supprime toutes les lignes d'une relation
- dbplus_savepos — Sauvegarde la position
- dbplus_setindex — Définie l'index
- dbplus_setindexbynumber — Définie l'index par un nombre
- dbplus_sql — Exécute une requête SQL
- dbplus_tcl — Exécute du code TCL côté serveur
- dbplus_tremove — Supprime la ligne courante et retourne la nouvelle ligne courante
- dbplus_undo — Annule
- dbplus_undoprepare — Prépare l'annulation
- dbplus_unlockrel — Libère un verrou en écriture posé sur une relation
- dbplus_unselect — Retire une contrainte d'une relation
- dbplus_update — Modifie une ligne dans une relation
- dbplus_xlockrel — Pose un verrou exclusif sur une relation
- dbplus_xunlockrel — Lève un verrou exclusif posé sur une relation