Fournissez un exemple de code documenté pour toutes les méthodes d'accès à la base de données prises en charge par Pervasive.SQL sur toutes les plates-formes utilisant tous les langages populaires. De préférence utile pour les utilisateurs débutants et avancés comme guide de référence.
Voir:
Pendant de nombreuses années, j'ai été frappé par le fait que les exemples de code/codage étaient rares. Aussi ils variaient dans le temps (plateformes, langages supportés), mais surtout figés dans le temps. Pas très attrayant pour un débutant, qu'il soit nouveau dans un langage de programmation ou dans Pervasive.SQL. Au fil des années, j'ai développé des idées sur la façon d'améliorer cela et j'ai fait quelques efforts pour écrire du code. La tâche qui nous attend est très vaste. Surtout si l'on veut faire du bon travail. Les idées changent, de nouveaux projets ou tâches sont intervenus entre les deux, etc. Pour faire court, cela a pris du temps et le résultat est très différent de celui initialement prévu car ma première idée était d'écrire une application de référence unique qui pourrait ensuite être portée dans d'autres langages/ plates-formes.
Sur la base du paragraphe Méthodes d'accès à la base de données de la documentation en ligne Actian Pervasive.SQL V13, j'ai créé un script shell Bash (mk_dirs.sh), en prenant un seul argument étant le nom du langage de programmation, qui crée une structure de répertoires répertoriant toutes les méthodes d'accès à la base de données sous forme de sous-répertoires. En utilisant ce script, j'ai été obligé d'examiner et de documenter toutes les (?!) possibilités, aussi étranges soient-elles. Tous les sous-répertoires contiennent leur propre fichier ReadMe markdown décrivant les (im)possibilités et le code s'il est fourni. Tous les langages de programmation ont un fichier de démarque Lisez-moi dans leur répertoire racine décrivant les tenants et aboutissants, ce qui est et n'est pas implémenté ainsi qu'un fichier de démarque de résultats pour enregistrer ce qui a été testé sur quelle plate-forme.
L'objectif était de ne violer aucun droit d'auteur, les en-têtes doivent donc être copiés à partir de SDK qui peuvent être téléchargés à partir du site Web d'Actian. Il en va de même pour le code qui peut être copié/collé depuis le site Web. Ce serait formidable si des exemples de code (et en-têtes) pouvaient être mis à disposition à partir d'un référentiel. En parcourant Github, on peut trouver des fichiers d'en-tête protégés par le droit d'auteur. Je laisse à Actian le soin de les ajouter.
J'apprécie beaucoup les améliorations, les commentaires et autres contributions. Personnellement, je peux penser à un point de vue :
Je suis pleinement conscient que la plupart des codes ne sont pas conformes aux normes ci-dessus. Refactoriser tout le code prendrait beaucoup de temps, ce qui retarderait la version initiale ou peut-être même l'empêcherait. Pour cette raison, je publie du code qui ne correspond pas à mon point de vue sur un codage approprié.
Voir le fichier Credits.md. Ce fichier s'applique à l'ensemble du projet.
Voir le fichier License.md. Ce fichier s'applique à l'ensemble du projet.
Par souci d'exhaustivité et d'uniformité, toutes les méthodes d'accès mentionnées dans le manuel du programmeur sont répertoriées comme options pour toutes les langues. Les combinaisons peuvent être assez absurdes ou exotiques. Évidemment, ceux-ci ne sont pas (encore) implémentés et/ou correctement testés. Tout le code et la documentation de ce référentiel sont fournis tels quels. Je ne suis en aucun cas un expert dans toutes les langues proposées. L'objectif est au moins de fournir un code fonctionnel, ce qui est un standard très bas, mais malheureusement pas rare. Écrire sur la programmation par rapport au génie logiciel peut remplir les étagères. N'y allons pas maintenant. Espérons que la qualité du code augmentera avec le temps si des personnes expertes dans un certain langage participent et améliorent le code. La plupart du code est testé sous Linux uniquement, sauf indication contraire. Pour améliorer la maturité et la clarté sur ce sujet, des tableaux de résultats de tests ont été ajoutés.