diff options
author | unknown <sergefp@mysql.com> | 2004-04-05 19:52:10 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-04-05 19:52:10 +0400 |
commit | fbfdff7fb0b0e508db55151480c0135376b2bcd2 (patch) | |
tree | 407b4365ecfe2d3c7bbae1190bc79ebb9fc9ba5c /sql/sql_class.cc | |
parent | 66de313563a74099d416767fec884ab590530d31 (diff) | |
parent | ef8a5401f146e0aa17d9cc342c52a82e16e7c6ef (diff) | |
download | mariadb-git-fbfdff7fb0b0e508db55151480c0135376b2bcd2.tar.gz |
Post-merge fixes
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 44d35f5c165..ce0f7030caa 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -78,6 +78,23 @@ extern "C" void free_user_var(user_var_entry *entry) my_free((char*) entry,MYF(0)); } +/**************************************************************************** +** SQL syntax names for Prepared Statements +****************************************************************************/ + +extern "C" byte *get_stmt_key(SQL_PREP_STMT_ENTRY *entry, uint *length, + my_bool not_used __attribute__((unused))) +{ + *length=(uint) entry->name.length; + return (byte*) entry->name.str; +} + +extern "C" void free_sql_stmt(SQL_PREP_STMT_ENTRY *entry) +{ + char *pos= (char*) entry+ALIGN_SIZE(sizeof(*entry)); + my_free((char*) entry,MYF(0)); +} + /**************************************************************************** ** Thread specific functions @@ -161,7 +178,10 @@ THD::THD():user_time(0), current_statement(0), is_fatal_error(0), 16); else bzero((char*) &user_var_events, sizeof(user_var_events)); - + + hash_init(&sql_prepared_stmts, &my_charset_bin, USER_VARS_HASH_SIZE, 0, 0, + (hash_get_key) get_stmt_key, + (hash_free_key) free_sql_stmt,0); /* Protocol */ protocol= &protocol_simple; // Default protocol protocol_simple.init(this); @@ -280,6 +300,7 @@ void THD::cleanup(void) my_free((char*) variables.datetime_format, MYF(MY_ALLOW_ZERO_PTR)); delete_dynamic(&user_var_events); hash_free(&user_vars); + hash_free(&sql_prepared_stmts); if (global_read_lock) unlock_global_read_lock(this); if (ull) |