Below is the list of changes that have just been committed into a local
5.0 repository of msvensson. When msvensson 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.1856 05/04/19 15:01:08 msvensson@neptunus.(none) +14 -0
BUG#9714 libsupc++ problem
- Remove linking of libsupc++
- Move all local static variables to filescope
sql/item_sum.cc
1.139 05/04/19 15:01:04 msvensson@neptunus.(none) +8 -6
Move local static variables to file scope
sql/item.cc
1.111 05/04/19 15:01:04 msvensson@neptunus.(none) +6 -9
Move local static instance variables to file scope
sql/ha_ndbcluster.cc
1.173 05/04/19 15:01:04 msvensson@neptunus.(none) +7 -2
Move local static variables to file scope
sql/ha_myisammrg.cc
1.60 05/04/19 15:01:03 msvensson@neptunus.(none) +9 -1
Move local static variables to file scope
sql/ha_myisam.cc
1.148 05/04/19 15:01:03 msvensson@neptunus.(none) +9 -1
Move local static variables to file scope
sql/ha_innodb.cc
1.195 05/04/19 15:01:03 msvensson@neptunus.(none) +6 -3
Move local static variables to file scope
sql/ha_heap.cc
1.63 05/04/19 15:01:03 msvensson@neptunus.(none) +6 -1
Move local static variables to file scope
sql/ha_federated.cc
1.24 05/04/19 15:01:03 msvensson@neptunus.(none) +4 -5
Move local static variables to file scope
sql/ha_blackhole.cc
1.3 05/04/19 15:01:03 msvensson@neptunus.(none) +6 -3
Move local static variables to file scope
sql/ha_berkeley.cc
1.145 05/04/19 15:01:03 msvensson@neptunus.(none) +7 -2
Move local static variables to file scope
sql/examples/ha_tina.cc
1.7 05/04/19 15:01:03 msvensson@neptunus.(none) +8 -1
Move local static variables to file scope
sql/examples/ha_example.cc
1.10 05/04/19 15:01:03 msvensson@neptunus.(none) +7 -1
Move local static variables to file scope
sql/examples/ha_archive.cc
1.34 05/04/19 15:01:03 msvensson@neptunus.(none) +11 -2
Move local static variables to file scope
configure.in
1.287 05/04/19 15:01:03 msvensson@neptunus.(none) +9 -29
Remove linking with libsupc++
# 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: msvensson
# Host: neptunus.(none)
# Root: /home/msvensson/mysql/bug9714
--- 1.286/configure.in 2005-04-13 19:46:22 +02:00
+++ 1.287/configure.in 2005-04-19 15:01:03 +02:00
@@ -336,7 +336,7 @@
AC_SUBST(INSTALL_SCRIPT)
export CC CXX CFLAGS LD LDFLAGS AR
-
+echo "GXX: $GXX"
if test "$GXX" = "yes"
then
# mysqld requires -fno-implicit-templates.
@@ -344,36 +344,16 @@
# mysqld doesn't use run-time-type-checking, so we disable it.
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
- # If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
- # we will gets some problems when linking static programs.
- # The following code is used to fix this problem.
-
+ #CXX_VERNO=`echo $CXX_VERSION | sed -e 's/[[^0-9. ]]//g; s/^ *//g; s/ .*//g'`
+ echo "CXX: $CXX"
if echo $CXX | grep gcc > /dev/null 2>&1
then
- GCC_VERSION=`gcc -v 2>&1 | grep version | sed -e 's/[[^0-9. ]]//g; s/^ *//g;
s/ .*//g'`
- case $SYSTEM_TYPE in
- *freebsd*)
- # The libsupc++ library on freebsd with gcc 3.4.2 is dependent on
- # libstdc++, disable it since other solution works fine
- GCC_VERSION="NOSUPCPP_$GCC_VERSION"
- ;;
- *)
- ;;
- esac
- echo "Using gcc version '$GCC_VERSION'"
- case "$GCC_VERSION" in
- 3.4.*|3.5.*)
- # Statically link the language support function's found in libsupc++.a
- LIBS="$LIBS -lsupc++"
- echo "Using -libsupc++ for static linking with gcc"
- ;;
- *)
- # Using -lsupc++ doesn't work in gcc 3.3 on SuSE 9.2
- # (causes link failures when linking things staticly)
- CXXFLAGS="$CXXFLAGS -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
- echo "Using MYSYS_NEW for static linking with gcc"
- ;;
- esac
+ echo "Setting CXXFLAGS"
+ # If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
+ # we will gets some problems when linking static programs.
+ # The following code is used to fix this problem.
+ CXXFLAGS="$CXXFLAGS -DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
+ echo "Using MYSYS_NEW for static linking with gcc"
fi
fi
--- 1.144/sql/ha_berkeley.cc 2005-04-01 12:40:52 +02:00
+++ 1.145/sql/ha_berkeley.cc 2005-04-19 15:01:03 +02:00
@@ -371,10 +371,15 @@
/*****************************************************************************
** Berkeley DB tables
*****************************************************************************/
+static const char *ha_berkeley_exts[] = {
+ ha_berkeley_ext,
+ NullS
+};
const char **ha_berkeley::bas_ext() const
-{ static const char *ext[]= { ha_berkeley_ext, NullS }; return ext; }
-
+{
+ return ha_berkeley_exts;
+}
ulong ha_berkeley::index_flags(uint idx, uint part, bool all_parts) const
{
--- 1.62/sql/ha_heap.cc 2005-04-06 16:22:16 +02:00
+++ 1.63/sql/ha_heap.cc 2005-04-19 15:01:03 +02:00
@@ -26,9 +26,14 @@
/*****************************************************************************
** HEAP tables
*****************************************************************************/
+static const char *ha_heap_exts[] = {
+ NullS
+};
const char **ha_heap::bas_ext() const
-{ static const char *ext[1]= { NullS }; return ext; }
+{
+ return ha_heap_exts;
+}
/*
Hash index statistics is updated (copied from HP_KEYDEF::hash_buckets to
--- 1.147/sql/ha_myisam.cc 2005-04-06 14:15:38 +02:00
+++ 1.148/sql/ha_myisam.cc 2005-04-19 15:01:03 +02:00
@@ -123,8 +123,16 @@
}
+static const char *ha_myisam_exts[] = {
+ ".MYI",
+ ".MYD",
+ NullS
+};
+
const char **ha_myisam::bas_ext() const
-{ static const char *ext[]= { ".MYI",".MYD", NullS }; return ext; }
+{
+ return ha_myisam_exts;
+}
const char *ha_myisam::index_type(uint key_number)
--- 1.59/sql/ha_myisammrg.cc 2005-01-06 11:59:57 +01:00
+++ 1.60/sql/ha_myisammrg.cc 2005-04-19 15:01:03 +02:00
@@ -32,8 +32,16 @@
** MyISAM MERGE tables
*****************************************************************************/
+static const char *ha_myisammrg_exts[] = {
+ ".MRG",
+ NullS
+};
+
const char **ha_myisammrg::bas_ext() const
-{ static const char *ext[]= { ".MRG", NullS }; return ext; }
+{
+ return ha_myisammrg_exts;
+}
+
const char *ha_myisammrg::index_type(uint key_number)
{
--- 1.110/sql/item.cc 2005-04-16 05:34:44 +02:00
+++ 1.111/sql/item.cc 2005-04-19 15:01:04 +02:00
@@ -43,11 +43,10 @@
item->max_length= item->float_length(arg->decimals);
}
-
+static const Hybrid_type_traits real_traits_instance;
const Hybrid_type_traits *Hybrid_type_traits::instance()
{
- static const Hybrid_type_traits real_traits;
- return &real_traits;
+ return &real_traits_instance;
}
@@ -67,11 +66,10 @@
}
/* Hybrid_type_traits_decimal */
-
+static const Hybrid_type_traits_decimal decimal_traits_instance;
const Hybrid_type_traits_decimal *Hybrid_type_traits_decimal::instance()
{
- static const Hybrid_type_traits_decimal decimal_traits;
- return &decimal_traits;
+ return &decimal_traits_instance;
}
@@ -143,11 +141,10 @@
}
/* Hybrid_type_traits_integer */
-
+static const Hybrid_type_traits_integer integer_traits_instance;
const Hybrid_type_traits_integer *Hybrid_type_traits_integer::instance()
{
- static const Hybrid_type_traits_integer integer_traits;
- return &integer_traits;
+ return &integer_traits_instance;
}
void
--- 1.138/sql/item_sum.cc 2005-04-09 03:00:34 +02:00
+++ 1.139/sql/item_sum.cc 2005-04-19 15:01:04 +02:00
@@ -506,7 +506,6 @@
This is to speedup SUM/AVG(DISTINCT) evaluation for 8-32 bit integer
values.
*/
-
struct Hybrid_type_traits_fast_decimal: public
Hybrid_type_traits_integer
{
@@ -521,13 +520,16 @@
val->traits= Hybrid_type_traits_decimal::instance();
val->traits->div(val, u);
}
- static const Hybrid_type_traits_fast_decimal *instance()
- {
- static const Hybrid_type_traits_fast_decimal fast_decimal_traits;
- return &fast_decimal_traits;
- }
+ static const Hybrid_type_traits_fast_decimal *instance();
};
+static const Hybrid_type_traits_fast_decimal fast_decimal_traits_instance;
+
+const Hybrid_type_traits_fast_decimal *
+Hybrid_type_traits_fast_decimal::instance()
+{
+ return &fast_decimal_traits_instance;
+}
void Item_sum_distinct::fix_length_and_dec()
{
--- 1.33/sql/examples/ha_archive.cc 2005-03-13 21:57:59 +01:00
+++ 1.34/sql/examples/ha_archive.cc 2005-04-19 15:01:03 +02:00
@@ -431,11 +431,20 @@
}
-/*
+/*
We just implement one additional file extension.
*/
+static const char *ha_archive_exts[] = {
+ ARZ,
+ ARN,
+ ARM,
+ NullS
+};
+
const char **ha_archive::bas_ext() const
-{ static const char *ext[]= { ARZ, ARN, ARM, NullS }; return ext; }
+{
+ return ha_archive_exts;
+}
/*
--- 1.6/sql/examples/ha_tina.cc 2005-02-19 10:51:40 +01:00
+++ 1.7/sql/examples/ha_tina.cc 2005-04-19 15:01:03 +02:00
@@ -384,8 +384,15 @@
If frm_error() is called in table.cc this is called to find out what file
extensions exist for this handler.
*/
+static const char *ha_tina_exts[] = {
+ ".CSV",
+ NullS
+};
+
const char **ha_tina::bas_ext() const
-{ static const char *ext[]= { ".CSV", NullS }; return ext; }
+{
+ return ha_tina_exts;
+}
/*
--- 1.9/sql/examples/ha_example.cc 2005-02-20 20:52:25 +01:00
+++ 1.10/sql/examples/ha_example.cc 2005-04-19 15:01:03 +02:00
@@ -186,8 +186,14 @@
exist for the storage engine. This is also used by the default rename_table and
delete_table method in handler.cc.
*/
+static const char *ha_example_exts[] = {
+ NullS
+};
+
const char **ha_example::bas_ext() const
-{ static const char *ext[]= { NullS }; return ext; }
+{
+ return ha_example_exts;
+}
/*
--- 1.2/sql/ha_blackhole.cc 2005-03-25 01:07:54 +01:00
+++ 1.3/sql/ha_blackhole.cc 2005-04-19 15:01:03 +02:00
@@ -25,10 +25,13 @@
#include "ha_blackhole.h"
+static const char *ha_black_hole_exts[] = {
+ NullS
+};
+
const char **ha_blackhole::bas_ext() const
-{
- static const char *ext[]= { NullS };
- return ext;
+{
+ return ha_blackhole_exts;
}
int ha_blackhole::open(const char *name, int mode, uint test_if_locked)
--- 1.172/sql/ha_ndbcluster.cc 2005-04-16 03:35:45 +02:00
+++ 1.173/sql/ha_ndbcluster.cc 2005-04-19 15:01:04 +02:00
@@ -3062,10 +3062,15 @@
DBUG_RETURN(extra(operation));
}
+static const char *ha_ndbcluster_exts[] = {
+ ha_ndb_ext,
+ NullS
+};
const char** ha_ndbcluster::bas_ext() const
-{ static const char *ext[]= { ha_ndb_ext, NullS }; return ext; }
-
+{
+ return ha_ndbcluster_exts;
+}
/*
How many seeks it will take to read through the table
--- 1.194/sql/ha_innodb.cc 2005-04-18 13:59:04 +02:00
+++ 1.195/sql/ha_innodb.cc 2005-04-19 15:01:03 +02:00
@@ -1863,16 +1863,19 @@
/********************************************************************
Gives the file extension of an InnoDB single-table tablespace. */
+static const char* ha_innobase_exts[] = {
+ ".ibd",
+ NullS
+};
const char**
ha_innobase::bas_ext() const
/*========================*/
/* out: file extension string */
{
- static const char* ext[] = {".ibd", NullS};
-
- return(ext);
+ return ha_innobase_exts;
}
+
/*********************************************************************
Normalizes a table name string. A normalized name consists of the
--- 1.23/sql/ha_federated.cc 2005-04-06 16:22:16 +02:00
+++ 1.24/sql/ha_federated.cc 2005-04-19 15:01:03 +02:00
@@ -941,14 +941,13 @@
also used by the default rename_table and delete_table method
in handler.cc.
*/
+static const char *ha_federated_exts[] = {
+ NullS
+};
const char **ha_federated::bas_ext() const
{
- static const char *ext[]=
- {
- NullS
- };
- return ext;
+ return ha_federated_exts;
}
| Thread |
|---|
| • bk commit into 5.0 tree (msvensson:1.1856) BUG#9714 | msvensson | 19 Apr |