Bug #6982 | SET CHARACTER SET from QBrowser starts a new session | ||
---|---|---|---|
Submitted: | 3 Dec 2004 10:38 | Modified: | 3 Dec 2004 11:09 |
Reporter: | Viktor Kostadinov | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Query Browser | Severity: | S2 (Serious) |
Version: | 1.1.2 | OS: | Windows (WinXP) |
Assigned to: | CPU Architecture: | Any |
[3 Dec 2004 10:38]
Viktor Kostadinov
[3 Dec 2004 11:09]
Michael G. Zinner
Victor, QB opens a new connection for every query you execute, except when you start a transaction. The reason for this is, that we want to allow parallel execution of selects that take a long time or return a lot of data. Another reason is, that we allow the user to stop the execution of a query while fetching rows. The only way to do this a the moment is, to close the connection, because the server expects the client to read all data that has been requested. This will change when we introduce client side cursers, because then we will only fetch the data you can currently see on the screen. Example: You execute a query that will return 1,000,000 rows. On a second tab you do a different select while the first result set is still fetching. By looking at the result from the 2nd query you realize that your first query was wrong. Only 270,000 rows have been fetched yet and you press stop to halt the execution. The second issue is about charsets. QB works with UTF8 internally. So every string that comes from the server hast to be in UTF8. Therefore we execute SET CHARACTER SET utf8 to make sure the server returns UTF8 strings. Because of a limitation in the server, we cannot use SET NAMES utf8; currently. This has been fixed and will be in 4.1.8 / 5.0.2. So at the moment, your default database (the one you specify in the connection dialog under schema) has to be in the same charset/collation that your tables are. If you use cp1250, make sure your database is in the same charset. If your default database is still latin1, all cp120 characters that are not in latin1 will be converted to ?. This is quite a limitation yet, but like I said before, this has already been addressed. Please state if this helps you solve your problem.
[3 Dec 2004 13:17]
Viktor Kostadinov
TRUE. I'm very sorry that i bothered you, but I never noticed that each query executes as a new connection. It seemed logical that it works through one connection until I specifically request new thread. Hence my error. Once more, I apologise for my ignorance. Victor PS thank you for a quick response
[3 Dec 2004 14:28]
Viktor Kostadinov
TRUE. I'm very sorry that i bothered you, but I never noticed that each query executes as a new connection. It seemed logical that it works through one connection until I specifically request new thread. Hence my error. Once more, I apologise for my ignorance. Victor PS thank you for a quick response