>Description:
When I make a "SELECT count(*) AS Anzahl, ELT(FIELD(kundentyp, ... ), ... ) as
Kundentyp,kategorie FROM table WHERE ... GROUP BY kundentyp,kategorie ORDER BY
kategorie" the Server response with:
mysql> SELECT count(*) AS Anzahl,
ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''),
'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat
(geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma
(Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma
(Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl.
Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener
Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS kundentyp
,kategorie FROM vertragsdaten WHERE hdl_nr < 2000000 AND kategorie IN
('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY Kundentyp,kategorie ORDER
BY kategorie;
ERROR 2013: Lost connection to MySQL server during query
mysql>
And then the Server restarts itself, but all connections where gone and the clients
must reconnect.
>How-To-Repeat:
Here is a dump from the table:
--- cut here ---
# MySQL dump 8.12
#
# Host: localhost Database: copy_vertrag
#--------------------------------------------------------
# Server version 3.23.32-log
#
# Table structure for table 'vertragsdaten'
#
CREATE TABLE vertragsdaten (
cont_nr int(11) NOT NULL auto_increment,
ver_nr int(11) NOT NULL default '0',
aufnr int(11) NOT NULL default '0',
username varchar(50) NOT NULL default '',
hdl_nr int(11) NOT NULL default '0',
eintrag date NOT NULL default '0000-00-00',
st_klasse varchar(40) NOT NULL default '',
st_wert varchar(40) NOT NULL default '',
st_zusatz varchar(40) NOT NULL default '',
st_bemerkung varchar(255) NOT NULL default '',
kunden_art varchar(40) NOT NULL default '',
mcbs_knr int(11) default NULL,
mcbs_aufnr int(11) NOT NULL default '0',
schufa_status char(1) default '?',
bemerkung text,
wirknetz text,
wf_igz int(11) NOT NULL default '0',
tarifcode varchar(80) default NULL,
recycle char(1) default NULL,
sim varchar(30) default NULL,
mcbs_tpl varchar(30) default NULL,
emp_nr int(11) NOT NULL default '0',
laufzeit int(11) default NULL,
hdl_name varchar(30) default NULL,
prov_hdl_nr int(11) NOT NULL default '0',
auto_wirknetz varchar(50) default NULL,
auto_billing varchar(50) default NULL,
touch timestamp(14) NOT NULL,
kategorie varchar(50) default NULL,
kundentyp varchar(20) NOT NULL default '',
sammel_rech_msisdn varchar(30) NOT NULL default '',
p_nr varchar(9) NOT NULL default '',
suffix char(3) NOT NULL default '',
PRIMARY KEY (cont_nr),
KEY idx_aufnr(aufnr),
KEY idx_hdl_nr(hdl_nr),
KEY idx_st_klasse(st_klasse),
KEY ver_nr(ver_nr),
KEY eintrag_idx(eintrag),
KEY emp_nr_idx(emp_nr),
KEY wf_igz(wf_igz),
KEY touch(touch),
KEY hdl_tag(eintrag,hdl_nr),
KEY prov_hdl_nr(prov_hdl_nr),
KEY mcbs_aufnr(mcbs_aufnr),
KEY kundentyp(kundentyp),
KEY p_nr(p_nr,suffix)
) TYPE=MyISAM;
#
# Dumping data for table 'vertragsdaten'
#
INSERT INTO vertragsdaten VALUES (3359356,405,3359356,'Mustermann
Musterfrau',52500,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1485525,2122316,'+','','N',1909160,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',3,24,'MobilCom
Shop Koeln',52500,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
INSERT INTO vertragsdaten VALUES (3359357,468,3359357,'Mustermann
Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1503580,2139699,'+','','P',1909171,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom
Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
INSERT INTO vertragsdaten VALUES (3359358,407,3359358,'Mustermann
Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1501358,2137473,'N','','N',1909159,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',325,24,'MobilCom
Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
INSERT INTO vertragsdaten VALUES (3359359,468,3359359,'Mustermann
Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1507831,2143894,'+','','P',1909162,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom
Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
INSERT INTO vertragsdaten VALUES (3359360,0,0,'Mustermann
Musterfrau',29674907,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1900169997,2414578,'+',NULL,'N',1909148,'',NULL,NULL,'RV99066_2',20,NULL,'POS',29674907,NULL,NULL,20010202105916,'Mobilfunk','','','97317481','007');
INSERT INTO vertragsdaten VALUES (3359361,406,3359361,'Mustermann
Musterfrau',7001,'2000-05-20','workflow','Auftrag storniert','','(7001-84):Storno, Kd.
möchte nicht
mehr','privat',NULL,0,'+','','P',1909150,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',325,24,'MobilCom
Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
INSERT INTO vertragsdaten VALUES (3359362,406,3359362,'Mustermann
Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag
eingegangen und
geprüft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom
Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
--- cut here ---
The database has the following name: copy_vertrag
And here ist the select:
SELECT count(*) AS Anzahl,
ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''),
'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat
(geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma
(Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma
(Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl.
Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener
Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp
,kategorie FROM vertragsdaten WHERE hdl_nr < 2000000 AND kategorie IN
('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp,kategorie ORDER
BY kategorie;
>Fix:
I have found that the alias-name for the secound column (... AS Kundentyp,...) must
by different as the original column-name ( kundentyp ) such as "Typ" or so.
Result:
mysql> SELECT count(*) AS Anzahl,
ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''),
'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat
(geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma
(Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma
(Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl.
Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener
Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Typ ,kategorie FROM
vertragsdaten WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND
st_klasse = 'Workflow' GROUP BY kundentyp,kategorie ORDER BY kategorie;
+--------+--------------------------+-----------+
| Anzahl | Typ | kategorie |
+--------+--------------------------+-----------+
| 6 | Privat (Private Nutzung) | Mobilfunk |
+--------+--------------------------+-----------+
1 row in set (0.00 sec)
mysql>
>Submitter-Id: <submitter ID>
>Originator:
>Organization:
MfG Stefan Meyer - CC Point of Business - MobilCom Communications GmbH
Tel : (01019) 04331/69-1651
Fax : (01019) 04331/69-2729
>
>MySQL support: [none]
>Synopsis: Problem with ELT,FIELD and GROUP BY
>Severity: serious
>Priority: high
>Category: mysql
>Class: sw-bug
>Release: mysql-3.23.32 (Official MySQL RPM)
>Server: /usr/bin/mysqladmin Ver 8.14 Distrib 3.23.32, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version 3.23.32-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 7 min 3 sec
Threads: 2 Questions: 17 Slow queries: 3 Opens: 9 Flush tables: 1 Open tables: 1
Queries per second avg: 0.040
>Environment:
System: Linux meyer-lx 2.4.1-pre8 #2 Wed Jan 17 13:17:46 MET 2001 i686 unknown
Architecture: i686
Some paths: /usr/local/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)
Compilation info: CC='egcs' CFLAGS='-O6 -fomit-frame-pointer -mpentium' CXX='egcs'
CXXFLAGS='-O6 -fomit-frame-pointer -felide-constructors
-fno-exceptions -fno-rtti -mpentium' LDFLAGS=''
LIBC:
-rwxr-xr-x 1 root root 4071014 Jan 17 19:22 /lib/libc.so.6
-rw-r--r-- 1 root root 19190032 Dez 30 13:22 /usr/lib/libc.a
-rw-r--r-- 1 root root 178 Dez 30 13:22 /usr/lib/libc.so
-rw-r--r-- 1 root root 2032004 Jul 29 2000 /usr/lib/libc-client.a
lrwxrwxrwx 1 root root 20 Sep 11 13:46 /usr/lib/libc-client.so ->
./libc-client.so.4.7
-rwxr-xr-x 1 root root 668784 Jul 29 2000 /usr/lib/libc-client.so.4.7
Configure command: ./configure --disable-shared --with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static --enable-assembler --with-mysqld-user=mysql
--with-unix-socket-path=/var/lib/mysql/mysql.sock --prefix=/
--with-extra-charsets=complex --exec-prefix=/usr --libexecdir=/usr/sbin
--sysconfdir=/etc --datadir=/usr/share --localstatedir=/var/lib/mysql
--infodir=/usr/info --includedir=/usr/include --mandir=/usr/man --without-berkeley-db
'--with-comment=Official MySQL RPM'
Perl: This is perl, version 5.005_03 built for i586-linux
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php