Bug #1948 system variable query_prealloc_size can be only global
| Submitted: | 25 Nov 2003 7:32 | Modified: | 3 Feb 2004 4:04 |
|---|---|---|---|
| Reporter: | Konstantin Osipov (OCA) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 4.0 | OS: | |
| Assigned to: | Konstantin Osipov | CPU Architecture: | Any |
[25 Nov 2003 7:32]
Konstantin Osipov
[25 Nov 2003 7:34]
Konstantin Osipov
Current description for query_prealloc_size can be found here: http://www.mysql.com/doc/en/SHOW_VARIABLES.html
[25 Nov 2003 7:39]
Konstantin Osipov
The same is true for 'query_alloc_block_size'.
[10 Dec 2003 15:37]
Paul DuBois
I'm confused by this bug report. There are two issues. 1) Konstantin says: ---- How to repeat: SET query_prealloc_size=anyvalue and watch that real allocation does not take place. Suggested fix: Either remove query_prealloc_size from list of session variables, or do really perform prealloc when this variable is set. Also add full description of the variable to the docs. ---- But I find that if I set query_prealloc_size to some value, and then do SHOW VARIABLES, the value *has* been set. It may be that it is not *used*, but that is a different question. What is meant here? 2) If these variables really are global only (which is apparently the intent), then there is a server bug that cannot be addressed solely as a doc issue. If they are global only, then attempting to set them without explicitly specifying GLOBAL should result in an error. That is, they should be treated the same way a variable like key_buffer_size (also a global-only variable) is treated: mysql> SET key_buffer_size = 100000; ERROR 1229: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL Please confirm whether or not I am correct and advise me how to proceed. Thanks.
[15 Dec 2003 13:16]
Paul DuBois
Konstantin and I had a chat about this issue. The result is that we believe the behavior should be as follows: paul: - query_prealloc_size exists as a global variable, and can be changed with SET GLOBAL query_prealloc_size = value. paul: - Changes that are made that way affect only new connections. paul: - When a client connects, it has a session query_prealloc_size value that is initialized from the current global value. paul: - The session value is read-only; the client cannot change it. I will reassign this report to Konstantin. After he makes the changes, he'll reassign to me as a docs issue.
[3 Feb 2004 4:04]
Konstantin Osipov
Fixed in 4.0.18 (bk commit - 4.0 tree (konstantin:1.1695)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.040 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.