From 3023bca11046e31cd431181c13c2b022bca66637 Mon Sep 17 00:00:00 2001 From: Narayanan V Date: Mon, 4 May 2009 15:30:15 +0530 Subject: [PATCH] BUG#39802 On Windows, 32-bit time_t should be enforced A backport of fix for "BUG40092 - Storage engine API uses time_t datatype". Starting from MSVC C++ 2005 (v8), the default size of time_t is changed from 32-bit to 64-bit. As the result, the binaries built with pre-v8 MSVC C++ do not work with the binaries (storage engine plugins) built with v8 or after (server crashes). Fixed storage engine API to use datatype with known size (ulong) instead of time_t. sql/handler.h: Bug#39802 On Windows, 32-bit time_t should be enforced Change create_time, check_time, update_time in the ha_statistics and PARTITION_INFO structures to ulong. --- sql/handler.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sql/handler.h b/sql/handler.h index d43fc4725dd..5c7cfa4d58b 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -876,9 +876,9 @@ typedef struct { ulonglong delete_length; ha_rows records; ulong mean_rec_length; - time_t create_time; - time_t check_time; - time_t update_time; + ulong create_time; + ulong check_time; + ulong update_time; ulonglong check_sum; } PARTITION_INFO; @@ -1037,9 +1037,9 @@ public: ha_rows records; ha_rows deleted; /* Deleted records */ ulong mean_rec_length; /* physical reclength */ - time_t create_time; /* When table was created */ - time_t check_time; - time_t update_time; + ulong create_time; /* When table was created */ + ulong check_time; + ulong update_time; uint block_size; /* index block size */ ha_statistics():