mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 03:51:50 +01:00
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
amazon-web-servicesdatabasefulltext-searchgalerageographical-information-systeminnodbjsonmariadbmysqlrdbmsrelational-databasessqlstorage-enginevector-database
4c52d3ddf1
The intermediate (not temporary) files of the new table during ALTER TABLE was visible for SHOW TABLES. These intermediate files are copies of the original table with the changes done by ALTER TABLE. After all the data is copied over from the original table, these files are renamed to the original tables file names. So they are not temporary files. They persist after ALTER TABLE, but just with another name. Normal GRANT checking takes place for the intermediate table. Everyone who can see the original table (and hence the final table) can also see the intermediate table. But noone else. In 5.0 the intermediate files are invisible for SHOW TABLES because all file names beginning with "#sql" were suppressed. In 5.1 temporary files are created in TMPDIR, so that they don't appear in the database directories. Also in 5.1 a translation between table names and file names is done. The tmp_file_prefix on file level is now "@0023sql". The suppression of files starting with tmp_file_prefix is still in place, but still only files beginning with "#sql" were suppressed. I do now translate tmp_file_prefix from table name to file name before comparing it with the files in a directory. This suppresses the intermediate files again. No test case. The test case looks so that a reasonable big table is altered while a second thread runs SHOW TABLES. This in itself would be possible to do, but on slow machines it would add too much time to the test suite, while on fast machines the ALTER TABLE might have finished before SHOW TABLES looks at the directory. Even if there might be a good balance for todays machines, one day the test would become void as the intermediate table would not be seen even with the bug in place. I added a test script to the bug report. It can easily be changed so that it uses a table size that is appropriate for the test machine. |
||
---|---|---|
BitKeeper | ||
BUILD | ||
client | ||
cmd-line-utils | ||
config/ac-macros | ||
dbug | ||
Docs | ||
extra | ||
include | ||
libmysql | ||
libmysql_r | ||
libmysqld | ||
man | ||
mysql-test | ||
mysys | ||
netware | ||
plugin | ||
pstack | ||
regex | ||
scripts | ||
server-tools | ||
sql | ||
sql-common | ||
storage | ||
strings | ||
support-files | ||
tests | ||
unittest | ||
VC++Files | ||
vio | ||
win | ||
zlib | ||
.bzrignore | ||
.cvsignore | ||
CMakeLists.txt | ||
configure.in | ||
COPYING | ||
Makefile.am | ||
README |
This is a release of MySQL, a dual-license SQL database server. MySQL is brought to you by the MySQL team at MySQL AB. License information can be found in these files: - For GPL (free) distributions, see the COPYING file. - For commercial distributions, see the MySQLEULA.txt file. For further information about MySQL or additional documentation, see: - The latest information about MySQL: http://www.mysql.com - The current MySQL documentation: http://dev.mysql.com/doc Some manual sections of special interest: - If you are migrating from an older version of MySQL, please read the "Upgrading from..." section first! - To see what MySQL can do, take a look at the features section. - For installation instructions, see the Installation chapter. - For future plans, see the TODO appendix. - For the new features/bugfix history, see the News appendix. - For the currently known bugs/misfeatures (known errors) see the problems appendix. - For a list of developers and other contributors, see the Credits appendix. A local copy of the MySQL Reference Manual can be found in the Docs directory in GNU Info format. You can also browse the manual online or download it in any of several formats at the URL given earlier in this file. ************************************************************ IMPORTANT: Bug or error reports should be sent to http://bugs.mysql.com.