Funktion programmieren für Anwendung in Msql-Where-Clausel



  • Hallo,
    Mit c++ und Msql möchte ich in Datensätzen einen eigenen Datentyp (zur Not als 44Byte-Blob) speichern. Jetzt brauche ich aber die Möglichkeit in der Where- und Order-Clausel den Vergleich (<==>) für diesen Datentyp. Wie kann ich Msql dazu bringen, das so auszusortieren? Dass es geht, hab ich schon gefunden. Meine Frage ist nun das wie.



  • @RudiMBM
    Du kannst deinen Datentyp so kodieren, dass er als ASCII in einer TEXT Spalte abgelegt wird (Base32/Base64/etc).
    Wenn du den ASCII String in deinem C++ Programm erzeugst kannst du ihn auch in einer WHERE-Klausel einsetzen.



  • @DocShoe Im Prinzip keine schlechte Idee. Diese Class besteht jedoch aus 10 Long unsigned und 4 Status Bytes. Die Status Bytes jedoch dürften eine sinnvolle Sortierung verhindern.



  • @RudiMBM
    Dann fallen mir nur diese Optionen ein:

    • ASCII Kodierung als Hex, damit kannst du auf Attribute deines Datentyps anhand von Substrings zugreifen, wid mitm Indizieren aber wohl schwierig. KA, wie gut MySQL Indzierung von Substrings unterstützt
    • Attribute deines Datentyps in eigener Spalte ablegen
    • deinen Datentyp als JSON Objekt ablegen. Auch hier weiß ich nicht, wie gut MySQL JSON Objekte indizieren kann.

Anmelden zum Antworten