MySQL Lists are EOL. Please join:

List:Internals« Previous MessageNext Message »
From:Sergei Golubchik Date:June 3 2005 11:43am
Subject:bk commit into 5.0 tree (serg:1.1957)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of serg. When serg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.1957 05/06/03 13:43:17 serg@stripped +4 -0
  yassl template instantiation - don't do too much
  mysys/my_access.c: remove incorrect fix
  comments

  sql/item_func.cc
    1.210 05/06/03 13:42:57 serg@stripped +7 -4
    a couple of comment. assert added.

  mysys/my_access.c
    1.4 05/06/03 13:42:57 serg@stripped +1 -1
    remove incorrect fix

  extra/yassl/taocrypt/src/template_instnt.cpp
    1.3 05/06/03 13:42:57 serg@stripped +12 -14
    yassl template instantiation - don't do too much

  extra/yassl/taocrypt/src/integer.cpp
    1.9 05/06/03 13:42:56 serg@stripped +4 -3
    yassl template instantiation - don't do too much

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	serg
# Host:	serg.mylan
# Root:	/usr/home/serg/Abk/mysql-5.0

--- 1.209/sql/item_func.cc	Thu Jun  2 17:46:03 2005
+++ 1.210/sql/item_func.cc	Fri Jun  3 13:42:57 2005
@@ -695,8 +695,8 @@ String *Item_int_func::val_str(String *s
 
 
 /*
-  Check arguments here to determine result's type for function with two
-  arguments.
+  Check arguments here to determine result's type for a numeric
+  function of two arguments.
 
   SYNOPSIS
     Item_num_op::find_num_type()
@@ -722,8 +722,9 @@ void Item_num_op::find_num_type(void)
     hybrid_type= DECIMAL_RESULT;
     result_precision();
   }
-  else if (r0 == INT_RESULT && r1 == INT_RESULT)
+  else
   {
+    DBUG_ASSERT(r0 == INT_RESULT && r1 == INT_RESULT);
     decimals= 0;
     hybrid_type=INT_RESULT;
     result_precision();
@@ -738,7 +739,9 @@ void Item_num_op::find_num_type(void)
 
 
 /*
-  Set result type of function if it (type) is depends only on first argument
+  Set result type for a numeric function of one argument
+  (can be also used by a numeric function of many arguments, if the result
+  type depends only on the first argument)
 
   SYNOPSIS
     Item_func_num1::find_num_type()

--- 1.3/mysys/my_access.c	Thu Jun  2 18:12:51 2005
+++ 1.4/mysys/my_access.c	Fri Jun  3 13:42:57 2005
@@ -44,7 +44,7 @@ int my_access(const char *path, int amod
 	
   result= GetFileAttributesEx(path, GetFileExInfoStandard, &fileinfo);
   if (! result ||
-      (fileinfo.dwFileAttributes & FILE_ATTRIBUTE_READONLY) && (amode & F_OK))
+      (fileinfo.dwFileAttributes & FILE_ATTRIBUTE_READONLY) && (amode & W_OK))
   {
     my_errno= errno= EACCES;
     return -1;

--- 1.8/extra/yassl/taocrypt/src/integer.cpp	Thu Jun  2 21:28:14 2005
+++ 1.9/extra/yassl/taocrypt/src/integer.cpp	Fri Jun  3 13:42:56 2005
@@ -3940,9 +3940,10 @@ Integer CRT(const Integer &xp, const Int
 }
 
 #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*);
+#ifndef TAOCRYPT_NATIVE_DWORD_AVAILABLE
+template hword DivideThreeWordsByTwo<hword, Word>(hword*, hword, hword, Word*);
+#endif
+template word DivideThreeWordsByTwo<word, DWord>(word*, word, word, DWord*);
 #endif
 
 } // namespace

--- 1.2/extra/yassl/taocrypt/src/template_instnt.cpp	Thu Jun  2 21:28:14 2005
+++ 1.3/extra/yassl/taocrypt/src/template_instnt.cpp	Fri Jun  3 13:42:57 2005
@@ -9,29 +9,27 @@ namespace TaoCrypt {
 #if defined(SSE2_INTRINSICS_AVAILABLE)
 template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, AlignedAllocator<unsigned int> >(AlignedAllocator<unsigned int>&, unsigned int*, AlignedAllocator<unsigned int>::size_type, AlignedAllocator<unsigned int>::size_type, bool);
 #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>;
+template void tcDelete<HASH>(HASH*);
+template void tcArrayDelete<byte>(byte*);
+template AllocatorWithCleanup<byte>::pointer StdReallocate<byte, AllocatorWithCleanup<byte> >(AllocatorWithCleanup<byte>&, byte*, AllocatorWithCleanup<byte>::size_type, AllocatorWithCleanup<byte>::size_type, bool);
+template void tcArrayDelete<word>(word*);
+template AllocatorWithCleanup<word>::pointer StdReallocate<word, AllocatorWithCleanup<word> >(AllocatorWithCleanup<word>&, word*, AllocatorWithCleanup<word>::size_type, AllocatorWithCleanup<word>::size_type, bool);
+#ifndef TAOCRYPT_SLOW_WORD64 // defined when word != word32
+template void tcArrayDelete<word32>(word32*);
+template AllocatorWithCleanup<word32>::pointer StdReallocate<word32, AllocatorWithCleanup<word32> >(AllocatorWithCleanup<word32>&, word32*, AllocatorWithCleanup<word32>::size_type, AllocatorWithCleanup<word32>::size_type, bool);
+#endif
+template void tcArrayDelete<char>(char*);
 }
 
 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 vector<TaoCrypt::Integer>* uninit_fill_n<vector<TaoCrypt::Integer>*, size_t, vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*, size_t, 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 TaoCrypt::Integer* uninit_fill_n<TaoCrypt::Integer*, size_t, TaoCrypt::Integer>(TaoCrypt::Integer*, size_t, TaoCrypt::Integer const&);
 template void destroy<TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*);
 }
 
-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
Thread
bk commit into 5.0 tree (serg:1.1957)Sergei Golubchik3 Jun