Commit 97d1cf9f authored by mskold@mysql.com's avatar mskold@mysql.com

Merge

parents 894501a1 e2cc3999
...@@ -1449,7 +1449,7 @@ then ...@@ -1449,7 +1449,7 @@ then
if [ -z "$USE_RUNNING_NDBCLUSTER" ] if [ -z "$USE_RUNNING_NDBCLUSTER" ]
then then
echo "Starting ndbcluster" echo "Starting ndbcluster"
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --small --discless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1 ./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --small --diskless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
export NDB_CONNECTSTRING="host=localhost:$NDBCLUSTER_PORT" export NDB_CONNECTSTRING="host=localhost:$NDBCLUSTER_PORT"
else else
export NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER" export NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"
......
...@@ -3,7 +3,7 @@ NoOfReplicas: 2 ...@@ -3,7 +3,7 @@ NoOfReplicas: 2
MaxNoOfConcurrentOperations: CHOOSE_MaxNoOfConcurrentOperations MaxNoOfConcurrentOperations: CHOOSE_MaxNoOfConcurrentOperations
DataMemory: CHOOSE_DataMemory DataMemory: CHOOSE_DataMemory
IndexMemory: CHOOSE_IndexMemory IndexMemory: CHOOSE_IndexMemory
Discless: CHOOSE_Discless Diskless: CHOOSE_Diskless
[COMPUTER] [COMPUTER]
Id: 1 Id: 1
......
...@@ -42,7 +42,7 @@ cfgfile=Ndb.cfg ...@@ -42,7 +42,7 @@ cfgfile=Ndb.cfg
stop_ndb= stop_ndb=
initial_ndb= initial_ndb=
status_ndb= status_ndb=
ndb_discless=0 ndb_diskless=0
ndb_con_op=100000 ndb_con_op=100000
ndb_dmem=80M ndb_dmem=80M
...@@ -65,8 +65,8 @@ while test $# -gt 0; do ...@@ -65,8 +65,8 @@ while test $# -gt 0; do
ndb_dmem=40M ndb_dmem=40M
ndb_imem=12M ndb_imem=12M
;; ;;
--discless) --diskless)
ndb_discless=1 ndb_diskless=1
;; ;;
--data-dir=*) --data-dir=*)
fsdir=`echo "$1" | sed -e "s;--data-dir=;;"` fsdir=`echo "$1" | sed -e "s;--data-dir=;;"`
...@@ -131,7 +131,7 @@ sed \ ...@@ -131,7 +131,7 @@ sed \
-e s,"CHOOSE_MaxNoOfConcurrentOperations",$ndb_con_op,g \ -e s,"CHOOSE_MaxNoOfConcurrentOperations",$ndb_con_op,g \
-e s,"CHOOSE_DataMemory",$ndb_dmem,g \ -e s,"CHOOSE_DataMemory",$ndb_dmem,g \
-e s,"CHOOSE_IndexMemory",$ndb_imem,g \ -e s,"CHOOSE_IndexMemory",$ndb_imem,g \
-e s,"CHOOSE_Discless",$ndb_discless,g \ -e s,"CHOOSE_Diskless",$ndb_diskless,g \
-e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \ -e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \
-e s,"CHOOSE_FILESYSTEM_NODE_1","$fs_name_1",g \ -e s,"CHOOSE_FILESYSTEM_NODE_1","$fs_name_1",g \
-e s,"CHOOSE_FILESYSTEM_NODE_2","$fs_name_2",g \ -e s,"CHOOSE_FILESYSTEM_NODE_2","$fs_name_2",g \
......
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
auto int(5) unsigned NOT NULL auto_increment,
string char(10) default "hello",
tiny tinyint(4) DEFAULT '0' NOT NULL ,
short smallint(6) DEFAULT '1' NOT NULL ,
medium mediumint(8) DEFAULT '0' NOT NULL,
long_int int(11) DEFAULT '0' NOT NULL,
longlong bigint(13) DEFAULT '0' NOT NULL,
real_float float(13,1) DEFAULT 0.0 NOT NULL,
real_double double(16,4),
utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
ulong int(11) unsigned DEFAULT '0' NOT NULL,
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
time_stamp timestamp,
date_field date,
time_field time,
date_time datetime,
options enum('one','two','tree') not null,
flags set('one','two','tree') not null,
PRIMARY KEY (auto),
KEY (utiny),
KEY (tiny),
KEY (short),
KEY any_name (medium),
KEY (longlong),
KEY (real_float),
KEY (ushort),
KEY (umedium),
KEY (ulong),
KEY (ulonglong,ulong),
KEY (options,flags)
);
drop table t1;
-- source include/have_ndb.inc
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
#
# Test creation of different column types in NDB
#
CREATE TABLE t1 (
auto int(5) unsigned NOT NULL auto_increment,
string char(10) default "hello",
tiny tinyint(4) DEFAULT '0' NOT NULL ,
short smallint(6) DEFAULT '1' NOT NULL ,
medium mediumint(8) DEFAULT '0' NOT NULL,
long_int int(11) DEFAULT '0' NOT NULL,
longlong bigint(13) DEFAULT '0' NOT NULL,
real_float float(13,1) DEFAULT 0.0 NOT NULL,
real_double double(16,4),
utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
ulong int(11) unsigned DEFAULT '0' NOT NULL,
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
time_stamp timestamp,
date_field date,
time_field time,
date_time datetime,
options enum('one','two','tree') not null,
flags set('one','two','tree') not null,
PRIMARY KEY (auto),
KEY (utiny),
KEY (tiny),
KEY (short),
KEY any_name (medium),
KEY (longlong),
KEY (real_float),
KEY (ushort),
KEY (umedium),
KEY (ulong),
KEY (ulonglong,ulong),
KEY (options,flags)
);
drop table t1;
...@@ -84,7 +84,7 @@ extern const GlobalSignalNumber NO_OF_SIGNAL_NAMES; ...@@ -84,7 +84,7 @@ extern const GlobalSignalNumber NO_OF_SIGNAL_NAMES;
#define GSN_SCAN_NEXTREQ 28 #define GSN_SCAN_NEXTREQ 28
#define GSN_SCAN_TABCONF 29 #define GSN_SCAN_TABCONF 29
#define GSN_SCAN_TABINFO 30 // 30 unused
#define GSN_SCAN_TABREF 31 #define GSN_SCAN_TABREF 31
#define GSN_SCAN_TABREQ 32 #define GSN_SCAN_TABREQ 32
#define GSN_KEYINFO20 33 #define GSN_KEYINFO20 33
......
...@@ -271,76 +271,6 @@ private: ...@@ -271,76 +271,6 @@ private:
#define STATUS_SHIFT (8) #define STATUS_SHIFT (8)
#define STATUS_MASK (0xFF) #define STATUS_MASK (0xFF)
/**
*
* SENDER: Dbtc, API
* RECIVER: API, Dbtc
*/
class ScanTabInfo {
/**
* Reciver(s) and Sender(s)
*/
friend class NdbConnection;
friend class Dbtc;
/**
* For printing
*/
friend bool printSCANTABINFO(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo);
public:
/**
* Length of signal
*/
STATIC_CONST( SignalLength = 17 );
private:
// Type definitions
/**
* DATA VARIABLES
*/
UintR apiConnectPtr; // DATA 0
UintR operLenAndIdx[16]; // DATA 1-16
/**
* Get:ers for operLenAndIdx
*/
static Uint32 getLen(const UintR & operLenAndIdx);
static Uint8 getIdx(const UintR & operLenAndIdx);
};
/**
* Operation length and index
*
l = Length of operation - 24 Bits -> Max 16777215 (Bit 0-24)
i = Index of operation - 7 Bits -> Max 255 (Bit 25-32)
1111111111222222222233
01234567890123456789012345678901
llllllllllllllllllllllllliiiiiii
*/
#define LENGTH_SHIFT (0)
#define LENGTH_MASK (0xFFFFFF)
#define INDEX_SHIFT (24)
#define INDEX_MASK (0xFF)
inline
Uint32
ScanTabInfo::getLen(const UintR & operLenAndIdx){
return (Uint32)((operLenAndIdx >> LENGTH_SHIFT) & LENGTH_MASK);
}
inline
Uint8
ScanTabInfo::getIdx(const UintR & operLenAndIdx){
return (Uint8)((operLenAndIdx >> INDEX_SHIFT) & INDEX_MASK);
}
/** /**
* *
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#define NDB_SQL_UTIL_HPP #define NDB_SQL_UTIL_HPP
#include <string.h> #include <string.h>
#include <ndb_types.h> #include <ndb_global.h>
#include <kernel/ndb_limits.h> #include <kernel/ndb_limits.h>
class NdbSqlUtil { class NdbSqlUtil {
...@@ -131,6 +131,7 @@ private: ...@@ -131,6 +131,7 @@ private:
inline int inline int
NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, Uint32 size) NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, Uint32 size)
{ {
// XXX require size >= 1
if (size > full) if (size > full)
return CmpError; return CmpError;
switch ((Type::Enum)typeId) { switch ((Type::Enum)typeId) {
...@@ -192,10 +193,38 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, ...@@ -192,10 +193,38 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full,
} }
return CmpUnknown; return CmpUnknown;
} }
case Type::Mediumint: // XXX fix these case Type::Mediumint:
break; {
if (size >= 1) {
union { const Uint32* p; const unsigned char* v; } u1, u2;
u1.p = p1;
u2.p = p2;
Int32 v1 = sint3korr(u1.v);
Int32 v2 = sint3korr(u2.v);
if (v1 < v2)
return -1;
if (v1 > v2)
return +1;
return 0;
}
return CmpUnknown;
}
case Type::Mediumunsigned: case Type::Mediumunsigned:
break; {
if (size >= 1) {
union { const Uint32* p; const unsigned char* v; } u1, u2;
u1.p = p1;
u2.p = p2;
Uint32 v1 = uint3korr(u1.v);
Uint32 v2 = uint3korr(u2.v);
if (v1 < v2)
return -1;
if (v1 > v2)
return +1;
return 0;
}
return CmpUnknown;
}
case Type::Int: case Type::Int:
{ {
if (size >= 1) { if (size >= 1) {
...@@ -287,6 +316,7 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, ...@@ -287,6 +316,7 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full,
return CmpUnknown; return CmpUnknown;
} }
case Type::Decimal: case Type::Decimal:
// XXX not used by MySQL or NDB
break; break;
case Type::Char: case Type::Char:
{ {
...@@ -317,10 +347,28 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, ...@@ -317,10 +347,28 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full,
} }
return CmpUnknown; return CmpUnknown;
} }
case Type::Binary: // XXX fix these case Type::Binary:
break; {
// compare byte wise
union { const Uint32* p; const char* v; } u1, u2;
u1.p = p1;
u2.p = p2;
int k = memcmp(u1.v, u2.v, size << 2);
return k < 0 ? -1 : k > 0 ? +1 : full == size ? 0 : CmpUnknown;
}
case Type::Varbinary: case Type::Varbinary:
break; {
// assume correctly padded and compare byte wise
if (size >= 1) {
union { const Uint32* p; const char* v; } u1, u2;
u1.p = p1;
u2.p = p2;
// length in first 2 bytes
int k = memcmp(u1.v + 2, u2.v + 2, (size << 2) - 2);
return k < 0 ? -1 : k > 0 ? +1 : full == size ? 0 : CmpUnknown;
}
return CmpUnknown;
}
case Type::Datetime: case Type::Datetime:
{ {
/* /*
...@@ -331,19 +379,57 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, ...@@ -331,19 +379,57 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full,
u1.p = p1; u1.p = p1;
u2.p = p2; u2.p = p2;
// skip format check // skip format check
int k = strncmp(u1.v, u2.v, 4); int k = memcmp(u1.v, u2.v, 4);
if (k != 0) if (k != 0)
return k; return k < 0 ? -1 : +1;
if (size >= 2) { if (size >= 2) {
return strncmp(u1.v + 4, u2.v + 4, 4); k = memcmp(u1.v + 4, u2.v + 4, 4);
return k < 0 ? -1 : k > 0 ? +1 : 0;
} }
} }
return CmpUnknown; return CmpUnknown;
} }
case Type::Timespec: // XXX fix this case Type::Timespec:
break; {
case Type::Blob: // XXX fix /*
break; * Timespec is CC YY MM DD hh mm ss \0 NN NN NN NN
*/
if (size >= 1) {
union { const Uint32* p; const char* v; } u1, u2;
u1.p = p1;
u2.p = p2;
// skip format check
int k = memcmp(u1.v, u2.v, 4);
if (k != 0)
return k < 0 ? -1 : +1;
if (size >= 2) {
k = memcmp(u1.v + 4, u2.v + 4, 4);
if (k != 0)
return k < 0 ? -1 : +1;
Uint32 n1 = *(const Uint32*)(u1.v + 8);
Uint32 n2 = *(const Uint32*)(u2.v + 8);
if (n1 < n2)
return -1;
if (n2 > n1)
return +1;
return 0;
}
}
return CmpUnknown;
}
case Type::Blob:
{
// skip blob head, the rest is binary
const unsigned skip = NDB_BLOB_HEAD_SIZE;
if (size >= skip + 1) {
union { const Uint32* p; const char* v; } u1, u2;
u1.p = p1 + skip;
u2.p = p2 + skip;
int k = memcmp(u1.v, u2.v, (size - 1) << 2);
return k < 0 ? -1 : k > 0 ? +1 : full == size ? 0 : CmpUnknown;
}
return CmpUnknown;
}
case Type::Text: case Type::Text:
{ {
// skip blob head, the rest is char // skip blob head, the rest is char
...@@ -352,7 +438,8 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full, ...@@ -352,7 +438,8 @@ NdbSqlUtil::cmp(Uint32 typeId, const Uint32* p1, const Uint32* p2, Uint32 full,
union { const Uint32* p; const char* v; } u1, u2; union { const Uint32* p; const char* v; } u1, u2;
u1.p = p1 + skip; u1.p = p1 + skip;
u2.p = p2 + skip; u2.p = p2 + skip;
// TODO int k = memcmp(u1.v, u2.v, (size - 1) << 2);
return k < 0 ? -1 : k > 0 ? +1 : full == size ? 0 : CmpUnknown;
} }
return CmpUnknown; return CmpUnknown;
} }
......
...@@ -135,7 +135,7 @@ EventLogger::defEventLogMatrixSize = sizeof(EventLogger::defEventLogMatrix)/ ...@@ -135,7 +135,7 @@ EventLogger::defEventLogMatrixSize = sizeof(EventLogger::defEventLogMatrix)/
*/ */
const EventLogger::EventCategoryName EventLogger::eventCategoryNames[] = { const EventLogger::EventCategoryName EventLogger::eventCategoryNames[] = {
{ LogLevel::llStartUp, "STARTUP" }, { LogLevel::llStartUp, "STARTUP" },
{ LogLevel::llStatistic, "STATISTIC" }, { LogLevel::llStatistic, "STATISTICS" },
{ LogLevel::llCheckpoint, "CHECKPOINT" }, { LogLevel::llCheckpoint, "CHECKPOINT" },
{ LogLevel::llNodeRestart, "NODERESTART" }, { LogLevel::llNodeRestart, "NODERESTART" },
{ LogLevel::llConnection, "CONNECTION" }, { LogLevel::llConnection, "CONNECTION" },
......
...@@ -99,25 +99,6 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei ...@@ -99,25 +99,6 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei
return false; return false;
} }
bool
printSCANTABINFO(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
const ScanTabInfo * const sig = (ScanTabInfo *) theData;
fprintf(output, " apiConnectPtr: H\'%.8x\n",
sig->apiConnectPtr);
fprintf(output, " Operation(s):\n");
for(int i = 0; i<16; i++){
fprintf(output, " [%.2u]ix=%d l=%.2d,",
i, sig->getIdx(sig->operLenAndIdx[i]), sig->getLen(sig->operLenAndIdx[i]));
if (((i+1) % 4) == 0)
fprintf(output, "\n");
}
return false;
}
bool bool
printSCANTABREF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){ printSCANTABREF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
......
...@@ -32,7 +32,6 @@ const GsnName SignalNames [] = { ...@@ -32,7 +32,6 @@ const GsnName SignalNames [] = {
,{ GSN_READCONF, "READCONF" } ,{ GSN_READCONF, "READCONF" }
,{ GSN_SCAN_NEXTREQ, "SCAN_NEXTREQ" } ,{ GSN_SCAN_NEXTREQ, "SCAN_NEXTREQ" }
,{ GSN_SCAN_TABCONF, "SCAN_TABCONF" } ,{ GSN_SCAN_TABCONF, "SCAN_TABCONF" }
,{ GSN_SCAN_TABINFO, "SCAN_TABINFO" }
,{ GSN_SCAN_TABREF, "SCAN_TABREF" } ,{ GSN_SCAN_TABREF, "SCAN_TABREF" }
,{ GSN_SCAN_TABREQ, "SCAN_TABREQ" } ,{ GSN_SCAN_TABREQ, "SCAN_TABREQ" }
,{ GSN_TC_COMMITCONF, "TC_COMMITCONF" } ,{ GSN_TC_COMMITCONF, "TC_COMMITCONF" }
......
...@@ -172,6 +172,7 @@ struct DepricationTransform { ...@@ -172,6 +172,7 @@ struct DepricationTransform {
static static
const DepricationTransform f_deprication[] = { const DepricationTransform f_deprication[] = {
{ "DB", "Discless", "Diskless", 0, 1 },
{ 0, 0, 0, 0, 0} { 0, 0, 0, 0, 0}
}; };
...@@ -796,7 +797,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ...@@ -796,7 +797,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
{ {
CFG_DB_DISCLESS, CFG_DB_DISCLESS,
"Discless", "Diskless",
"DB", "DB",
"Run wo/ disk", "Run wo/ disk",
ConfigInfo::USED, ConfigInfo::USED,
...@@ -806,6 +807,20 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ...@@ -806,6 +807,20 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
0, 0,
1}, 1},
{
CFG_DB_DISCLESS,
"Discless",
"DB",
"Diskless",
ConfigInfo::DEPRICATED,
true,
ConfigInfo::BOOL,
0,
0,
1},
{ {
CFG_DB_ARBIT_TIMEOUT, CFG_DB_ARBIT_TIMEOUT,
"ArbitrationTimeout", "ArbitrationTimeout",
...@@ -2732,7 +2747,8 @@ transform(InitConfigFileParser::Context & ctx, ...@@ -2732,7 +2747,8 @@ transform(InitConfigFileParser::Context & ctx,
require(ctx.m_currentSection->getTypeOf(oldName, &oldType)); require(ctx.m_currentSection->getTypeOf(oldName, &oldType));
ConfigInfo::Type newType = ctx.m_info->getType(ctx.m_currentInfo, newName); ConfigInfo::Type newType = ctx.m_info->getType(ctx.m_currentInfo, newName);
if(!((oldType == PropertiesType_Uint32 || oldType == PropertiesType_Uint64) if(!((oldType == PropertiesType_Uint32 || oldType == PropertiesType_Uint64)
&& (newType == ConfigInfo::INT || newType == ConfigInfo::INT64))){ && (newType == ConfigInfo::INT || newType == ConfigInfo::INT64 || newType == ConfigInfo::BOOL))){
ndbout << "oldType: " << (int)oldType << ", newType: " << (int)newType << endl;
ctx.reportError("Unable to handle type conversion w.r.t deprication %s %s" ctx.reportError("Unable to handle type conversion w.r.t deprication %s %s"
"- [%s] starting at line: %d", "- [%s] starting at line: %d",
oldName, newName, oldName, newName,
......
...@@ -98,11 +98,11 @@ NdbSqlUtil::m_typeList[] = { ...@@ -98,11 +98,11 @@ NdbSqlUtil::m_typeList[] = {
}, },
{ {
Type::Mediumint, Type::Mediumint,
NULL // cmpMediumint cmpMediumint
}, },
{ {
Type::Mediumunsigned, Type::Mediumunsigned,
NULL // cmpMediumunsigned cmpMediumunsigned
}, },
{ {
Type::Int, Type::Int,
...@@ -142,11 +142,11 @@ NdbSqlUtil::m_typeList[] = { ...@@ -142,11 +142,11 @@ NdbSqlUtil::m_typeList[] = {
}, },
{ {
Type::Binary, Type::Binary,
NULL // cmpBinary cmpBinary
}, },
{ {
Type::Varbinary, Type::Varbinary,
NULL // cmpVarbinary cmpVarbinary
}, },
{ {
Type::Datetime, Type::Datetime,
...@@ -154,11 +154,11 @@ NdbSqlUtil::m_typeList[] = { ...@@ -154,11 +154,11 @@ NdbSqlUtil::m_typeList[] = {
}, },
{ {
Type::Timespec, Type::Timespec,
NULL // cmpTimespec cmpTimespec
}, },
{ {
Type::Blob, Type::Blob,
NULL // cmpDatetime cmpBlob
}, },
{ {
Type::Text, Type::Text,
......
...@@ -15,18 +15,6 @@ ...@@ -15,18 +15,6 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/******************************************************************************
Name: NdbApiSignal.C
Include:
Link:
Author: UABMNST Mona Natterkvist UAB/B/SD
Date: 970829
Version: 0.1
Description: Interface between TIS and NDB
Documentation:
Adjust: 971114 UABMNST First version.
000705 QABANAB Update of Protocol2
******************************************************************************/
#include "API.hpp" #include "API.hpp"
#include "NdbApiSignal.hpp" #include "NdbApiSignal.hpp"
...@@ -193,15 +181,6 @@ NdbApiSignal::setSignal(int aNdbSignalType) ...@@ -193,15 +181,6 @@ NdbApiSignal::setSignal(int aNdbSignalType)
} }
break; break;
case GSN_SCAN_TABINFO:
{
theTrace = TestOrd::TraceAPI;
theReceiversBlockNumber = DBTC;
theVerId_signalNumber = GSN_SCAN_TABINFO;
theLength = 17;
}
break;
case GSN_SCAN_NEXTREQ: case GSN_SCAN_NEXTREQ:
{ {
theTrace = TestOrd::TraceAPI; theTrace = TestOrd::TraceAPI;
......
...@@ -43,11 +43,6 @@ ...@@ -43,11 +43,6 @@
#include <NdbOut.hpp> #include <NdbOut.hpp>
// time out for next scan result (-1 is infinite)
// XXX should change default only if non-trivial interpreted program is used
#define WAITFOR_SCAN_TIMEOUT 120000
/*************************************************************************** /***************************************************************************
* int receiveSCAN_TABREF(NdbApiSignal* aSignal) * int receiveSCAN_TABREF(NdbApiSignal* aSignal)
......
...@@ -470,11 +470,6 @@ int NdbScanOperation::nextResult(bool fetchAllowed) ...@@ -470,11 +470,6 @@ int NdbScanOperation::nextResult(bool fetchAllowed)
if(DEBUG_NEXT_RESULT) if(DEBUG_NEXT_RESULT)
ndbout_c("nextResult(%d) idx=%d last=%d", fetchAllowed, idx, last); ndbout_c("nextResult(%d) idx=%d last=%d", fetchAllowed, idx, last);
if(DEBUG_NEXT_RESULT)
ndbout_c("nextResult(%d) idx=%d last=%d",
fetchAllowed,
idx, last);
/** /**
* Check next buckets * Check next buckets
*/ */
......
...@@ -728,10 +728,6 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3]) ...@@ -728,10 +728,6 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
} }
goto InvalidSignal; goto InvalidSignal;
} }
case GSN_SCAN_TABINFO:
{
goto InvalidSignal;
}
case GSN_KEYINFO20: { case GSN_KEYINFO20: {
tFirstDataPtr = int2void(tFirstData); tFirstDataPtr = int2void(tFirstData);
if (tFirstDataPtr == 0) goto InvalidSignal; if (tFirstDataPtr == 0) goto InvalidSignal;
......
...@@ -25,6 +25,7 @@ testOperations \ ...@@ -25,6 +25,7 @@ testOperations \
testRestartGci \ testRestartGci \
testScan \ testScan \
testScanInterpreter \ testScanInterpreter \
testScanPerf \
testSystemRestart \ testSystemRestart \
testTimeout \ testTimeout \
testTransactions \ testTransactions \
...@@ -59,6 +60,7 @@ testOperations_SOURCES = testOperations.cpp ...@@ -59,6 +60,7 @@ testOperations_SOURCES = testOperations.cpp
testRestartGci_SOURCES = testRestartGci.cpp testRestartGci_SOURCES = testRestartGci.cpp
testScan_SOURCES = testScan.cpp ScanFunctions.hpp testScan_SOURCES = testScan.cpp ScanFunctions.hpp
testScanInterpreter_SOURCES = testScanInterpreter.cpp ScanFilter.hpp ScanInterpretTest.hpp testScanInterpreter_SOURCES = testScanInterpreter.cpp ScanFilter.hpp ScanInterpretTest.hpp
testScanPerf_SOURCES = testScanPerf.cpp
testSystemRestart_SOURCES = testSystemRestart.cpp testSystemRestart_SOURCES = testSystemRestart.cpp
testTimeout_SOURCES = testTimeout.cpp testTimeout_SOURCES = testTimeout.cpp
testTransactions_SOURCES = testTransactions.cpp testTransactions_SOURCES = testTransactions.cpp
......
include .defs.mk
TYPE = ndbapitest
BIN_TARGET = testScanPerf
SOURCES = testScanPerf.cpp
include $(NDB_TOP)/Epilogue.mk
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment