Oh, sorry.
This bug is not with MySQL :-)
Jan
Jan Dvorak wrote:
>
> >Description:
>
> A table that has been LOCKed
> is not allowed to be aliased in a SELECT.
> One gets
>
> ERROR 1100: Table '...' was not locked with LOCK TABLES
>
> where the ... is the alias, not the name of the table.
>
> This makes it difficult for MySQL users
> to wrap SQL code in LOCK TABLES ... UNLOCK TABLES,
> because some SELECT:s may break.
>
> >How-To-Repeat:
>
> drop table if exists A;
> select "Create a simple table A and put some stuff in it:" as message;
> create table A ( id integer unsigned not null primary key );
> insert into A values (1), (2);
>
> select "Here it is:" as message;
> select * from A;
>
> select "Under a lock, I can still select from the table if I don't alias it:" as
> mesage;
> lock tables A write;
> select * from A;
> unlock tables;
>
> select "Under a lock, I cannot access it aliased in a select:" as message;
> lock tables A write;
> select * from A a1, A a2 where a2.id = a1.id;
> unlock tables;
>
> >Fix:
>
> The locks should be checked agains the real table, not the alias.
>
> Revise sql/sql_select.cc ?
>
> >Submitter-Id: jan.dvorak@stripped
> >Originator: jan.dvorak@stripped
> >Organization:
> MathAn Praha, Ltd.; CZ.
> >MySQL support: none
> >Synopsis: SELECT doesn't let an alias to a LOCKed table
> >Severity: non-critical
> >Priority: medium
> >Category: mysql
> >Class: sw-bug
> >Release: mysql-3.23.11-alpha (Source distribution)
> >Server: /usr/bin/mysqladmin Ver 8.0 Distrib 3.23.11-alpha, for pc-linux-gnu on
> i686
> TCX Datakonsult AB, by Monty
>
> Server version 3.23.11-alpha-log
> Protocol version 10
> Connection Localhost via UNIX socket
> UNIX socket /var/lib/mysql/mysql.sock
> Uptime: 3 days 20 hours 52 min 46 sec
>
> Threads: 1 Questions: 8991 Slow queries: 0 Opens: 0 Flush tables: 2 Open tables:
> 0
> >Environment:
>
> System: Linux medved.mathan.cz 2.2.13 #2 SMP Thu Dec 16 09:47:45 CET 1999 i686
> unknown
> Architecture: i686
>
> Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
> GCC: Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
> gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
> Compilation info: CC='gcc' CFLAGS='' CXX='c++' CXXFLAGS='' LDFLAGS=''
> LIBC:
> lrwxrwxrwx 1 root root 13 Jun 9 1999 /lib/libc.so.6 ->
> libc-2.1.1.so
> -rwxr-xr-x 1 root root 4016683 Apr 17 1999 /lib/libc-2.1.1.so
> -rw-r--r-- 1 root root 19533408 Apr 17 1999 /usr/lib/libc.a
> -rw-r--r-- 1 root root 178 Apr 17 1999 /usr/lib/libc.so
> 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=/ --exec-prefix=/usr
> --libexecdir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
> --localstatedir=/var/lib/mysql --infodir=/usr/info --includedir=/usr/include
> --mandir=/usr/man --with-charset=czech --without-docs
> Perl: This is perl, version 5.005_03 built for i386-linux
>
> ---------------------------------------------------------------------
> Please check "http://www.mysql.com/Manual_chapter/manual_toc.html" before
> posting. To request this thread, e-mail bugs-thread14@stripped
>
> To unsubscribe, send a message to the address shown in the
> List-Unsubscribe header of this message. If you cannot see it,
> e-mail bugs-unsubscribe@stripped instead.