FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Kennt von euch jemand diesen Fehler und weiß was zu tun ist? Google
liefert ganze 6 Treffer, die mir alle nicht geholfen haben.

Nach dem Upgrade von 5.0.18 auf 5.0.45 unter WinXP hatte ich Probleme
mit dem Anlegen von stored procedures (Datenbanknamen alle lowercase).
Ein manuelle Korrektur schaffte Abhilfe. Allerdings funktionieren
nicht alle sp. Einige liefern den obigen Fehler.

Bei der Installation habe ich "nur MyISAM" gewählt und "latin1" als
charset. Aber das Probleme scheint auch eher in der Sortierung zu
liegen. MySQL besteht auf schwedischer Sortierung und ignoriert
anscheinend meine Voreinstellung in der my.ini

---------------my.ini-------------------
character-set-server = latin1
collation-server = latin1_german2_ci
----------------------------------------

Irgendwelche Ideen?


Peter
Peter Schleif [ So, 23 September 2007 18:38 ] [ ID #1827210 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Peter Schleif schrieb:
> Kennt von euch jemand diesen Fehler und weiß was zu tun ist? Google
> liefert ganze 6 Treffer, die mir alle nicht geholfen haben.
>
> Nach dem Upgrade von 5.0.18 auf 5.0.45 unter WinXP hatte ich Probleme
> mit dem Anlegen von stored procedures (Datenbanknamen alle lowercase).
> Ein manuelle Korrektur schaffte Abhilfe. Allerdings funktionieren
> nicht alle sp. Einige liefern den obigen Fehler.

Und die sind alle mit "VS, nur für den Dienstgebrauch" gekennzeichnet -
oder warum verschweigst Du hier den Code und die GENAUE Fehlermeldung?
Christian Kirsch [ So, 23 September 2007 22:51 ] [ ID #1827211 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Christian Kirsch schrieb:
>
> Und die sind alle mit "VS, nur für den Dienstgebrauch" gekennzeichnet -

Ganz so schlimm ist es nicht, aber das originale table- und sp-Layout
kann ich mit Rücksicht auf den Kunden tatsächlich nicht posten.


> oder warum verschweigst Du hier den Code und die GENAUE Fehlermeldung?

Sorry. Das war dumm von mir.

Hatte heute keine Zeit, ein Test-Szenario anzulegen und die Originale
kann/darf ich nicht posten (siehe oben). Immerhin kann ich schon mal
soviel sagen, dass der Fehler reproduzierbar ist und in seiner
schlimmsten Ausprägung den MySQL-Dienst an Dr.Watson überweist. Ich
poste Tabelle und s.p. spätestens morgen. Ich bitte zu entschuldigen,
dass ich nicht erst das Test-Szenario angelegt und dann den Fehler
gepostet habe.

Peter
Peter Schleif [ Mo, 24 September 2007 16:33 ] [ ID #1827860 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Peter Schleif <gib.spam.keine.chance [at] web.de> wrote:
> Bei der Installation habe ich "nur MyISAM" gewählt und "latin1" als
> charset. Aber das Probleme scheint auch eher in der Sortierung zu
> liegen. MySQL besteht auf schwedischer Sortierung und ignoriert
> anscheinend meine Voreinstellung in der my.ini

> ---------------my.ini-------------------
> character-set-server =3D latin1
> collation-server =3D latin1_german2_ci
> ----------------------------------------

Was sagt
SHOW VARIABLES LIKE '%collation%'
und ein jeweils ein
SHOW CREATE TABLE beteiligte_tabellen
bezueglich COLLATE der Tabellen und ggfls. einzelner Spalten dieser Tabell=
en?

Ist da vielleicht irgendwie latin1 und utf8 gemischt und Du sortierst mit
ORDER BY a, b ueber zwei unterschiedlich definierte Spalten a und b? Ich
weiss zwar spontan nicht, ob das verboten ist, aber wuerde mich nicht
wundern.
Sven Paulus [ Mo, 24 September 2007 18:21 ] [ ID #1827861 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Anbei:

1 Abfrage
2 Tabellen
1 stored procedure

Die Abfrage bringt dann bei mir reproduzierbar den MySQL-Dienst zum
Absturz:

Fehler: 2013 (CR_SERVER_LOST)
Meldung: Lost connection to MySQL server during query

Server Version: 5.0.45-community-nt
WinXP Pro SP2


Unter 5.0.18 war alles okay.

Vielleicht *diemsal* kine Diskussion über Sinn, Zweck und Performance
von berechneten Joins? Danke

Außer dem Crash habe ich auch immer noch das Problem, dass die
Groß/Klein-Schreibung von Datenbank-Namen beim Erstellen von s.p.
nicht berücksichtigt wird.



==================== SQL-CODE =========================


-- Die Abfrage
-- --------------------------------------
SELECT DISTINCT
t1.barcode, test.barcode_umsetzung(t1.barcode)
FROM test.t1
INNER JOIN test.t2
ON test.barcode_umsetzung(t1.barcode)=t2.barcode
WHERE t1.barcode=12345678


-- Tabelle t1
-- --------------------------------------
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (
id int(10) unsigned NOT NULL auto_increment,
barcode int(8) unsigned zerofill NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY barcode (barcode)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;

INSERT INTO test.t1 (id, barcode) VALUES (1, 12345678);
INSERT INTO test.t1 (id, barcode) VALUES (2, 12345679);



-- Tabelle t2
-- --------------------------------------
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t2 (
id int(10) unsigned NOT NULL auto_increment,
barcode bigint(11) unsigned zerofill NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;

INSERT INTO test.t2 (id, barcode) VALUES (1, 12345106708);
INSERT INTO test.t2 (id, barcode) VALUES (2, 12345106709);



-- s.p. barcode_umsetzung
-- --------------------------------------
DELIMITER |

DROP FUNCTION IF EXISTS test.barcode_umsetzung |

CREATE FUNCTION test.barcode_umsetzung(barcode8 INT(8))
RETURNS BIGINT(11) UNSIGNED
READS SQL DATA
BEGIN
RETURN FLOOR(barcode8/1000)*1000000 + 100000 + FLOOR((barcode8 MOD
1000)/10)*100 + (barcode8 MOD 10);
END |

DELIMITER ;


============================================================ ====
Peter Schleif [ Di, 25 September 2007 18:04 ] [ ID #1828669 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Peter Schleif <gib.spam.keine.chance [at] web.de> wrote:
>
> Anbei:
>
> 1 Abfrage
> 2 Tabellen
> 1 stored procedure
>
> Die Abfrage bringt dann bei mir reproduzierbar den MySQL-Dienst zum
> Absturz:

Ich habe mir die Freiheit genommen, auf der Basis deines sehr schönen
Beispiels einen Bugreport zu schreiben:

http://bugs.mysql.com/bug.php?id=31191

> Außer dem Crash habe ich auch immer noch das Problem, dass die
> Groß/Klein-Schreibung von Datenbank-Namen beim Erstellen von s.p.
> nicht berücksichtigt wird.

Kannst du das ein bisschen genauer ausführen? Insbesondere was liefert
dir SHOW VARIABLES LIKE 'lower_case_%' ?


XL
Axel Schwenke [ Di, 25 September 2007 21:09 ] [ ID #1828670 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Peter Schleif <gib.spam.keine.chance [at] web.de> wrote:

Ach so, da hab ich doch was wesentliches vergessen zu schreiben:

> CREATE FUNCTION test.barcode_umsetzung(barcode8 INT(8))
> RETURNS BIGINT(11) UNSIGNED
> READS SQL DATA
> BEGIN
> RETURN FLOOR(barcode8/1000)*1000000 + 100000 + FLOOR((barcode8 MOD
> 1000)/10)*100 + (barcode8 MOD 10);
> END |

Die Charakterisierung dieser Funktion als 'READS SQL DATA' ist falsch.
Tatsächlich ist das eine deterministische Funktion, die vollkommen frei
von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
ersetzt, funktioniert das Ganze auch.

Unabhängig davon ist der Crash natürlich ein Bug.


XL
Axel Schwenke [ Di, 25 September 2007 21:14 ] [ ID #1828671 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:
>
> http://bugs.mysql.com/bug.php?id=31191

Danke. Ich habe dich dort so verstanden, dass der Crash mit
DETERMINISTIC *nicht* auftritt.

Das kann ich leider nicht bestätigen. Bei mir crashed es so oder so.


>
>> Groß/Klein-Schreibung von Datenbank-Namen beim Erstellen von s.p.
>
> Kannst du das ein bisschen genauer ausführen? Insbesondere was liefert
> dir SHOW VARIABLES LIKE 'lower_case_%' ?

+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | ON |
| lower_case_table_names | 2 |
+------------------------+-------+

Mit

lower_case_file_system = Off

in der my.ini startet der neue Server erst gar nicht.


Peter
Peter Schleif [ Mi, 26 September 2007 05:05 ] [ ID #1829576 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:
>
> Kannst du das ein bisschen genauer ausführen?

Hier noch ein Beispiel:


==================== SQL-CODE =========================


-- Datenbank anlegen und Großschreibung kontrollieren
-- --------------------------------------
CREATE DATABASE TEST2;

SHOW DATABASES LIKE 'TEST2';

+------------------+
| Database (TEST2) |
+------------------+
| TEST2 |
+------------------+



-- s.p. anlegen und kontrollieren
-- --------------------------------------
DELIMITER |

DROP FUNCTION IF EXISTS TEST2.TEST |

CREATE FUNCTION TEST2.TEST()
RETURNS VARCHAR(3)
DETERMINISTIC
BEGIN
RETURN 'foo';
END |

DELIMITER ;

SHOW FUNCTION STATUS LIKE 'TEST';

+-------+------+
| Db | Name |
+-------+------+
| test2 | TEST |
+-------+------+

============================================================ ====
Peter Schleif [ Mi, 26 September 2007 05:07 ] [ ID #1829577 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:
>
> Kannst du das ein bisschen genauer ausführen?

Hier noch ein Beispiel:


==================== SQL-CODE =========================


-- Datenbank anlegen und Großschreibung kontrollieren
-- --------------------------------------
CREATE DATABASE TEST2;

SHOW DATABASES LIKE 'TEST2';

+------------------+
| Database (TEST2) |
+------------------+
| TEST2 |
+------------------+



-- s.p. anlegen und kontrollieren
-- --------------------------------------
DELIMITER |

DROP FUNCTION IF EXISTS TEST2.TEST |

CREATE FUNCTION TEST2.TEST()
RETURNS VARCHAR(3)
DETERMINISTIC
BEGIN
RETURN 'foo';
END |

DELIMITER ;

SHOW FUNCTION STATUS LIKE 'TEST';

+-------+------+
| Db | Name |
+-------+------+
| test2 | TEST |
+-------+------+

============================================================ ====
Peter Schleif [ Mi, 26 September 2007 05:07 ] [ ID #1829578 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

On 25 Sep., 21:14, Axel Schwenke <axel.schwe... [at] gmx.de> wrote:
>
> Die Charakterisierung dieser Funktion als 'READS SQL DATA' ist falsch.

Stimmt.


> Wenn du READS SQL DATA durch DETERMINISTIC
> ersetzt, funktioniert das Ganze auch.

Der Server schmiert trotzdem ab.
petsch [ Mi, 26 September 2007 07:09 ] [ ID #1829580 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:

> von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Aaaaahhh!!!!!!!!!!! Ich *hasse* dieses Unwort!

Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung". Das
kann Dir jedes Englisch-Wörterbuch bestätigen.

Gruß. Claus (langsam wieder abkühlend)
Claus Reibenstein [ Mi, 26 September 2007 09:00 ] [ ID #1829582 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Claus Reibenstein wrote:

>> von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
>
> Aaaaahhh!!!!!!!!!!! Ich *hasse* dieses Unwort!
>
> Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung". Das
> kann Dir jedes Englisch-Wörterbuch bestätigen.

Bei riesigen Seiteneffekten fragen sie ihren Arzt oder Apotheker ;-)

> Gruß. Claus (langsam wieder abkühlend)

Hier ist es draussen schon ziemlich kalt geworden, da schadet ein
bisschen Wärme nicht:

Daumenregel

Dieter
dnoeth [ Mi, 26 September 2007 09:57 ] [ ID #1829583 ]

[OT] Denglisch (was: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen)

Dieter Noeth schrieb:
> Claus Reibenstein wrote:
>
>>> von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
>> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
>>
>> Aaaaahhh!!!!!!!!!!! Ich *hasse* dieses Unwort!
>>
>> Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung". Das
>> kann Dir jedes Englisch-Wörterbuch bestätigen.
>
> Bei riesigen Seiteneffekten fragen sie ihren Arzt oder Apotheker ;-)
>
>> Gruß. Claus (langsam wieder abkühlend)
>
> Hier ist es draussen schon ziemlich kalt geworden, da schadet ein
> bisschen Wärme nicht:
>
> Daumenregel

Jetzt willst Du's Claus aber richtig dreckig geben, oder?
Aber gut, Heizöl, Gas und Strom werden auch immer teurer, da will
ich auch mithelfen:

"Sinn machen".


HTH & SCNR,

Sebastian
Sebastian Suchanek [ Mi, 26 September 2007 10:09 ] [ ID #1829584 ]

Re: [OT] Denglisch

Am 26.09.2007 10:09 schrieb Sebastian Suchanek:

> Jetzt willst Du's Claus aber richtig dreckig geben, oder?
> Aber gut, Heizöl, Gas und Strom werden auch immer teurer, da will
> ich auch mithelfen:
>
> "Sinn machen".
>

Schön, das endlich mal jemand dieses Problem adressiert und uns
kommuniziert, wo seine Kernkompetenzen liegen. Mehr als ein echter
Fall für Gartners magisches Quadrat.

--
Christian
Christian Kirsch [ Mi, 26 September 2007 10:18 ] [ ID #1829585 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

petsch <peter.schleif.spam [at] gmx.de> wrote:
> On 25 Sep., 21:14, Axel Schwenke <axel.schwe... [at] gmx.de> wrote:
>
>> Wenn du READS SQL DATA durch DETERMINISTIC
>> ersetzt, funktioniert das Ganze auch.
>
> Der Server schmiert trotzdem ab.

Welche Version ist das? Ich habe nur mit 5.0.50 auf Linux getestet
und da crasht es mit DETERMINISTIC nicht. Bitte einen Kommentar mit
Versionsnummer und Betriebssystem an den Bug anfügen. Danke!


XL
Axel Schwenke [ Mi, 26 September 2007 10:36 ] [ ID #1829587 ]

Re: [OT] Denglisch

Sebastian Suchanek schrieb:

> "Sinn machen".

Harmlos. Das gilt ja schon fast als deutsch ;-)

Gruß. Claus
Claus Reibenstein [ Mi, 26 September 2007 11:10 ] [ ID #1829588 ]

Re: [OT] Denglisch

On Wed, 26 Sep 2007 10:09:06 +0200 Sebastian Suchanek wrote:
> >>> von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
> >> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
> >> Aaaaahhh!!!!!!!!!!! Ich *hasse* dieses Unwort!

> >> Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung".
> >> Das kann Dir jedes Englisch-Wörterbuch bestätigen.

> Aber gut, Heizöl, Gas und Strom werden auch immer teurer, da will
> ich auch mithelfen:
>
> "Sinn machen".

Am Ende des Tages wird das alles keinem mehr auffallen... :)

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Stefan - weil pfiffige Liebe nie und nimmer bebt.
(Sloganizer)
Stefan+Usenet [ Mi, 26 September 2007 11:19 ] [ ID #1829590 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Claus Reibenstein <4spammersonly [at] web.de> wrote:
> Axel Schwenke schrieb:
>
>> von Seiteneffekten ist. Wenn du READS SQL DATA durch DETERMINISTIC
> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
>
> Aaaaahhh!!!!!!!!!!! Ich *hasse* dieses Unwort!

:-D

> Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung". Das
> kann Dir jedes Englisch-Wörterbuch bestätigen.

Hast ja recht. Ich schimpfe in anderen Fällen (Sinn machen, etwas
realisieren) ja auch gerne über falsche wörtliche Übersetzungen.

Können wir uns auf "Nebeneffekt" einigen?

PS: http://dict.tu-chemnitz.de/dings.cgi?query=side+effect


XL
Axel Schwenke [ Mi, 26 September 2007 11:39 ] [ ID #1829594 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

On 26 Sep., 10:36, Axel Schwenke <axel.schwe... [at] gmx.de> wrote:
>
> Welche Version ist das?

5=2E0.45-community-nt (laut php_info)
WinXP Pro SP2

> Ich habe nur mit 5.0.50 auf Linux getestet
> und da crasht es mit DETERMINISTIC nicht.

Unter Windows schon. Gerade noch mal geprüft.

> Bitte einen Kommentar mit
> Versionsnummer und Betriebssystem an den Bug anfügen.

Kannst Du das nicht machen? Ich weiß gar nicht wie das geht und hab'
auch keinen Account.

Vielen Dank.

Peter Schleif
petsch [ Mi, 26 September 2007 12:12 ] [ ID #1829597 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:

> Claus Reibenstein <4spammersonly [at] web.de> wrote:
>
>> Die deutsche Übersetzung von "side effect" lautet "Nebenwirkung".
>
> Können wir uns auf "Nebeneffekt" einigen?

*grummel* Aber nur unter Vorbehalt *brummel* ;-)

> PS: http://dict.tu-chemnitz.de/dings.cgi?query=side+effect

Ich bevorzuge <http://dict.leo.org>. Da steht aber leider auch diese
Un-Übersetzung :-(

Möchte zu gerne mal wissen, wer für diese Pseudo-Übersetzung
verantwortlich ist. Dem würde ich gerne mal ein paar Nachhilfestunden in
Englisch verpassen ...

Gruß. Claus
Claus Reibenstein [ Mi, 26 September 2007 13:15 ] [ ID #1829598 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Axel Schwenke schrieb:
>
> DETERMINISTIC

So am Rande: Muss/Kann/Sollte eine Funktion als deterministisch
charakterisiert sein, wenn sie selbst zwar determ ist, ihrererseits
aber eine andere Funktion aufruft, welche *nicht* determ ist?

Oder oder wenn diese (aufgerufene) Funktion selbst zwar auch determ
ist, ihrerseits aber wieder eine nicht-determ Funktion aufruft?

.... usw.

[ ] Ja
[ ] Nein
[ ] Muss
[ ] Kann
[ ] Sollte


Vielen Dank.

Peter
Peter Schleif [ Mi, 26 September 2007 20:00 ] [ ID #1829604 ]

Re: FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

petsch <peter.schleif.spam [at] gmx.de> wrote:
> On 26 Sep., 10:36, Axel Schwenke <axel.schwe... [at] gmx.de> wrote:
>>
>> Welche Version ist das?
>
> 5.0.45-community-nt (laut php_info)
> WinXP Pro SP2
>
>> Ich habe nur mit 5.0.50 auf Linux getestet
>> und da crasht es mit DETERMINISTIC nicht.
>
> Unter Windows schon. Gerade noch mal geprüft.
>
>> Bitte einen Kommentar mit
>> Versionsnummer und Betriebssystem an den Bug anfügen.
>
> Kannst Du das nicht machen? Ich weiß gar nicht wie das geht und hab'
> auch keinen Account.

Das hat sich in diesem Fall erübrigt, weil das ein Duplicate war
(im Original schon seit 2 Wochen bekannt).

Aber ganz allgemein möchte ich *alle* MySQL-Anwender darum bitten,
eventuell gefundene Bugs auf bugs.mysql.com zu reporten. Auch das
ist eine Form der Unterstützung von Open Source. Einen kompletten
Bugreport zu schreiben ist zwar *etwas* aufwendiger als ein Posting
hier, aber nicht viel. Peters Posting enthielt im Prinzip schon
alles nötige.

Die Registrierung ist nicht weiter schlimm, im wesentlichen nur
eine Mailadresse und ein Passwort. Eine gültige Mailadresse ist
sinnvoll, dann bekommt man auch Nachricht, wenn sich etwas tut.
Außerdem verschenkt MySQL manchmal auch was hübsches an Leute,
die viele Bugs reporten :)

Guckst du: http://www.mysql.com/news-and-events/news/article_959.html

<Zaunpfahl>
Demnächst steht ein RC für 5.1 an!
</Zaunpfahl>


XL
Axel Schwenke [ Mi, 26 September 2007 21:35 ] [ ID #1829605 ]
Datenbanken » de.comp.datenbanken.mysql » FEHLER: Unerlaubte Mischung von Sortierreihenfolgen

Vorheriges Thema: deutsches datum sortieren
Nächstes Thema: Probleme mit Foreign Keys