SQLITE für Windows 95

SQLite ist schon eine tolle Software … weil sie so “kompatibel” ist.

Wenn es darum geht ein Datenformat zu haben, das man über Zeiten hinweg nutzen kann, denkt man nicht gleich an eine SQL-Datenbank.
Aber wie sich zeigt, lässt sich diese Software auch auf 25 Jahre alten Systemen einsetzen.


SQLite ist schon lange ins GATE Framework integriert und von Zeit zu Zeit aktualisiere ich meinen Fork mit dem “latest-greatest” Abkömmling.

Dabei habe ich mir wieder die Frage gestellt, wie weit ich mit SQLite in die Vergangheit reisen könnte. Und zumindest für die Windows Welt, konnte ich das schnell austesten.

SQLite unter NT4 und Win98

Wenn man ein paar Compiler-Flags richtig einstellt, lässt sich SQLite mit Visual Studio 2005 kompilieren und dessen Output läuft dann unter NT4 wie auch unter Windows 98.

Natürlich muss man für Win98 mit der ANSI API arbeiten und auf einige erweiterte Datenzugriffsmöglichkeiten verzichten, doch diesen Weg kann man leicht aus den Originalquellen beschreiten.

Windows 95 ist anders

Wer denkt zwischen Win95 und 98 gäbe es keine funktionalen Unterschiede, der irrt.
Denn eine Funktion fehlt an vielen Enden: InterlockedCompareExchange()

Das Thema hatte ich im GATE-Framework intern schon und leitete damals einen Workaround bei mir ein … doch in Fremdcode geht das nicht so einfach.

Ich konnte jedoch das Ergebnis von InterlockedCompareExchange in einer eigenen Funktion provisorisch nachbauen (mit InterlockedExchange) und dann (per Makro von CMake aus) die originalen Aufrufe von InterlockedCompareExchange auf meine Funktion umleiten.

Zum Kompilieren war Studio 2003 notwendig, wofür auch noch eine kleine Änderung am Buildscript notwendig war … doch am Ende konnte SQLite auch für Windows 95 kompiliert und dort auch ausgeführt werden.

Fazit

Wenn es also ein Datenformat gibt, das ich heute im Jahr 2023 genau so nutzen kann, wie damals im Jahr 1995, dann ist das SQLite.

Ich bin sicher, dass es keine andere freie Datenbanksoftware gibt, die ihr Datenformat und auch ihren Programmcode so gestaltet hat, dass man Jahrzehnte damit überbrücken kann. Im besten Fall bekommt man kompatible Upgrades auf die neueste Version, die nur unter der neuesten Umgebung läuft.

Daher erneut: Ein Hoch auf SQLite!

📧 📋 🐘 | 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!