/***************************************************************/
Type ConnexionPostgreSQL HeriteDe IConnexionSql Defaut TailleSegment 2 ConserverObjets
/* Objet : Interface correspondant aux connexions PostgreSQL. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'ITransaction. */
/*-------------------------------------------------------------*/
Prive :
NomTransaction : Caractere Lecture Public Trace;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'IConnexionSql. */
/*-------------------------------------------------------------*/
Prive :
NomUtilisateur : Caractere Lecture Public Trace;
NomBaseDeDonnees : Caractere Lecture Public Trace;
NomServeur : Caractere Lecture Public Trace;
EstSynchronisee : Booleen Lecture Public;
FormatDeLaBaseDeDonnees : FormatsBaseDeDonneesSupportes Lecture Public;
TableauParametreSupporte : Booleen Lecture Public;
TableauResultatSupporte : Booleen Lecture Public;
ListerTablesSupporte : Booleen Lecture Public;
ListerClesPrimairesSupporte : Booleen Lecture Public;
ListerClesEtrangeresSupporte : Booleen Lecture Public;
ListerIndexSupporte : Booleen Lecture Public;
ListerProceduresSupporte : Booleen Lecture Public;
ListerCatalogueSupporte : Booleen Lecture Public;
ListerSchemasSupporte : Booleen Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'ITransaction. */
/*-------------------------------------------------------------*/
Public :
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IConnexionSql. */
/*-------------------------------------------------------------*/
Fonction CreerOrdreSql(NomOrdreSql : Caractere, SourceOrdreSql : Caractere, TTR : Entier=1, TTP : Entier=1, TDG : Entier=0) Retourner Nul Ou IOrdreSql;
Procedure ExecuterBlocSql(NomBlocSql : Caractere, SourceBlocSql : Caractere, TDG : Entier=0);
Procedure ExecuterOrdreSql(NomOrdreSql : Caractere, SourceOrdreSql : Caractere, NbEnregistrementsImpactes : Entier=? Sortie, TDG : Entier=0);
Procedure Prendre();
Procedure Lacher();
Fonction Habilitation ListerTables(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, SorteDesTables : Nul Ou SorteTablesSupportees=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerColonnesTables(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, NomColonne : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerClesPrimaires(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerClesEtrangeres(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerIndex(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerProcedures(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomProcedure : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerParametresProcedures(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomProcedure : Nul Ou Caractere=Nul, NomParametre : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerCatalogues(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerSchemas(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation (U : Nul Ou Caractere=Nul, M : Nul Ou Caractere=Nul, B : Nul Ou Caractere=Nul, S : Nul Ou Caractere=Nul, ES : Booleen=Faux);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type ConnexionPostgreSQL modélise une connexion vers une base de données relationnelles PostgreSQL.
Il peut exister simultanément plusieurs connexions vers PostgreSQL pour une ou plusieurs tâches.
Le type ConnexionPostgreSQL possède un constructeur implicite dont les paramètres sont les suivants :
Selon les valeurs des paramètres UpsPgs.NbConnexionsMin et UpsPgs.NbConnexionsMax, la connexion physique peut être issue d'un recyclage à son ouverture ou recyclée à sa fermeture si l'utilisateur, le mot de passe et la base de données sont identiques à ceux donnés par le paramètre UpsPgs.Connexion.
Type TA Transactionnel Defaut
/***************************/
C : Caractere;
Constructeur();
Fin Type
Principal
/*******/
Variable
/******/
T : TA;
C : Nul Ou ConnexionPostgreSQL;
C2 : Nul Ou ConnexionPostgreSQL;
Debut
T.C="coucou";
C.Valider();
/* On valide la modification. */
Ecran.Ecrire(T.C+"\n");
T.C="hello";
C.Invalider();
/* On invalide la modification. */
Ecran.Ecrire(T.C+"\n");
Si C==C2 Alors
/* Egalité entre deux connexions. */
...
Fin Si
Si C!=C2 Alors
/* Inégalité entre deux connexions. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |