From: Marc Alff Date: March 9 2010 6:14pm Subject: bzr push into mysql-next-mr-bugfixing branch (marc.alff:3120 to 3121) Bug#51878 List-Archive: http://lists.mysql.com/commits/102771 X-Bug: 51878 Message-Id: <20100309181407.2147A45E80@linux-su11.site> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1278433995761743693==" --===============1278433995761743693== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3121 Marc Alff 2010-03-09 Bug#51878 Build break in HPUX involving mysql_prlock on a client This is a fix specific for HPUX, for which the compiler does not resolve properly dependencies involving unused inline functions. (See existing comments in mysql_thread.h) In include/mysql/psi/mysql_thread.h, the instrumentation helpers for mysql_prlock_* uses the pr lock apis. These apis are implemented in mysys/thr_rwlock.c, which is not linked to client code. As a result, the code does not link in libmysql_r, on HPUX. The fix is to cut dependencies explicitely, by introducing -DDISABLE_MYSQL_RWLOCK_H, when building client code. modified: include/mysql/psi/mysql_thread.h libmysql_r/Makefile.am 3120 Tor Didriksen 2010-03-09 Bug#50888 valgrind warnings in Field_timestamp::val_str Ensure that we store the correct cached_field_type whenever we cache Field items (in this case it allows us to compare dates as dates, rather than strings) @ mysql-test/r/type_timestamp.result Add test case. @ mysql-test/t/type_timestamp.test Add test case. @ sql/item.h Initialize cached_field_type from the Field item. modified: mysql-test/r/type_timestamp.result mysql-test/t/type_timestamp.test sql/item.h === modified file 'include/mysql/psi/mysql_thread.h' --- a/include/mysql/psi/mysql_thread.h 2010-03-07 17:50:47 +0000 +++ b/include/mysql/psi/mysql_thread.h 2010-03-09 18:03:02 +0000 @@ -192,6 +192,8 @@ typedef struct st_mysql_cond mysql_cond_ on some platforms. The proper fix would be to cut these extra dependencies in the calling code. DISABLE_MYSQL_THREAD_H is a work around to limit dependencies. + DISABLE_MYSQL_PRLOCK_H is similar, and is used to disable specifically + the prlock wrappers. */ #ifndef DISABLE_MYSQL_THREAD_H @@ -714,6 +716,7 @@ static inline int inline_mysql_rwlock_in return my_rwlock_init(&that->m_rwlock, NULL); } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_init( #ifdef HAVE_PSI_INTERFACE PSI_rwlock_key key, @@ -728,6 +731,7 @@ static inline int inline_mysql_prlock_in #endif return rw_pr_init(&that->m_prlock); } +#endif static inline int inline_mysql_rwlock_destroy( mysql_rwlock_t *that) @@ -742,6 +746,7 @@ static inline int inline_mysql_rwlock_de return rwlock_destroy(&that->m_rwlock); } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_destroy( mysql_prlock_t *that) { @@ -754,6 +759,7 @@ static inline int inline_mysql_prlock_de #endif return rw_pr_destroy(&that->m_prlock); } +#endif static inline int inline_mysql_rwlock_rdlock( mysql_rwlock_t *that @@ -781,6 +787,7 @@ static inline int inline_mysql_rwlock_rd return result; } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_rdlock( mysql_prlock_t *that #ifdef HAVE_PSI_INTERFACE @@ -806,6 +813,7 @@ static inline int inline_mysql_prlock_rd #endif return result; } +#endif static inline int inline_mysql_rwlock_wrlock( mysql_rwlock_t *that @@ -833,6 +841,7 @@ static inline int inline_mysql_rwlock_wr return result; } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_wrlock( mysql_prlock_t *that #ifdef HAVE_PSI_INTERFACE @@ -858,6 +867,7 @@ static inline int inline_mysql_prlock_wr #endif return result; } +#endif static inline int inline_mysql_rwlock_tryrdlock( mysql_rwlock_t *that @@ -885,6 +895,7 @@ static inline int inline_mysql_rwlock_tr return result; } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_tryrdlock( mysql_prlock_t *that #ifdef HAVE_PSI_INTERFACE @@ -910,6 +921,7 @@ static inline int inline_mysql_prlock_tr #endif return result; } +#endif static inline int inline_mysql_rwlock_trywrlock( mysql_rwlock_t *that @@ -937,6 +949,7 @@ static inline int inline_mysql_rwlock_tr return result; } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_trywrlock( mysql_prlock_t *that #ifdef HAVE_PSI_INTERFACE @@ -962,6 +975,7 @@ static inline int inline_mysql_prlock_tr #endif return result; } +#endif static inline int inline_mysql_rwlock_unlock( mysql_rwlock_t *that) @@ -980,6 +994,7 @@ static inline int inline_mysql_rwlock_un return result; } +#ifndef DISABLE_MYSQL_PRLOCK_H static inline int inline_mysql_prlock_unlock( mysql_prlock_t *that) { @@ -996,6 +1011,7 @@ static inline int inline_mysql_prlock_un result= rw_pr_unlock(&that->m_prlock); return result; } +#endif static inline int inline_mysql_cond_init( #ifdef HAVE_PSI_INTERFACE === modified file 'libmysql_r/Makefile.am' --- a/libmysql_r/Makefile.am 2007-10-08 18:55:44 +0000 +++ b/libmysql_r/Makefile.am 2010-03-09 18:03:02 +0000 @@ -20,9 +20,11 @@ # # This file is public domain and comes with NO WARRANTY of any kind -target = libmysqlclient_r.la -target_defs = -DDONT_USE_RAID -DMYSQL_CLIENT @LIB_EXTRA_CCFLAGS@ -LIBS = @LIBS@ @ZLIB_LIBS@ @openssl_libs@ +target = libmysqlclient_r.la +target_defs = -DDISABLE_MYSQL_PRLOCK_H -DDONT_USE_RAID \ + -DMYSQL_CLIENT @LIB_EXTRA_CCFLAGS@ + +LIBS = @LIBS@ @ZLIB_LIBS@ @openssl_libs@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ $(openssl_includes) @ZLIB_INCLUDES@ --===============1278433995761743693== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marc.alff@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marc.alff@stripped # target_branch: file:///home/malff/BZR_TREE/mysql-next-mr-bugfixing/ # testament_sha1: 64540a87f6dc48c41c28dd5bfad5a720ab7f5b42 # timestamp: 2010-03-09 11:14:07 -0700 # source_branch: file:///home/malff/BZR_TREE/mysql-next-mr-marc/ # base_revision_id: tor.didriksen@stripped\ # u6ogod7ew2iner01 # # Begin bundle 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 --===============1278433995761743693==--