the problem is that client tools are compiled with UNDEF_THREADS_HACK
flag, and my thread-related additions to the mysqltest.c can't be compiled.
Easy solution is to disable these in not-embedded case completely.
client/mysqltest.c:
it's used in embedded server only
This error is displayed anytime the SELECT statement needs a temp table to
return correct results because the object (select_dumpvar) that represents
variables named in the INTO clause stored the results before the temp
table was considered. The problem was fixed by creating the necessary
Item_func_set_user_var objects once the correct data is ready.
mysql-test/r/distinct.result:
Bug#20836 Selecting into variables results in wrong results being returned
- Added results
mysql-test/t/distinct.test:
Bug#20836 Selecting into variables results in wrong results being returned
- Added various Selects that use the INTO statement and a temp table.
- Added Select Into Outfile variant tests also.
sql/sql_class.cc:
Bug#20836 Selecting into variables results in wrong results being returned
- The select_dumpvar variable created a Item_func_set_user_var too early
and once set, it was not possible to change. The Item_func_set_user_var
is now created once the final results are available.
sql/sql_class.h:
Bug#20836 Selecting into variables results in wrong results being returned
- Removed unnecessary object members.
- Avoid use of mtr_run when executing "mysqld --verbose --help" to find
version and supported features
mysql-test/mysql-test-run.pl:
Don't use mtr_run when executing "mysqld --verbose --help" to find
version and supported features.
ALTER TABLE DISABLE KEYS doesn't work when modifying the table
ENABLE|DISABLE KEYS combined with another ALTER TABLE option, different
than RENAME TO did nothing. Also, if the table had disabled keys
and was ALTER-ed then the end table was with enabled keys.
Fixed by checking whether the table had disabled keys and enabling them
in the copied table.
myisam/mi_open.c:
Extend mi_indexes_are_disabled to implement return value
2 - Non-unique indexes are disabled
mysql-test/r/alter_table.result:
update result
mysql-test/t/alter_table.test:
update test
sql/sql_table.cc:
When ENABLE|DISABLE index is combined with another option
different than RENAME TO, we should ENABLE|DISABLE the keys of
the modified table. Also when modifying we should preserve the
previous state of the indices.
(This problem exists in 5.0 and 5.1 but since the codebase has
diverged, this fix won't automerge, but the fix will be quite
similar).
A corrupted compressed table could crash the server and
myisamchk.
The data file of an uncompressed table contains just the records.
There is no header in the data file.
However the data file of a compressed table has a header.
The header describes how the table was compressed. This
information is necessary to extract the records from the
compressed data file.
Part of the compressed data file header are the [de]code tables.
They are numeric representations of the Huffman trees used for
coding and decoding. A Huffman tree is a binary tree. Every
node has two childs. A child can be a leaf or a branch. Leaves
contain the decoded value. Branches point to another tree node.
Since the [de]code table is represented as an array of childs,
the branches need to point at a child within the same array.
The corruption of the compressed data file from the bug report
was a couple of branches that pointed outside their array.
This condition had not been correctly checked.
I added some checks for the pointers in the decode tables.
This type of corruption will no longer crash the server or
myisamchk.
No test case. A corrupted compressed table is required.
myisam/mi_packrec.c:
Bug#23139 - myisamchk and mysqld crash when trying to access table
Added some checks for the pointers in the decode tables.
Added comments, DBUG prints, style fixes.
- Better control of when to create/remove vardir
mysql-test/mysql-test-run.pl:
Split the part the function cleanup_stale_files in two parts
- one that removes any old var directories
- one that setup var in te proper location
If running against extern server and no vardir has been created in the specified
location, run the latter function to create the vardir structure. Else print
message saying the vardir already exists and continue.
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
And if var/ has been created, it will be recreated later so the logs
from "mtr_kill_leftovers" will be lost anyway
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/lib/mtr_report.pl:
Don't output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
And if var/ has been created, it will be recreated later so the logs will
be lost
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/lib/mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mysql-test/lib/mtr_unique.pl:
- add info message to mtr_require_unique_id_and_wait as suggested
- fix for security issue
- locks for pids of processes that don't exist anymore are reused, if ps is present and working as expected
traces in Valgrind (broken libc6-dbg).
Installing libc6-dbg on Debian will still provide proper bactraces, even
without setting LD_LIBRARY_PATH explicitly.
mysql-test/lib/mtr_io.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
mysql-test/mysql-test-run.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/Makefile.am:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge of changes for RPM
expression cols.
The problem was that MYSQL_FIELD::org_name was set for MIN() and MAX()
functions (COUNT() is also mentioned in the bug report but was already
fixed).
After this patch for expressions MYSQL_FIELD::name is set to either
expression itself or its alias, and other data origin fields of
MYSQL_FILED (db, org_table, table, org_name) are empty strings.
sql/item_sum.cc:
For expressions only col_name should be non-empty string.
tests/mysql_client_test.c:
Add test case for bug#21635: MYSQL_FIELD struct's member strings seem
to misbehave for expression cols.
into mysql.com:/usr/home/ram/work/bug22029/my41-bug22029
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
sql/item_timefunc.cc:
Auto merged