3443 Marc Alff 2012-02-20
Post merge cleanup: integration with recent changes in sql/ related to MD5.
modified:
mysql-test/suite/perfschema/r/digest_table_full.result
mysql-test/suite/perfschema/r/statement_digest.result
mysql-test/suite/perfschema/r/statement_digest_consumers.result
mysql-test/suite/perfschema/r/statement_digest_long_query.result
storage/perfschema/pfs.cc
storage/perfschema/pfs_digest.cc
storage/perfschema/pfs_digest.h
storage/perfschema/unittest/stub_server_misc.h
3442 Marc Alff 2012-02-20 [merge]
Merge mysql-trunk --> mysql-trunk-wl5767
added:
include/my_rnd.h
mysql-test/r/bug33509.result
mysql-test/suite/binlog/r/binlog_server_start_options.result
mysql-test/suite/binlog/t/binlog_server_start_options.test
mysql-test/suite/innodb/r/innodb-blob.result
mysql-test/suite/innodb/t/innodb-blob.test
mysql-test/t/bug33509.test
sql/md5.cc
sql/my_rnd.cc
sql/sha1.cc
modified:
include/CMakeLists.txt
include/m_ctype.h
include/my_base.h
include/my_bitmap.h
include/my_global.h
include/my_md5.h
include/my_sys.h
include/myisam.h
include/mysql/psi/mysql_socket.h
include/mysql/psi/mysql_table.h
include/mysql/psi/mysql_thread.h
include/mysql/psi/psi.h
include/mysql/psi/psi_abi_v1.h
include/mysql_time.h
include/sha1.h
include/sql_common.h
include/sslopt-case.h
include/sslopt-longopts.h
include/sslopt-vars.h
include/violite.h
include/waiting_threads.h
include/welcome_copyright_notice.h
libmysql/CMakeLists.txt
mysql-test/collections/default.experimental
mysql-test/include/subquery_sj.inc
mysql-test/r/group_by.result
mysql-test/r/innodb_ignore_builtin.result
mysql-test/r/mysqld--help-notwin.result
mysql-test/r/mysqld--help-win.result
mysql-test/r/subquery_sj_all.result
mysql-test/r/subquery_sj_all_bka.result
mysql-test/r/subquery_sj_all_bka_nixbnl.result
mysql-test/r/subquery_sj_all_bkaunique.result
mysql-test/r/subquery_sj_dupsweed.result
mysql-test/r/subquery_sj_dupsweed_bka.result
mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
mysql-test/r/subquery_sj_dupsweed_bkaunique.result
mysql-test/r/subquery_sj_firstmatch.result
mysql-test/r/subquery_sj_firstmatch_bka.result
mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
mysql-test/r/subquery_sj_firstmatch_bkaunique.result
mysql-test/r/subquery_sj_loosescan.result
mysql-test/r/subquery_sj_loosescan_bka.result
mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
mysql-test/r/subquery_sj_loosescan_bkaunique.result
mysql-test/r/subquery_sj_mat.result
mysql-test/r/subquery_sj_mat_bka.result
mysql-test/r/subquery_sj_mat_bka_nixbnl.result
mysql-test/r/subquery_sj_mat_bkaunique.result
mysql-test/r/subquery_sj_mat_nosj.result
mysql-test/r/subquery_sj_none.result
mysql-test/r/subquery_sj_none_bka.result
mysql-test/r/subquery_sj_none_bka_nixbnl.result
mysql-test/r/subquery_sj_none_bkaunique.result
mysql-test/r/type_newdecimal.result
mysql-test/r/type_temporal_fractional.result
mysql-test/suite/opt_trace/include/general.inc
mysql-test/suite/opt_trace/include/general2.inc
mysql-test/suite/opt_trace/r/bugs_no_prot_all.result
mysql-test/suite/opt_trace/r/bugs_no_prot_none.result
mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result
mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result
mysql-test/suite/opt_trace/r/charset.result
mysql-test/suite/opt_trace/r/filesort_pq.result
mysql-test/suite/opt_trace/r/general2_no_prot.result
mysql-test/suite/opt_trace/r/general2_ps_prot.result
mysql-test/suite/opt_trace/r/general_no_prot_all.result
mysql-test/suite/opt_trace/r/general_no_prot_none.result
mysql-test/suite/opt_trace/r/general_ps_prot_all.result
mysql-test/suite/opt_trace/r/general_ps_prot_none.result
mysql-test/suite/opt_trace/r/range_no_prot.result
mysql-test/suite/opt_trace/r/range_ps_prot.result
mysql-test/suite/opt_trace/r/security_no_prot.result
mysql-test/suite/opt_trace/r/security_ps_prot.result
mysql-test/suite/opt_trace/r/subquery_no_prot.result
mysql-test/suite/opt_trace/r/subquery_ps_prot.result
mysql-test/t/group_by.test
mysql-test/t/innodb_ignore_builtin.test
mysql-test/t/type_newdecimal.test
mysql-test/t/type_temporal_fractional.test
mysys/CMakeLists.txt
mysys/md5.c
mysys/mf_format.c
mysys/sha1.c
sql-common/my_time.c
sql/CMakeLists.txt
sql/handler.cc
sql/item.cc
sql/item.h
sql/item_func.cc
sql/item_func.h
sql/item_strfunc.cc
sql/keycaches.h
sql/mysqld.cc
sql/opt_range.cc
sql/password.c
sql/rpl_info_factory.cc
sql/signal_handler.cc
sql/sql_base.cc
sql/sql_binlog.cc
sql/sql_class.cc
sql/sql_lex.cc
sql/sql_lex.h
sql/sql_optimizer.cc
sql/sql_optimizer.h
sql/sql_partition.cc
sql/sql_plugin.cc
sql/sql_priv.h
sql/sql_resolver.cc
sql/sql_select.cc
sql/sql_tmp_table.cc
sql/sql_union.cc
sql/sys_vars.cc
sql/table.cc
storage/innobase/btr/btr0btr.cc
storage/innobase/btr/btr0cur.cc
storage/innobase/buf/buf0dblwr.cc
storage/innobase/dict/dict0boot.cc
storage/innobase/dict/dict0crea.cc
storage/innobase/dict/dict0load.cc
storage/innobase/fil/fil0fil.cc
storage/innobase/fsp/fsp0fsp.cc
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/i_s.cc
storage/innobase/ibuf/ibuf0ibuf.cc
storage/innobase/include/btr0btr.h
storage/innobase/include/btr0cur.h
storage/innobase/include/btr0cur.ic
storage/innobase/include/dict0boot.h
storage/innobase/include/dict0mem.h
storage/innobase/include/fil0fil.h
storage/innobase/include/fsp0fsp.h
storage/innobase/include/log0log.h
storage/innobase/include/mtr0mtr.h
storage/innobase/include/mtr0mtr.ic
storage/innobase/include/srv0srv.h
storage/innobase/include/trx0rec.ic
storage/innobase/include/trx0undo.h
storage/innobase/include/univ.i
storage/innobase/lock/lock0lock.cc
storage/innobase/mtr/mtr0mtr.cc
storage/innobase/row/row0ins.cc
storage/innobase/row/row0merge.cc
storage/innobase/row/row0mysql.cc
storage/innobase/row/row0sel.cc
storage/innobase/row/row0upd.cc
storage/innobase/srv/srv0start.cc
storage/innobase/trx/trx0rec.cc
storage/innobase/trx/trx0trx.cc
storage/innobase/trx/trx0undo.cc
vio/vio.c
vio/viosocket.c
=== modified file 'mysql-test/suite/perfschema/r/digest_table_full.result'
--- a/mysql-test/suite/perfschema/r/digest_table_full.result 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/r/digest_table_full.result 2012-02-20 20:56:20 +0000
@@ -76,7 +76,7 @@ SELECT DIGEST, DIGEST_TEXT, COUNT_STAR,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL 29 21 1 2
-29570e463ee5c23d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
+f7ab835f907f396b TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value
performance_schema_digests_size 2
=== modified file 'mysql-test/suite/perfschema/r/statement_digest.result'
--- a/mysql-test/suite/perfschema/r/statement_digest.result 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest.result 2012-02-20 20:56:20 +0000
@@ -75,28 +75,28 @@ Warning 1265 Data truncated for column '
SELECT DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
-29570e463ee5c23d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
-043b89731c01112f SELECT ? FROM t1 1 0 0 0
-454eba8b93c9ca0a SELECT ? FROM `t1` 1 0 0 0
-d7ee0ef93ad9fa8d SELECT ?, ... FROM t1 2 0 0 0
-a9a476e33c41ccf6 SELECT ? FROM t2 1 0 0 0
-e0ec2ba9bfa25ce9 SELECT ?, ... FROM t2 2 0 0 0
-9483370b7bfe3e5b INSERT INTO t1 VALUES (?) 1 1 0 0
-5a02f8af17096ad0 INSERT INTO t2 VALUES (?) 1 1 0 0
-778782a1f7a22d3e INSERT INTO t3 VALUES (...) 1 1 0 0
-ba86d7d93b0f147d INSERT INTO t4 VALUES (...) 1 1 0 0
-d6451ffacc7e94dd INSERT INTO t5 VALUES (...) 1 1 0 0
-7fcb81b5cb6a8b88 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
-0bac26f67845225a INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
-ef74a0ff15482a27 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
-21c8d94778536808 SELECT ? + ? 3 0 0 0
-9b5972abc531b21c SELECT ? 1 0 0 0
-49d23ec9aebe975b CREATE SCHEMA statements_digest_temp 2 2 0 0
-d42c9738d3d96889 DROP SCHEMA statements_digest_temp 2 0 0 0
-8bfbc5ac3b54dcc9 SELECT ? FROM t11 1 0 0 1
-5d0009fe38bf1af6 CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1
-fe1467341bb94010 INSERT INTO t11 VALUES (?) 1 1 1 0
-69029853781ad4cf SHOW WARNINGS 1 0 0 0
+f7ab835f907f396b TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
+0431ac94abde6328 SELECT ? FROM t1 1 0 0 0
+d798ff4be98e0d26 SELECT ? FROM `t1` 1 0 0 0
+d5016618084cd788 SELECT ?, ... FROM t1 2 0 0 0
+6f08c6cdf2afab43 SELECT ? FROM t2 1 0 0 0
+4fef50eb0b2f2fbc SELECT ?, ... FROM t2 2 0 0 0
+c4335f4ded28cdc3 INSERT INTO t1 VALUES (?) 1 1 0 0
+b015c102ab03f4bc INSERT INTO t2 VALUES (?) 1 1 0 0
+f83d4b46c3fe5ff9 INSERT INTO t3 VALUES (...) 1 1 0 0
+b81724d2cfa0ab7f INSERT INTO t4 VALUES (...) 1 1 0 0
+960035d85bc6d14f INSERT INTO t5 VALUES (...) 1 1 0 0
+6ee7554974d2ffa1 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
+827ec3eb62c9f2ed INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
+55e9e1b918c4e559 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
+d055f262b12b2384 SELECT ? + ? 3 0 0 0
+de392358e87965c3 SELECT ? 1 0 0 0
+d8bde89f42443bc5 CREATE SCHEMA statements_digest_temp 2 2 0 0
+5f49c045f89918f9 DROP SCHEMA statements_digest_temp 2 0 0 0
+04bbba67445b1f70 SELECT ? FROM t11 1 0 0 1
+60be4562b0114c30 CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1
+b1115cec4d694e11 INSERT INTO t11 VALUES (?) 1 1 1 0
+2ff7a4150e76c272 SHOW WARNINGS 1 0 0 0
####################################
# CLEANUP
####################################
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_consumers.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-02-20 20:56:20 +0000
@@ -88,28 +88,28 @@ Warning 1265 Data truncated for column '
####################################
SELECT digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
digest digest_text count_star
-29570e463ee5c23d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
-043b89731c01112f SELECT ? FROM t1 1
-454eba8b93c9ca0a SELECT ? FROM `t1` 1
-d7ee0ef93ad9fa8d SELECT ?, ... FROM t1 2
-a9a476e33c41ccf6 SELECT ? FROM t2 1
-e0ec2ba9bfa25ce9 SELECT ?, ... FROM t2 2
-9483370b7bfe3e5b INSERT INTO t1 VALUES (?) 1
-5a02f8af17096ad0 INSERT INTO t2 VALUES (?) 1
-778782a1f7a22d3e INSERT INTO t3 VALUES (...) 1
-ba86d7d93b0f147d INSERT INTO t4 VALUES (...) 1
-d6451ffacc7e94dd INSERT INTO t5 VALUES (...) 1
-7fcb81b5cb6a8b88 INSERT INTO t1 VALUES (?) /* , ... */ 2
-0bac26f67845225a INSERT INTO t3 VALUES (...) /* , ... */ 1
-ef74a0ff15482a27 INSERT INTO t5 VALUES (...) /* , ... */ 1
-21c8d94778536808 SELECT ? + ? 3
-9b5972abc531b21c SELECT ? 1
-49d23ec9aebe975b CREATE SCHEMA statements_digest_temp 2
-d42c9738d3d96889 DROP SCHEMA statements_digest_temp 2
-8bfbc5ac3b54dcc9 SELECT ? FROM t11 1
-5d0009fe38bf1af6 CREATE TABLE t11 ( c CHARACTER (?) ) 2
-fe1467341bb94010 INSERT INTO t11 VALUES (?) 1
-69029853781ad4cf SHOW WARNINGS 1
+f7ab835f907f396b TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
+0431ac94abde6328 SELECT ? FROM t1 1
+d798ff4be98e0d26 SELECT ? FROM `t1` 1
+d5016618084cd788 SELECT ?, ... FROM t1 2
+6f08c6cdf2afab43 SELECT ? FROM t2 1
+4fef50eb0b2f2fbc SELECT ?, ... FROM t2 2
+c4335f4ded28cdc3 INSERT INTO t1 VALUES (?) 1
+b015c102ab03f4bc INSERT INTO t2 VALUES (?) 1
+f83d4b46c3fe5ff9 INSERT INTO t3 VALUES (...) 1
+b81724d2cfa0ab7f INSERT INTO t4 VALUES (...) 1
+960035d85bc6d14f INSERT INTO t5 VALUES (...) 1
+6ee7554974d2ffa1 INSERT INTO t1 VALUES (?) /* , ... */ 2
+827ec3eb62c9f2ed INSERT INTO t3 VALUES (...) /* , ... */ 1
+55e9e1b918c4e559 INSERT INTO t5 VALUES (...) /* , ... */ 1
+d055f262b12b2384 SELECT ? + ? 3
+de392358e87965c3 SELECT ? 1
+d8bde89f42443bc5 CREATE SCHEMA statements_digest_temp 2
+5f49c045f89918f9 DROP SCHEMA statements_digest_temp 2
+04bbba67445b1f70 SELECT ? FROM t11 1
+60be4562b0114c30 CREATE TABLE t11 ( c CHARACTER (?) ) 2
+b1115cec4d694e11 INSERT INTO t11 VALUES (?) 1
+2ff7a4150e76c272 SHOW WARNINGS 1
SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text
####################################
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_long_query.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_long_query.result 2012-02-16 11:50:07 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_long_query.result 2012-02-20 20:56:20 +0000
@@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
####################################
SELECT digest, digest_text, count_star FROM events_statements_summary_by_digest;
digest digest_text count_star
-82e7927de7d2f6ba TRUNCATE TABLE events_statements_summary_by_digest 1
+4b653d085960e08d TRUNCATE TABLE events_statements_summary_by_digest 1
2dd9d11451985e28 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + !
? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ... 1
=== modified file 'storage/perfschema/pfs.cc'
--- a/storage/perfschema/pfs.cc 2012-02-20 18:05:15 +0000
+++ b/storage/perfschema/pfs.cc 2012-02-20 20:56:20 +0000
@@ -4554,16 +4554,10 @@ static void end_statement_v1(PSI_stateme
/* Set digest stat. */
digest_storage= &state->m_digest_state.m_digest_storage;
- /* Calculate MD5 Hash of the tokens received. */
- PFS_digest_hash digest_hash;
- MY_MD5_HASH(digest_hash.m_md5,
- (unsigned char *)digest_storage->m_token_array,
- (uint) sizeof(digest_storage->m_token_array));
-
/*
Populate PFS_statements_digest_stat with computed digest information.
*/
- digest_stat_ptr= find_or_create_digest(thread, digest_hash, digest_storage);
+ digest_stat_ptr= find_or_create_digest(thread, digest_storage);
if(digest_stat_ptr)
{
digest_stat= &(digest_stat_ptr->m_stat);
@@ -4621,17 +4615,10 @@ static void end_statement_v1(PSI_stateme
/* Set digest stat. */
digest_storage= &state->m_digest_state.m_digest_storage;
- /* Calculate MD5 Hash of the tokens received. */
- PFS_digest_hash digest_hash;
- MY_MD5_HASH(digest_hash.m_md5,
- (unsigned char *)digest_storage->m_token_array,
- (uint) sizeof(digest_storage->m_token_array));
-
/*
Populate PFS_statements_digest_stat with computed digest information.
*/
- digest_stat_ptr= find_or_create_digest(thread, digest_hash,
- digest_storage);
+ digest_stat_ptr= find_or_create_digest(thread, digest_storage);
if(digest_stat_ptr)
{
digest_stat= &(digest_stat_ptr->m_stat);
=== modified file 'storage/perfschema/pfs_digest.cc'
--- a/storage/perfschema/pfs_digest.cc 2012-02-16 12:57:06 +0000
+++ b/storage/perfschema/pfs_digest.cc 2012-02-20 20:56:20 +0000
@@ -165,7 +165,7 @@ static LF_PINS* get_digest_hash_pins(PFS
}
PFS_statements_digest_stat*
-find_or_create_digest(PFS_thread* thread, PFS_digest_hash d_hash,
+find_or_create_digest(PFS_thread* thread,
PFS_digest_storage* digest_storage)
{
LF_PINS *pins= get_digest_hash_pins(thread);
@@ -176,7 +176,13 @@ find_or_create_digest(PFS_thread* thread
return NULL;
}
- unsigned char* hash_key= d_hash.m_md5;
+ /* Compute MD5 Hash of the tokens received. */
+ PFS_digest_hash md5;
+ compute_md5_hash((char*) md5.m_md5,
+ digest_storage->m_token_array,
+ digest_storage->m_byte_count);
+
+ unsigned char* hash_key= md5.m_md5;
PFS_statements_digest_stat **entry;
PFS_statements_digest_stat *pfs= NULL;
@@ -214,8 +220,7 @@ find_or_create_digest(PFS_thread* thread
memcpy(pfs->m_digest_storage.m_token_array, digest_storage->m_token_array,
PFS_MAX_DIGEST_STORAGE_SIZE);
/* Copy digest hash/LF Hash search key. */
- memcpy(pfs->m_digest_hash.m_md5,
- d_hash.m_md5, 16);
+ memcpy(pfs->m_digest_hash.m_md5, md5.m_md5, 16);
pfs->m_first_seen= now;
pfs->m_last_seen= now;
=== modified file 'storage/perfschema/pfs_digest.h'
--- a/storage/perfschema/pfs_digest.h 2012-02-16 12:57:06 +0000
+++ b/storage/perfschema/pfs_digest.h 2012-02-20 20:56:20 +0000
@@ -74,7 +74,6 @@ void cleanup_digest();
int init_digest_hash(void);
void cleanup_digest_hash(void);
PFS_statements_digest_stat* find_or_create_digest(PFS_thread*,
- PFS_digest_hash,
PFS_digest_storage*);
void get_digest_text(char* digest_text, PFS_digest_storage*);
=== modified file 'storage/perfschema/unittest/stub_server_misc.h'
--- a/storage/perfschema/unittest/stub_server_misc.h 2010-12-02 15:05:07 +0000
+++ b/storage/perfschema/unittest/stub_server_misc.h 2012-02-20 20:56:20 +0000
@@ -22,3 +22,7 @@ volatile bool ready_to_exit= false;
uint lower_case_table_names= 0;
CHARSET_INFO *files_charset_info= NULL;
+extern "C" void compute_md5_hash(char *, const char *, int)
+{
+}
+
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk-wl5767 branch (marc.alff:3442 to 3443) | Marc Alff | 21 Feb |