Stellen Sie dokumentierten Beispielcode für alle von Pervasive.SQL unterstützten Datenbankzugriffsmethoden auf allen Plattformen und in allen gängigen Sprachen bereit. Vorzugsweise als Nachschlagewerk für Anfänger und Fortgeschrittene geeignet.
Sehen:
Viele Jahre lang fiel mir auf, dass Code/Codierungsbeispiele rar waren. Sie variierten auch im Laufe der Zeit (Plattformen, unterstützte Sprachen), blieben aber vor allem in der Zeit hängen. Für den Anfang nicht sehr ansprechend, egal ob er neu in einer Programmiersprache oder in Pervasive.SQL ist. Im Laufe der Jahre entwickelte ich Ideen, wie ich dies verbessern könnte, und unternahm einige Anstrengungen, Code zu schreiben. Die vor uns liegende Aufgabe ist recht umfangreich. Vor allem, wenn man einen ordentlichen Job machen will. Ideen ändern sich, neue Projekte oder Aufgaben geraten dazwischen usw. Kurz gesagt, es hat einige Zeit gedauert und das Ergebnis ist ganz anders als zunächst erwartet, da meine erste Idee darin bestand, eine einzige Referenzanwendung zu schreiben, die später in andere Sprachen portiert werden könnte. Plattformen.
Basierend auf dem Abschnitt „Datenbankzugriffsmethoden“ in der Online-Dokumentation zu Actian Pervasive.SQL V13 habe ich ein Bash-Shellskript (mk_dirs.sh) erstellt, das als einzelnes Argument den Namen der Programmiersprache verwendet und eine Verzeichnisstruktur erstellt, die alle Datenbankzugriffsmethoden als Unterverzeichnisse auflistet. Durch die Verwendung dieses Skripts war ich gezwungen, alle (?!) Möglichkeiten zu untersuchen und zu dokumentieren, egal wie seltsam sie auch sein mögen. Alle Unterverzeichnisse enthalten ihre eigene Markdown-ReadMe-Datei, in der die (Un-)Möglichkeiten und Code beschrieben werden, falls bereitgestellt. Alle Programmiersprachen verfügen über eine ReadMe-Markdown-Datei in ihrem Stammverzeichnis, die die Vor- und Nachteile beschreibt, was implementiert ist und was nicht, sowie eine Ergebnis-Markdown-Datei, um zu registrieren, was auf welcher Plattform getestet wurde.
Das Ziel bestand darin, keine Urheberrechte zu verletzen, daher müssen Header von SDKs kopiert werden, die von der Actian-Website heruntergeladen werden können. Das Gleiche gilt für Beispielcode, der von der Website kopiert/eingefügt werden kann. Es wäre großartig, wenn Beispielcode (und Header) aus einem Repository verfügbar gemacht werden könnten. Wenn man sich auf Github umsieht, kann man urheberrechtlich geschützte Header-Dateien finden. Ich überlasse es Actian, sie hinzuzufügen.
Ich freue mich sehr über Verbesserungen, Kommentare und andere Beiträge. Persönlich kann ich mir eine Ansicht vorstellen:
Mir ist völlig bewusst, dass der meiste Code nicht den oben genannten Standards entspricht. Das Refactoring des gesamten Codes würde viel Zeit in Anspruch nehmen, was die Erstveröffentlichung verzögern oder vielleicht sogar verhindern würde. Aus diesem Grund veröffentliche ich Code, der nicht meinen Vorstellungen von ordnungsgemäßem Codieren entspricht.
Siehe die Datei Credits.md. Diese Datei gilt für das gesamte Projekt.
Siehe die Datei License.md. Diese Datei gilt für das gesamte Projekt.
Der Vollständigkeit und Einheitlichkeit halber sind alle im Programmierhandbuch erwähnten Zugriffsmethoden als Optionen für alle Sprachen aufgeführt. Die Kombinationen können durchaus absurd oder exotisch sein. Offensichtlich sind insbesondere diese (noch) nicht implementiert und/oder nicht ordnungsgemäß getestet. Der gesamte Code und die gesamte Dokumentation in diesem Repository werden unverändert bereitgestellt. Ich bin keineswegs ein Experte für alle angebotenen Sprachen. Das Ziel besteht darin, zumindest funktionierenden Code zu liefern, der einem sehr niedrigen Standard entspricht, aber leider keine Seltenheit ist. Das Schreiben über Programmierung versus Software-Engineering kann Bücherregale füllen. Lass uns jetzt nicht dorthin gehen. Hoffentlich wird die Qualität des Codes mit der Zeit steigen, wenn Leute mit Experten in einer bestimmten Sprache teilnehmen und den Code verbessern. Sofern nicht anders angegeben, wird der meiste Code nur unter Linux getestet. Um die Reife und Klarheit dieses Themas zu verbessern, wurden Testergebnistabellen hinzugefügt.