Procédure publique · ORM_CSHX2 · Configuration / Session

ORM_DetectCaseSensitivity

Détecte automatiquement la sensibilité à la casse du provider SQL actif (MySQL, MariaDB, PostgreSQL) pour les identifiants (noms de tables et de colonnes). Habituellement appelée par ORM_Setup au démarrage du composant ; l'appel direct est utile pour récupérer la valeur courante à des fins de diagnostic ou de logique conditionnelle.

Configuration MySQL · MariaDB · PostgreSQL Détection automatique
01

📋 Description

La sensibilité à la casse des identifiants SQL (noms de tables et de colonnes) varie selon le provider et le système d'exploitation hôte. Cette différence affecte directement la portabilité du code et la construction des requêtes par l'ORM.

ℹ️ Comportement typique par provider

Cette information est donnée à titre indicatif — la procédure interroge le serveur réel et reflète la configuration courante :

  • MySQL / MariaDB sur Linux : généralement sensible à la casse (paramètre lower_case_table_names = 0 par défaut).
  • MySQL / MariaDB sur Windows : généralement insensible (paramètre lower_case_table_names = 1 par défaut).
  • PostgreSQL : sensible à la casse pour les identifiants entre guillemets, et folding en minuscules automatique pour les identifiants non quotés.
02

🔑 Signature

PROCÉDURE PUBLIQUE ORM_DetectCaseSensitivity() : (booléen, entier, chaîne, booléen)
PositionÉlémentTypeDescription
EntréeAucun paramètre. La détection se fait sur la connexion active.
Sortie 1bProcessingbooléenVrai si la détection a réussi, Faux sinon.
Sortie 2nErrorCodeentierCode d'erreur (0 si succès).
Sortie 3sErrorMessagechaîneMessage d'erreur localisé (vide si succès).
Sortie 4bCaseSensitivebooléenVrai si le provider distingue la casse des identifiants, Faux sinon. Valeur indéterminée si bProcessing = Faux.
03

💡 Exemple

Récupération de la sensibilité courante à des fins de diagnostic ou de logique applicative conditionnelle :

(bOK, nCode, sMsg, bSensitive) = ORM_DetectCaseSensitivity() SI bOK = Faux ALORS Erreur("Détection sensibilité casse impossible : " + sMsg) RETOUR FIN SI bSensitive ALORS Trace("Provider sensible à la casse — attention aux noms de tables/colonnes") SINON Trace("Provider insensible à la casse") FIN
ℹ️ Appel direct rarement nécessaire

Cette procédure est déjà appelée automatiquement par ORM_Setup au démarrage du composant. L'appel direct n'est généralement utile que pour du diagnostic ponctuel ou pour adapter la logique applicative au provider courant.