functionality into the test case "strict".
The additional sub test cases are part of the SoW6 test draft
(sow6-dates.test) written by Trudy/PeterG.
sow6-dates will be no longer needed, because "strict" contains with
this extension all sub test cases of sow6-dates.
mysql-test/r/strict.result:
Updated results
mysql-test/t/strict.test:
Additional tests
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()
BitKeeper/etc/ignore:
added support-files/ndb-config-2-node.ini
mysql-test/r/group_by.result:
More complicated test to assure that rand() is only calulated once
mysql-test/r/user_var.result:
Back to old results :( (ok but not perfect)
mysql-test/t/group_by.test:
More complicated test to assure that rand() is only calulated once
sql/item.cc:
Better bugfix for "HAVING when refering to RAND()"
This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
Generalize split_sum_func()
sql/item.h:
Better bugfix for "HAVING when refering to RAND()"
T
sql/item_cmpfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_func.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_row.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_strfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/sql_list.h:
Add functions to concatenate lists
sql/sql_select.cc:
Better bugfix for "HAVING when refering to RAND()"
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Corrected user name passing
Honor the --master-binary and --slave-binary options
Insert the host name into 'user' table
Added --udiff option, to get unified diff output
Call special mtr_run_test() for running "mysqltest"
mtr_report.pl:
Added --udiff option, to get unified diff output
init_db.sql:
Insert the host name into 'user' table
mysql-test/lib/init_db.sql:
Insert the host name into 'user' table
mysql-test/lib/mtr_report.pl:
Added --udiff option, to get unified diff output
mysql-test/mysql-test-run.pl:
Corrected user name passing
Honor the --master-binary and --slave-binary options
Insert the host name into 'user' table
Added --udiff option, to get unified diff output
Call special mtr_run_test() for running "mysqltest"
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
sql/item_row.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/unireg.h:
Auto merged
sql/item_cmpfunc.cc:
manual merge
sql/item_func.cc:
no changes
(BUG 8216)
mysql-test/r/group_by.result:
New test case
mysql-test/r/user_var.result:
Test changed (to be more correct) with bug fix
mysql-test/t/group_by.test:
Added test for HAVING bug
sql/item_cmpfunc.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_func.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_row.cc:
Fixed bug in HAVING when refering to RAND()
sql/item_strfunc.cc:
Fixed bug in HAVING when refering to RAND()
sql/unireg.h:
Added PSEUDO_TABLES_BITS for easy testing of real table reference
into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
This patch contains all that my previous patch (1.1814) contained, with the addition of using cli_fetch_lengths for
handling binary data (Bar noted this on the review of 1.1814, Guilhem suggested using cli_fetch_lenghts by
making available via removal of static in method definition and declaration in mysql.h, but
Konstantin had some reservations, but he said to commit the patch using this anyway,
and I suppose this can be discussed. I abandoned 1.1814 because Monty made a couple
fixes to my code as well as formatting changes, and I thought it would just be easier
to hand-edit my changes into a fresh clone and then make a patch.
The reason for using cli_fetch_lengths is so that I can correctly get the length of
the field I am setting into the field. I was previously using 'strlen' but Bar pointed out this
won't correctly get the length of binary data and is also less effecient. Upon testing,
it was in fact verified that binary data in a blob table was being inserted correctly,
but not being retrieved correctly, all due to not having the correct value for the
field:
(*field)->store(row[x], strlen(row[x]), &my_charset_bin);
was changed to:
(*field)->store(row[x], lengths[x], &my_charset_bin);
lengths being a unsigned long pointer to the values of the field lengths from a
MYSQL_ROW.
Since the server doesn't have the function "mysql_fetch_lengths" available, I tried
to use "result->lengths", but this isn't set, so I finally successfully used
cli_fetch_lenghts, which does give the correct lengths, and now the binary data gets
retrieved correctly.
I've also run the code through indent-ex and am using Brian's vimrc to ensure correct formatting!
This code passes the entire test suite, without any errors or warning on both my
workstation and build.mysql.com
include/mysql.h:
added cli_fetch_lengths to mysql.h in order to use this function in the federated handler
mysql-test/r/federated.result:
- Moved countries to be created and inserted prior to federated test table
- Added a test of inserting binary values into a blob table
mysql-test/t/federated.test:
- Moved order of countries table creation to prior to test table creation
- Test insertion of binary values in a blob table
sql-common/client.c:
removed 'static' to allow cli_fetch_lengths to be used in the federated handler
sql/ha_federated.cc:
1. share->scheme that was created in parse_url was not being freed
2. HASH federated_open_tables was being deleted, but not freed
3. 'result' from mysql_store_result was not being free in several instances
4. Fixed the problem where a table scan was being performed after
index_read_idx, which didn't cause a problem because the result set from
idx_read_idx was not being freed, but once the result set was properly freed,
it broke update_row. Now, I'm using the bool 'scan' to determine if I need to
perform a table scan, which it magically is false when the query is an update
with an index.
5. Changed all stings containing the query to perform in mysql_real_query
calls from string.c_ptr_quick() to string.ptr() per Monty's suggestion
(better performance)
6. Fixed various cast/type/truth compile warnings.
7. Removed 'load_conn_info' and just let 'parse_url' handle it.
8. Added the use of cli_fetch_lengths, needed to fix binary values being retrieved
from the database in rnd_next/convert_row_to_internal_format
9. Formatting changes by using indent-ex!
sql/ha_federated.h:
added scan flag, setting defaults for result and scan_flag
mysql-test/r/subselect.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect_innodb.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect_innodb.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
configure.in:
Auto merged
include/mysql.h:
Auto merged
scripts/Makefile.am:
Auto merged
mysql-test/r/drop_temp_table.result:
SCCS merged
sql/sql_base.cc:
SCCS merged
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys.
The fix will not be merged into 4.1/5.0 because they don't have this problem already.
mysql-test/r/show_check.result:
Testcase for BUG#7519
mysql-test/t/show_check.test:
Testcase for BUG#7519
sql/sql_show.cc:
Fix for BUG#7519: Index statistics is not displayed after ANALYZE for temporary tables:
When handling "SHOW INDEX" the call file->extra(HA_STATUS_CONST | ...) is made for regular tables
but bypassed for temporary tables.
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys to make sure we're always using the
current index cardinality values.
when we close the session's temp tables at session end, we automatically write to binlog *one* DROP TEMPORARY TABLE *per tmp table*.
mysql-test/r/drop_temp_table.result:
result update (note: one DROP TEMPORARY TABLE per tmp table)
mysql-test/t/drop_temp_table.test:
checking that we have one DROP TEMPORARY TABLE per tmp table now, not one multi-table DROP.
Hiding columns Log_pos/End_log_pos per Monty's request.
sql/sql_base.cc:
When we close the session's temp tables at session end, we automatically write to binlog one DROP TEMPORARY TABLE per tmp table,
not one single multi-table DROP TEMPORARY TABLE (because it causes problems if slave has --replicate*table rules).
client/mysqlcheck.c:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/ft_static.c:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/union.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/ha_myisam.h:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/field.cc:
Clean up merge