Nach Aktualisierung Probleme mit Stored Procedures in Mysql

Hinweis: In dem Thema Nach Aktualisierung Probleme mit Stored Procedures in Mysql gibt es 1 Antwort.
  • Hallo,


    ich betreibe openSUSE 13.2 auf meinem Desktop-Rechner.
    Das System erfährt über die automatische Aktualisierung regelmäßige Updates.


    Auf dem Rechner betreibe ich seit vielen Jahren ein unter Qt entwickeltes und selbst geschriebenes Programm. Das funktioniert ebenso seit vielen Jahren einwandfrei. Ich mußte natürlich das Programm immer mal wieder auf eine andere Platform, eine neuere Qt-Version, eine neuere Version von openSUSE umziehen, aber das hat immer funktioniert.


    Das Programm selbst liest gewisse Bildschirmeinstellungen aus einer MySql-Datenbank, weil sich damit geschmackliche Einstellungen schneller und besser anpassen lassen. Ich verwende dazu Qt-Stylesheets.


    Am 09.12. kam über den Aktialisierungsdienst eine neue Version des Mariadb-Servers und des Clients. Ich habe jetzt die Version Mariadb 10.0.22-2.18.1. Seither gibt es Probleme mindestens mit einem der Stored Procedures. Der nachfolgend dargestellte Code zeigt die verwendete Stored Procedure.



    Stylesheets sind leider länglich, d.h. der angeforderte Text kann auch mal 500 Zeichen beinhalten. Wenn ich die Abfrage händisch absetze, dann erhalte ich:


    SQL
    MariaDB [kquicken]> select setvalue from SETTINGS where screenname = "MAINDIALOG" and settype="STYLESHEET";
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | setvalue                                                                                                                                                                                                                                                                                                                                                                                                                                   	|
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | QLabel#uhrzeit {border: 0px solid black; font-family:'Arial'; font-size:12px; font-weight:Bold; }  QTableView::item {margin-left:0px;padding-right:0px; padding-left:5 px; padding-top:0px; padding-bottom:0px; height:20px;}  QLabel#LogoLabel {background-image:url(kuicken.jpeg); background-origin:content; background-position:center ;max-width:160px; min-width:160px;max-height:110px; min-height:110px; border: 1px solid black;} 	|
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)


    Wenn ich hingegen die Stored Procedure verwende, dann erhalte ich:


    SQL
    MariaDB [kquicken]> select SETTINGS_VALUE("MAINDIALOG","STYLESHEET");
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | SETTINGS_VALUE("MAINDIALOG","STYLESHEET")                                                                                                                                                                                                                                                                                                                                                                                                      	|
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | QLabel#uhrzeit {border: 0px solid black; font-family:'Arial'; font-size:12px; font-weight:Bold; }  QTableView::item {margin-leÅ  	°  	QLabel#uhrzeit {border: 0px solid black; font-family:'Arial'; font-size:12px; font-weight:Bold; }  QTableView::item {margin-leÅ  	°  	QLabel#uhrzeit {border: 0px solid black; font-family:'Arial'; font-size:12px; font-weight:Bo110px; min-height:110px; border: 1px solid black;}     	|
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.01 sec)


    d.h. die Stored Procedure liefert nach ca. 122 Zeichen einige Schrottzeichen (mit denen Qt natürlich nichts anfangen kann) und dahinter dann wieder den regulären Text.


    Ich habe einige Zeit gebraucht, bis ich den Verursacher herausgefunden habe. Ich habe einiges an der Stored Procedure rumprobiert (NOT DETERMINISTIC, DETERMINISTIC oder gar nichts): Das Ergebnis war jedesmal das gleiche.


    Meiner Meinung enthält hat die ausgelieferte Version von Mariadb einen Fehler.


    Ist da was bekannt?

    Für den Inhalt des Beitrages 88887 haftet ausdrücklich der jeweilige Autor: Suelkun