summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <mskold@mysql.com>2005-06-03 06:40:40 +0200
committerunknown <mskold@mysql.com>2005-06-03 06:40:40 +0200
commit0f7a57cb5ae467da9363b1fa92c6154d8e65e700 (patch)
treec5911849916e45b11462ed51ba80fd0957b0d5ae
parent7c62023bc7fd5ae7269a797f901689300797089f (diff)
parent805b16addfb5964b3392bb8c376615f26e196fc7 (diff)
downloadmariadb-git-0f7a57cb5ae467da9363b1fa92c6154d8e65e700.tar.gz
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
-rw-r--r--config/ac-macros/yassl.m44
-rw-r--r--extra/yassl/taocrypt/src/integer.cpp2
-rw-r--r--extra/yassl/taocrypt/src/template_instnt.cpp14
-rw-r--r--ndb/src/mgmclient/CommandInterpreter.cpp3
-rw-r--r--sql/item.cc2
-rw-r--r--sql/item_subselect.cc2
-rw-r--r--sql/sql_class.h3
-rw-r--r--sql/sql_parse.cc4
-rw-r--r--sql/sql_union.cc2
9 files changed, 23 insertions, 13 deletions
diff --git a/config/ac-macros/yassl.m4 b/config/ac-macros/yassl.m4
index ada1a2c0bd1..ddacde51c2a 100644
--- a/config/ac-macros/yassl.m4
+++ b/config/ac-macros/yassl.m4
@@ -19,8 +19,8 @@ AC_DEFUN([MYSQL_CHECK_YASSL], [
AC_MSG_RESULT([using bundled yaSSL])
yassl_dir="extra/yassl"
openssl_libs="\
- \$(top_builddir)/extra/yassl/src/libyassl.a\
- \$(top_builddir)/extra/yassl/taocrypt/src/libtaocrypt.a"
+ -L\$(top_builddir)/extra/yassl/src -lyassl\
+ -L\$(top_builddir)/extra/yassl/taocrypt/src -ltaocrypt"
openssl_includes="-I\$(top_srcdir)/extra/yassl/include"
AC_DEFINE([HAVE_OPENSSL], [1], [Defined by configure. Using yaSSL for OpenSSL emulation.])
else
diff --git a/extra/yassl/taocrypt/src/integer.cpp b/extra/yassl/taocrypt/src/integer.cpp
index 67f3c963cac..3df1df9beab 100644
--- a/extra/yassl/taocrypt/src/integer.cpp
+++ b/extra/yassl/taocrypt/src/integer.cpp
@@ -3941,6 +3941,8 @@ Integer CRT(const Integer &xp, const Integer &p, const Integer &xq,
#ifdef __GNUC__
template unsigned int DivideThreeWordsByTwo<unsigned int, DWord>(unsigned int*, unsigned int, unsigned int, DWord*);
+template unsigned int DivideThreeWordsByTwo<unsigned int, Word>(unsigned int*, unsigned int, unsigned int, Word*);
+template unsigned long long DivideThreeWordsByTwo<unsigned long long, DWord>(unsigned long long*, unsigned long long, unsigned long long, DWord*);
#endif
} // namespace
diff --git a/extra/yassl/taocrypt/src/template_instnt.cpp b/extra/yassl/taocrypt/src/template_instnt.cpp
index 28dbdc5c739..5fed1ee5ae4 100644
--- a/extra/yassl/taocrypt/src/template_instnt.cpp
+++ b/extra/yassl/taocrypt/src/template_instnt.cpp
@@ -11,6 +11,7 @@ template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, Ali
#endif
template AllocatorWithCleanup<unsigned char>::pointer StdReallocate<unsigned char, AllocatorWithCleanup<unsigned char> >(AllocatorWithCleanup<unsigned char>&, unsigned char*, AllocatorWithCleanup<unsigned char>::size_type, AllocatorWithCleanup<unsigned char>::size_type, bool);
template AllocatorWithCleanup<unsigned int>::pointer StdReallocate<unsigned int, AllocatorWithCleanup<unsigned int> >(AllocatorWithCleanup<unsigned int>&, unsigned int*, AllocatorWithCleanup<unsigned int>::size_type, AllocatorWithCleanup<unsigned int>::size_type, bool);
+template AllocatorWithCleanup<unsigned long long>::pointer StdReallocate<unsigned long long, AllocatorWithCleanup<unsigned long long> >(AllocatorWithCleanup<unsigned long long>&, unsigned long long*, AllocatorWithCleanup<unsigned long long>::size_type, AllocatorWithCleanup<unsigned long long>::size_type, bool);
template class RSA_Decryptor<RSA_BlockType2>;
template class RSA_Encryptor<RSA_BlockType1>;
template class RSA_Encryptor<RSA_BlockType2>;
@@ -18,14 +19,19 @@ template class RSA_Encryptor<RSA_BlockType2>;
namespace mySTL {
template vector<TaoCrypt::Integer>* uninit_fill_n<vector<TaoCrypt::Integer>*, unsigned int, vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*, unsigned int, vector<TaoCrypt::Integer> const&);
+template vector<TaoCrypt::Integer>* uninit_fill_n<vector<TaoCrypt::Integer>*, unsigned long, vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*, unsigned long, vector<TaoCrypt::Integer> const&);
template void destroy<vector<TaoCrypt::Integer>*>(vector<TaoCrypt::Integer>*, vector<TaoCrypt::Integer>*);
template TaoCrypt::Integer* uninit_copy<TaoCrypt::Integer*, TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*, TaoCrypt::Integer*);
template TaoCrypt::Integer* uninit_fill_n<TaoCrypt::Integer*, unsigned int, TaoCrypt::Integer>(TaoCrypt::Integer*, unsigned int, TaoCrypt::Integer const&);
+template TaoCrypt::Integer* uninit_fill_n<TaoCrypt::Integer*, unsigned long, TaoCrypt::Integer>(TaoCrypt::Integer*, unsigned long, TaoCrypt::Integer const&);
template void destroy<TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*);
}
-template void TaoCrypt::tcDelete<TaoCrypt::HASH>(TaoCrypt::HASH*);
-template void TaoCrypt::tcArrayDelete<unsigned>(unsigned*);
-template void TaoCrypt::tcArrayDelete<unsigned char>(unsigned char*);
-template void TaoCrypt::tcArrayDelete<char>(char*);
+namespace TaoCrypt {
+template void tcDelete<HASH>(HASH*);
+template void tcArrayDelete<unsigned>(unsigned*);
+template void tcArrayDelete<unsigned long long>(unsigned long long*);
+template void tcArrayDelete<unsigned char>(unsigned char*);
+template void tcArrayDelete<char>(char*);
+}
#endif
diff --git a/ndb/src/mgmclient/CommandInterpreter.cpp b/ndb/src/mgmclient/CommandInterpreter.cpp
index 389fc08b97c..3b57e6d4860 100644
--- a/ndb/src/mgmclient/CommandInterpreter.cpp
+++ b/ndb/src/mgmclient/CommandInterpreter.cpp
@@ -1190,7 +1190,8 @@ CommandInterpreter::executeShow(char* parameters)
api_nodes++;
break;
case NDB_MGM_NODE_TYPE_NDB:
- if (state->node_states[i].dynamic_id < master_id)
+ if (state->node_states[i].dynamic_id &&
+ state->node_states[i].dynamic_id < master_id)
master_id= state->node_states[i].dynamic_id;
ndb_nodes++;
break;
diff --git a/sql/item.cc b/sql/item.cc
index 0db9a56055f..a9c1ef7198e 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -1027,7 +1027,7 @@ Item_field::Item_field(THD *thd, Field *f)
structure can go away and pop up again between subsequent executions
of a prepared statement).
*/
- if (thd->current_arena->is_stmt_prepare())
+ if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
{
if (db_name)
orig_db_name= thd->strdup(db_name);
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index b7aefdd6f2e..4f1e5b9a290 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -362,7 +362,7 @@ Item_singlerow_subselect::select_transformer(JOIN *join)
because we do not rollback this changes
TODO: make rollback for it, or special name resolving mode in 5.0.
*/
- !arena->is_stmt_prepare()
+ !arena->is_stmt_prepare_or_first_sp_execute()
)
{
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 47987f3a0c6..7c8ead7558e 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -695,7 +695,8 @@ public:
virtual Type type() const;
virtual ~Item_arena() {};
- inline bool is_stmt_prepare() const { return (int)state < (int)PREPARED; }
+ inline bool is_stmt_prepare_or_first_sp_execute() const
+ { return (int)state < (int)PREPARED; }
inline bool is_first_stmt_execute() const { return state == PREPARED; }
inline bool is_stmt_execute() const
{ return state == PREPARED || state == EXECUTED; }
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 2af9191110c..a9e68de3705 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -5894,7 +5894,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
ptr->db= empty_c_string;
ptr->db_length= 0;
}
- if (thd->current_arena->is_stmt_prepare())
+ if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
ptr->db= thd->strdup(ptr->db);
ptr->alias= alias_str;
@@ -6972,7 +6972,7 @@ bool create_table_precheck(THD *thd, TABLE_LIST *tables,
against the opened tables to ensure we don't use a table that is part
of the view (which can only be done after the table has been opened).
*/
- if (thd->current_arena->is_stmt_prepare())
+ if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
{
/*
For temporary tables we don't have to check if the created table exists
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index 8d36889df76..56401ced67c 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -323,7 +323,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
}
if (tmp_arena)
thd->restore_backup_item_arena(tmp_arena, &backup);
- if (arena->is_stmt_prepare())
+ if (arena->is_stmt_prepare_or_first_sp_execute())
{
/* prepare fake select to initialize it correctly */
init_prepare_fake_select_lex(thd);