Commit bc22f79f authored by unknown's avatar unknown
Browse files

Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl

parents 39f5fdeb 96f9c9d9
Loading
Loading
Loading
Loading
+15 −8
Original line number Diff line number Diff line
@@ -31,18 +31,25 @@ functions */

#define HAVE_SMEM 1

#if defined(__NT__)
#define SYSTEM_TYPE	"NT"
#elif defined(__WIN2000__)
#define SYSTEM_TYPE	"WIN2000"
#if defined(_WIN64) || defined(WIN64) 
#define SYSTEM_TYPE	"Win64" 
#elif defined(_WIN32) || defined(WIN32) 
#define SYSTEM_TYPE	"Win32" 
#else
#define SYSTEM_TYPE	"Win95/Win98"
#define SYSTEM_TYPE	"Windows"
#endif

#if defined(_WIN64) || defined(WIN64)
#define MACHINE_TYPE	"ia64"		/* Define to machine type name */
#if defined(_M_IA64) 
#define MACHINE_TYPE	"ia64" 
#elif defined(_M_IX86) 
#define MACHINE_TYPE	"ia32" 
#elif defined(_M_ALPHA) 
#define MACHINE_TYPE	"axp" 
#else
#define MACHINE_TYPE	"i32"		/* Define to machine type name */
#define MACHINE_TYPE	"unknown"	/* Define to machine type name */
#endif 
 
#if !(defined(_WIN64) || defined(WIN64)) 
#ifndef _WIN32
#define _WIN32				/* Compatible with old source */
#endif
+83 −0
Original line number Diff line number Diff line
@@ -445,6 +445,89 @@ select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
count(*)-9
0
drop table t1;
create table t1 (
a int primary key,
s decimal(12),
t decimal(12, 5),
u decimal(12) unsigned,
v decimal(12, 5) unsigned,
key (s),
key (t),
key (u),
key (v)
) engine=ndb;
insert into t1 values
( 0, -000000000007, -0000061.00003,  000000000061,  0000965.00042),
( 1, -000000000007, -0000061.00042,  000000000061,  0000965.00003),
( 2, -071006035767,  4210253.00024,  000000000001,  0000001.84488),
( 3,  000000007115,  0000000.77607,  000077350625,  0000018.00013),
( 4, -000000068391, -0346486.00000,  000000005071,  0005334.00002),
( 5, -521579890459, -1936874.00001,  000000000154,  0000003.00018),
( 6, -521579890459, -1936874.00018,  000000000154,  0000003.00001),
( 7,  000000000333,  0000051.39140,  000000907958,  0788643.08374),
( 8,  000042731229,  0000009.00000,  000000000009,  6428667.00000),
( 9, -000008159769,  0000918.00004,  000096951421,  7607730.00008);
select count(*)- 5 from t1 use index (s) where s  < -000000000007;
count(*)- 5
0
select count(*)- 7 from t1 use index (s) where s <= -000000000007;
count(*)- 7
0
select count(*)- 2 from t1 use index (s) where s  = -000000000007;
count(*)- 2
0
select count(*)- 5 from t1 use index (s) where s >= -000000000007;
count(*)- 5
0
select count(*)- 3 from t1 use index (s) where s  > -000000000007;
count(*)- 3
0
select count(*)- 4 from t1 use index (t) where t  < -0000061.00003;
count(*)- 4
0
select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
count(*)- 5
0
select count(*)- 1 from t1 use index (t) where t  = -0000061.00003;
count(*)- 1
0
select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
count(*)- 6
0
select count(*)- 5 from t1 use index (t) where t  > -0000061.00003;
count(*)- 5
0
select count(*)- 2 from t1 use index (u) where u  <  000000000061;
count(*)- 2
0
select count(*)- 4 from t1 use index (u) where u <=  000000000061;
count(*)- 4
0
select count(*)- 2 from t1 use index (u) where u  =  000000000061;
count(*)- 2
0
select count(*)- 8 from t1 use index (u) where u >=  000000000061;
count(*)- 8
0
select count(*)- 6 from t1 use index (u) where u  >  000000000061;
count(*)- 6
0
select count(*)- 5 from t1 use index (v) where v  <  0000965.00042;
count(*)- 5
0
select count(*)- 6 from t1 use index (v) where v <=  0000965.00042;
count(*)- 6
0
select count(*)- 1 from t1 use index (v) where v  =  0000965.00042;
count(*)- 1
0
select count(*)- 5 from t1 use index (v) where v >=  0000965.00042;
count(*)- 5
0
select count(*)- 4 from t1 use index (v) where v  >  0000965.00042;
count(*)- 4
0
drop table t1;
create table t1(a int primary key, b int not null, index(b));
insert into t1 values (1,1), (2,2);
set autocommit=0;
+52 −0
Original line number Diff line number Diff line
@@ -249,6 +249,58 @@ select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';

drop table t1;

# decimal (not the new 5.0 thing)

create table t1 (
  a int primary key,
  s decimal(12),
  t decimal(12, 5),
  u decimal(12) unsigned,
  v decimal(12, 5) unsigned,
  key (s),
  key (t),
  key (u),
  key (v)
) engine=ndb;
#
insert into t1 values
  ( 0, -000000000007, -0000061.00003,  000000000061,  0000965.00042),
  ( 1, -000000000007, -0000061.00042,  000000000061,  0000965.00003),
  ( 2, -071006035767,  4210253.00024,  000000000001,  0000001.84488),
  ( 3,  000000007115,  0000000.77607,  000077350625,  0000018.00013),
  ( 4, -000000068391, -0346486.00000,  000000005071,  0005334.00002),
  ( 5, -521579890459, -1936874.00001,  000000000154,  0000003.00018),
  ( 6, -521579890459, -1936874.00018,  000000000154,  0000003.00001),
  ( 7,  000000000333,  0000051.39140,  000000907958,  0788643.08374),
  ( 8,  000042731229,  0000009.00000,  000000000009,  6428667.00000),
  ( 9, -000008159769,  0000918.00004,  000096951421,  7607730.00008);
#
select count(*)- 5 from t1 use index (s) where s  < -000000000007;
select count(*)- 7 from t1 use index (s) where s <= -000000000007;
select count(*)- 2 from t1 use index (s) where s  = -000000000007;
select count(*)- 5 from t1 use index (s) where s >= -000000000007;
select count(*)- 3 from t1 use index (s) where s  > -000000000007;
#
select count(*)- 4 from t1 use index (t) where t  < -0000061.00003;
select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
select count(*)- 1 from t1 use index (t) where t  = -0000061.00003;
select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
select count(*)- 5 from t1 use index (t) where t  > -0000061.00003;
#
select count(*)- 2 from t1 use index (u) where u  <  000000000061;
select count(*)- 4 from t1 use index (u) where u <=  000000000061;
select count(*)- 2 from t1 use index (u) where u  =  000000000061;
select count(*)- 8 from t1 use index (u) where u >=  000000000061;
select count(*)- 6 from t1 use index (u) where u  >  000000000061;
#
select count(*)- 5 from t1 use index (v) where v  <  0000965.00042;
select count(*)- 6 from t1 use index (v) where v <=  0000965.00042;
select count(*)- 1 from t1 use index (v) where v  =  0000965.00042;
select count(*)- 5 from t1 use index (v) where v >=  0000965.00042;
select count(*)- 4 from t1 use index (v) where v  >  0000965.00042;

drop table t1;

# bug#7798
create table t1(a int primary key, b int not null, index(b));
insert into t1 values (1,1), (2,2);
+16 −4
Original line number Diff line number Diff line
@@ -302,7 +302,8 @@ public:
    ExtBigunsigned = NdbSqlUtil::Type::Bigunsigned,
    ExtFloat = NdbSqlUtil::Type::Float,
    ExtDouble = NdbSqlUtil::Type::Double,
    ExtDecimal = NdbSqlUtil::Type::Decimal,
    ExtOlddecimal = NdbSqlUtil::Type::Olddecimal,
    ExtOlddecimalunsigned = NdbSqlUtil::Type::Olddecimalunsigned,
    ExtChar = NdbSqlUtil::Type::Char,
    ExtVarchar = NdbSqlUtil::Type::Varchar,
    ExtBinary = NdbSqlUtil::Type::Binary,
@@ -411,9 +412,20 @@ public:
        AttributeSize = DictTabInfo::a64Bit;
        AttributeArraySize = AttributeExtLength;
        return true;
      case DictTabInfo::ExtDecimal:
        // not yet implemented anywhere
        break;
      case DictTabInfo::ExtOlddecimal:
        AttributeType = DictTabInfo::StringType;
        AttributeSize = DictTabInfo::an8Bit;
        AttributeArraySize =
          (1 + AttributeExtPrecision + (int(AttributeExtScale) > 0)) *
          AttributeExtLength;
        return true;
      case DictTabInfo::ExtOlddecimalunsigned:
        AttributeType = DictTabInfo::StringType;
        AttributeSize = DictTabInfo::an8Bit;
        AttributeArraySize =
          (0 + AttributeExtPrecision + (int(AttributeExtScale) > 0)) *
          AttributeExtLength;
        return true;
      case DictTabInfo::ExtChar:
      case DictTabInfo::ExtBinary:
        AttributeType = DictTabInfo::StringType;
+7 −6
Original line number Diff line number Diff line
@@ -179,7 +179,7 @@ public:
      Bigunsigned,   ///< 64 Bit. 8 byte signed integer, can be used in array
      Float,         ///< 32-bit float. 4 bytes float, can be used in array
      Double,        ///< 64-bit float. 8 byte float, can be used in array
      Decimal,       ///< Precision, Scale are applicable
      Olddecimal,    ///< MySQL < 5.0 signed decimal,  Precision, Scale
      Char,          ///< Len. A fixed array of 1-byte chars
      Varchar,       ///< Max len
      Binary,        ///< Len
@@ -190,7 +190,8 @@ public:
      Text,        ///< Text blob
      Time = 25,   ///< Time without date
      Year = 26,   ///< Year 1901-2155 (1 byte)
      Timestamp = 27  ///< Unix time
      Timestamp = 27, ///< Unix time
      Olddecimalunsigned = 28
    };

    /** 
@@ -276,25 +277,25 @@ public:

    /**
     * Set precision of column.
     * @note Only applicable for builtin type Decimal
     * @note Only applicable for decimal types
     */
    void setPrecision(int);

    /**
     * Get precision of column.
     * @note Only applicable for builtin type Decimal
     * @note Only applicable for decimal types
     */
    int getPrecision() const;

    /**
     * Set scale of column.
     * @note Only applicable for builtin type Decimal
     * @note Only applicable for decimal types
     */
    void setScale(int);

    /**
     * Get scale of column.
     * @note Only applicable for builtin type Decimal
     * @note Only applicable for decimal types
     */
    int getScale() const;

Loading