~mathiaz/ubuntu/lucid/mysql-dfsg-5.1/zap-bug-552053

« back to all changes in this revision

Viewing changes to include/my_global.h

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2009-06-25 12:55:45 UTC
  • mfrom: (1.1.2 upstream) (0.1.3 experimental)
  • Revision ID: james.westby@ubuntu.com-20090625125545-m8ogs96zzsri74xe
Tags: 5.1.34-1ubuntu1
* Merge from debian experimental (and 5.0 from main), remaining changes:
  - debian/mysql-server-5.1.config:
    + ask for MySQL root password at priority high instead of medium so
      that the password prompt is seen on a default install. (LP: #319843)
    + don't ask for root password when upgrading from a 5.0 install.
  - debian/control:
    + Make libmysqlclient16-dev a transitional package depending on
      libmysqlclient-dev.
    + Make libmysqlclient-dev conflict with libmysqlclient15-dev.
    + Don't build mysql-server, mysql-client, mysql-common and
      libmysqlclient15-dev binary packages since they're still provided
      by mysql-dfsg-5.0.
    + Make mysql-{client,server}-5.1 packages conflict and
      replace mysql-{client,server}-5.0, but not provide
      mysql-{client,server}.
    + Depend on a specific version of mysql-common rather than the src
      version of mysql-dfsg-5.1 since mysql-common is currently part of
      mysql-dfsg-5.0.
    + Lower mailx from a Recommends to a Suggests to avoid pulling in
      a full MTA on all installs of mysql-server. (LP: #259477)
  - debian/rules:
    + added -fno-strict-aliasing to CFLAGS to get around mysql testsuite
      build failures.
    + install mysql-test and sql-bench to /usr/share/mysql/ rather than
      /usr/.
  - debian/additions/debian-start.inc.sh: support ANSI mode (LP: #310211)
  - Add AppArmor profile:
    - debian/apparmor-profile: apparmor profile.
    - debian/rules, debian/mysql-server-5.0.files: install apparmor profile.
    - debian/mysql-server-5.0.dirs: add etc/apparmor.d/force-complain
    - debian/mysql-server-5.0.postrm: remove symlink in force-complain/ on
      purge.
    - debian/mysql-server-5.1.README.Debian: add apparmor documentation.
    - debian/additions/my.cnf: Add warning about apparmor. (LP: #201799)
    - debian/mysql-server-5.1.postinst: reload apparmor profiles.
  - debian/additions/my.cnf: remove language option. Error message files are
    located in a different directory in MySQL 5.0. Setting the language
    option to use /usr/share/mysql/english breaks 5.0. Both 5.0 and 5.1
    use a default value that works. (LP: #316974)
  - debian/mysql-server-5.1.mysql.init:
    + Clearly indicate that we do not support running multiple instances
      of mysqld by duplicating the init script.
      (closes: #314785, #324834, #435165, #444216)
    + Properly parameterize all existing references to the mysql config
      file (/etc/mysql/my.cnf).
  - debian/mysql-server-5.0.postinst: Clear out the second password
    when setting up mysql. (LP: #344816)
  - mysql-server-core-5.1 package for files needed by Akonadi:
    + debian/control: create mysql-server-core-5.1 package.
    + debian/mysql-server-core-5.1.files, debian/mysql-server-5.1.files:
      move core mysqld files to mysql-server-core-5.1 package.
  - Don't package sql-bench and mysql-test file.
* Dropped changes:
  - debian/patches/92_ssl_test_cert.dpatch: certificate expiration in
    test suite (LP: #323755). Included upstream.
* Dropped from 5.0:
  - apparmor profile:
    - debian/control: Recommends apparmor >= 2.1+1075-0ubuntu6. All version
      of apparmor-profile (>hardy) are higher than this version.
    - debian/mysql-server-5.0.preinst: create symlink for force-complain/
      on pre-feisty upgrades, upgrades where apparmor-profiles profile is
      unchanged (ie non-enforcing) and upgrades where the profile
      doesn't exist. Support for pre-hardy upgrades is no longer needed.
* debian/mysql-server-5.1.postinst: fix debian-sys-maint user creation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
424
424
#ifdef HAVE_FLOAT_H
425
425
#include <float.h>
426
426
#endif
 
427
#ifdef HAVE_FENV_H
 
428
#include <fenv.h> /* For fesetround() */
 
429
#endif
427
430
 
428
431
#ifdef HAVE_SYS_TYPES_H
429
432
#include <sys/types.h>
578
581
#define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))
579
582
#define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
580
583
#ifndef HAVE_RINT
581
 
#define rint(A) floor((A)+(((A) < 0)? -0.5 : 0.5))
582
 
#endif
 
584
/**
 
585
   All integers up to this number can be represented exactly as double precision
 
586
   values (DBL_MANT_DIG == 53 for IEEE 754 hardware).
 
587
*/
 
588
#define MAX_EXACT_INTEGER ((1LL << DBL_MANT_DIG) - 1)
 
589
 
 
590
/**
 
591
   rint(3) implementation for platforms that do not have it.
 
592
   Always rounds to the nearest integer with ties being rounded to the nearest
 
593
   even integer to mimic glibc's rint() behavior in the "round-to-nearest"
 
594
   FPU mode. Hardware-specific optimizations are possible (frndint on x86).
 
595
   Unlike this implementation, hardware will also honor the FPU rounding mode.
 
596
*/
 
597
 
 
598
static inline double rint(double x)
 
599
{
 
600
  double f, i;
 
601
  f = modf(x, &i);
 
602
  /*
 
603
    All doubles with absolute values > MAX_EXACT_INTEGER are even anyway,
 
604
    no need to check it.
 
605
  */
 
606
  if (x > 0.0)
 
607
    i += (double) ((f > 0.5) || (f == 0.5 &&
 
608
                                 i <= (double) MAX_EXACT_INTEGER &&
 
609
                                 (longlong) i % 2));
 
610
  else
 
611
    i -= (double) ((f < -0.5) || (f == -0.5 &&
 
612
                                  i >= (double) -MAX_EXACT_INTEGER &&
 
613
                                  (longlong) i % 2));
 
614
  return i;
 
615
}
 
616
#endif /* HAVE_RINT */
583
617
 
584
618
/* Define some general constants */
585
619
#ifndef TRUE
621
655
*/
622
656
#define _VARARGS(X) X
623
657
#define _STATIC_VARARGS(X) X
624
 
#define _PC(X)  X
625
658
 
626
659
/* The DBUG_ON flag always takes precedence over default DBUG_OFF */
627
660
#if defined(DBUG_ON) && defined(DBUG_OFF)
724
757
#define UNSINT32                /* unsigned int32 */
725
758
 
726
759
        /* General constants */
727
 
#define SC_MAXWIDTH     256     /* Max width of screen (for error messages) */
728
760
#define FN_LEN          256     /* Max file name len */
729
761
#define FN_HEADLEN      253     /* Max length of filepart of file name */
730
762
#define FN_EXTLEN       20      /* Max length of extension (part of FN_LEN) */
1133
1165
#define dbug_volatile
1134
1166
#endif
1135
1167
 
 
1168
/* Some helper macros */
 
1169
#define YESNO(X) ((X) ? "yes" : "no")
 
1170
 
1136
1171
/* Defines for time function */
1137
1172
#define SCALE_SEC       100
1138
1173
#define SCALE_USEC      10000