Bug #49728 mysql client should not allow use of '--tee' or TEE when '-e' option is used

Submitted: 16 Dec 2009 3:26 Modified: 16 Dec 2009 3:33
Reporter: Roel Van de Paar Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version:5.5.0m2, 5.1.41 OS:Any
Assigned to: CPU Architecture:Any

[16 Dec 2009 3:26] Roel Van de Paar
Description:
--tee=file.txt or TEE file.txt does not work when using -e (tee/TEE only works if the session is interactive.)

As such, an error should be given (and the mysql client should terminate without executing the command) when --tee or TEE is used together with -e.

There's also some incorrect messages being shown. Notice "Outfile disabled." and "Logging to file 'test.txt'" in the output below.

How to repeat:
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ ./bin/mysql -uroot -h127.0.0.1 -P5502 roelt -e "TEE test.txt;SELECT 1;SELECT 2;NOTEE;"
+---+
| 1 |
+---+
| 1 |
+---+
+---+
| 2 |
+---+
| 2 |
+---+
Outfile disabled.
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ cat test.txt
cat: test.txt: No such file or directory
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ ./bin/mysql -uroot -h127.0.0.1 -P5502 roelt -e "SELECT 1;SELECT 2;" --tee=test.txt
Logging to file 'test.txt'
+---+
| 1 |
+---+
| 1 |
+---+
+---+
| 2 |
+---+
| 2 |
+---+
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ cat test.txt
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ rm test.txt
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ ./bin/mysql -uroot -h127.0.0.1 -P5502 roelt -e "SELECT 1;SELECT 2;" > test.txt
roel@roel-ubuntu-vm:/mysql/mysql-5.5.0-m2-linux-i686-icc-glibc23$ cat test.txt
1
1
2
2

Suggested fix:
Produce an error and do not start mysql client if --tee or TEE is used.
[16 Dec 2009 3:33] Roel Van de Paar
Verifying as D3. Same happens on Windows.

An even better fix would be to fix tee/TEE so it works in non-interactive mode. Currently, there is no way to produce an output similar to tee/TEE in non-interactive mode. Especially having timing output (x.xx sec) would be great.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.055 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.