4 messages in com.mysql.lists.mysql-deMySQL 4.1.0 Alpha schmiert bei komple...| From | Sent On | Attachments |
|---|---|---|
| p.sc...@bluewin.ch | 24 Jul 2003 01:33 | .sql |
| thom...@myphorum.com | 24 Jul 2003 01:53 | |
| Georg Richter | 24 Jul 2003 14:17 | |
| Georg Richter | 24 Jul 2003 15:32 |
| Subject: | MySQL 4.1.0 Alpha schmiert bei komplexem Statement ab![]() |
|---|---|
| From: | p.sc...@bluewin.ch (p.sc...@bluewin.ch) |
| Date: | 07/24/2003 01:33:26 AM |
| List: | com.mysql.lists.mysql-de |
| Attachments: |
Hallo zusammen
Ich habe einen MySQL-Server 4.1 auf Windows 2000 installiert und es läuft soweit eigentlich alles; auch die neuen Features wie Subselects etc. gehen anstandslos.
Nun habe ich aber ein Problem: Sobald ich ein bestimmtes, zugegeben recht grosses Statement ;-) absetze, meldet Windows folgenden Fehler und MySQL schmiert ab:
--------------- mysqld-max-nt.exe - Fehler in Anwendung
Die Anweisung in 0x...... verweist auf Speicher........ Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
Klicken sie auf OK um das Programm zu beenden....
---------------
Das Statement sieht folgendermassen aus:
SELECT * FROM ( SELECT * FROM User WHERE User_ID IN ( SELECT Object_ID FROM Group_right INNER JOIN User_group ON Group_right.Group_id = User_group.Group_id INNER JOIN Right_type ON Group_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 1 AND Object_ID NOT IN ( SELECT Object_ID FROM User_right INNER JOIN Right_type ON User_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 1 ) UNION SELECT Object_ID FROM User_right INNER JOIN Right_type ON User_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 1 ) ) AS User INNER JOIN ( SELECT * FROM User_group WHERE Group_ID IN ( SELECT Object_ID FROM Group_right INNER JOIN User_group ON Group_right.Group_id = User_group.Group_id INNER JOIN Right_type ON Group_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 2 AND Object_ID NOT IN ( SELECT Object_ID FROM User_right INNER JOIN Right_type ON User_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 2 ) UNION SELECT Object_ID FROM User_right INNER JOIN Right_type ON User_right.Right_ID = Right_type.Right_ID WHERE Right_type.Value >= 10 AND User_ID = 1 AND Physical = 1 AND Object_type_ID = 2 ) ) as view1 ON User.User_ID= view1.User_ID
Gibts bei MySQL irgendeine Statementlängenbeschränkung oder sowas? Hab den Rechner auch schon neugestartet => gleiches Problem. Im Anhang befindet sich die Datenbank als db.sql Datei, falls jemand das Statement bei sich ausprobieren will. Es sind auch Daten drin, allerdings nur vereinzelte Testdaten.
Hoffe jemand kann helfen.
Greets Pascal





.sql