mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge
mysql-test/mysql-test-run.sh: Auto merged ndb/src/ndbapi/Ndbif.cpp: Auto merged ndb/src/common/mgmcommon/ConfigInfo.cpp: SCCS merged
This commit is contained in:
@ -1449,7 +1449,7 @@ then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
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"
|
||||
else
|
||||
export NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"
|
||||
|
@ -3,7 +3,7 @@ NoOfReplicas: 2
|
||||
MaxNoOfConcurrentOperations: CHOOSE_MaxNoOfConcurrentOperations
|
||||
DataMemory: CHOOSE_DataMemory
|
||||
IndexMemory: CHOOSE_IndexMemory
|
||||
Discless: CHOOSE_Discless
|
||||
Diskless: CHOOSE_Diskless
|
||||
|
||||
[COMPUTER]
|
||||
Id: 1
|
||||
|
@ -42,7 +42,7 @@ cfgfile=Ndb.cfg
|
||||
stop_ndb=
|
||||
initial_ndb=
|
||||
status_ndb=
|
||||
ndb_discless=0
|
||||
ndb_diskless=0
|
||||
|
||||
ndb_con_op=100000
|
||||
ndb_dmem=80M
|
||||
@ -65,8 +65,8 @@ while test $# -gt 0; do
|
||||
ndb_dmem=40M
|
||||
ndb_imem=12M
|
||||
;;
|
||||
--discless)
|
||||
ndb_discless=1
|
||||
--diskless)
|
||||
ndb_diskless=1
|
||||
;;
|
||||
--data-dir=*)
|
||||
fsdir=`echo "$1" | sed -e "s;--data-dir=;;"`
|
||||
@ -131,7 +131,7 @@ sed \
|
||||
-e s,"CHOOSE_MaxNoOfConcurrentOperations",$ndb_con_op,g \
|
||||
-e s,"CHOOSE_DataMemory",$ndb_dmem,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_FILESYSTEM_NODE_1","$fs_name_1",g \
|
||||
-e s,"CHOOSE_FILESYSTEM_NODE_2","$fs_name_2",g \
|
||||
|
36
mysql-test/r/ndb_types.result
Normal file
36
mysql-test/r/ndb_types.result
Normal file
@ -0,0 +1,36 @@
|
||||
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;
|
47
mysql-test/t/ndb_types.test
Normal file
47
mysql-test/t/ndb_types.test
Normal file
@ -0,0 +1,47 @@
|
||||
-- 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;
|
||||
|
||||
#define GSN_SCAN_NEXTREQ 28
|
||||
#define GSN_SCAN_TABCONF 29
|
||||
#define GSN_SCAN_TABINFO 30
|
||||
// 30 unused
|
||||
#define GSN_SCAN_TABREF 31
|
||||
#define GSN_SCAN_TABREQ 32
|
||||
#define GSN_KEYINFO20 33
|
||||
|
@ -271,76 +271,6 @@ private:
|
||||
#define STATUS_SHIFT (8)
|
||||
#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);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -135,7 +135,7 @@ EventLogger::defEventLogMatrixSize = sizeof(EventLogger::defEventLogMatrix)/
|
||||
*/
|
||||
const EventLogger::EventCategoryName EventLogger::eventCategoryNames[] = {
|
||||
{ LogLevel::llStartUp, "STARTUP" },
|
||||
{ LogLevel::llStatistic, "STATISTIC" },
|
||||
{ LogLevel::llStatistic, "STATISTICS" },
|
||||
{ LogLevel::llCheckpoint, "CHECKPOINT" },
|
||||
{ LogLevel::llNodeRestart, "NODERESTART" },
|
||||
{ LogLevel::llConnection, "CONNECTION" },
|
||||
|
@ -99,25 +99,6 @@ printSCANTABCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 recei
|
||||
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
|
||||
printSCANTABREF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
|
||||
|
||||
|
@ -32,7 +32,6 @@ const GsnName SignalNames [] = {
|
||||
,{ GSN_READCONF, "READCONF" }
|
||||
,{ GSN_SCAN_NEXTREQ, "SCAN_NEXTREQ" }
|
||||
,{ GSN_SCAN_TABCONF, "SCAN_TABCONF" }
|
||||
,{ GSN_SCAN_TABINFO, "SCAN_TABINFO" }
|
||||
,{ GSN_SCAN_TABREF, "SCAN_TABREF" }
|
||||
,{ GSN_SCAN_TABREQ, "SCAN_TABREQ" }
|
||||
,{ GSN_TC_COMMITCONF, "TC_COMMITCONF" }
|
||||
|
@ -172,6 +172,7 @@ struct DepricationTransform {
|
||||
|
||||
static
|
||||
const DepricationTransform f_deprication[] = {
|
||||
,{ "DB", "Discless", "Diskless", 0, 1 }
|
||||
{ 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@ -796,7 +797,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
|
||||
|
||||
{
|
||||
CFG_DB_DISCLESS,
|
||||
"Discless",
|
||||
"Diskless",
|
||||
"DB",
|
||||
"Run wo/ disk",
|
||||
ConfigInfo::USED,
|
||||
@ -806,6 +807,20 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
|
||||
0,
|
||||
1},
|
||||
|
||||
{
|
||||
CFG_DB_DISCLESS,
|
||||
"Discless",
|
||||
"DB",
|
||||
"Diskless",
|
||||
ConfigInfo::DEPRICATED,
|
||||
true,
|
||||
ConfigInfo::BOOL,
|
||||
0,
|
||||
0,
|
||||
1},
|
||||
|
||||
|
||||
|
||||
{
|
||||
CFG_DB_ARBIT_TIMEOUT,
|
||||
"ArbitrationTimeout",
|
||||
@ -2732,7 +2747,8 @@ transform(InitConfigFileParser::Context & ctx,
|
||||
require(ctx.m_currentSection->getTypeOf(oldName, &oldType));
|
||||
ConfigInfo::Type newType = ctx.m_info->getType(ctx.m_currentInfo, newName);
|
||||
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"
|
||||
"- [%s] starting at line: %d",
|
||||
oldName, newName,
|
||||
|
@ -15,18 +15,6 @@
|
||||
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 "NdbApiSignal.hpp"
|
||||
|
||||
@ -193,15 +181,6 @@ NdbApiSignal::setSignal(int aNdbSignalType)
|
||||
}
|
||||
break;
|
||||
|
||||
case GSN_SCAN_TABINFO:
|
||||
{
|
||||
theTrace = TestOrd::TraceAPI;
|
||||
theReceiversBlockNumber = DBTC;
|
||||
theVerId_signalNumber = GSN_SCAN_TABINFO;
|
||||
theLength = 17;
|
||||
}
|
||||
break;
|
||||
|
||||
case GSN_SCAN_NEXTREQ:
|
||||
{
|
||||
theTrace = TestOrd::TraceAPI;
|
||||
|
@ -43,11 +43,6 @@
|
||||
|
||||
#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)
|
||||
|
@ -470,11 +470,6 @@ int NdbScanOperation::nextResult(bool fetchAllowed)
|
||||
if(DEBUG_NEXT_RESULT)
|
||||
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
|
||||
*/
|
||||
|
@ -728,10 +728,6 @@ Ndb::handleReceivedSignal(NdbApiSignal* aSignal, LinearSectionPtr ptr[3])
|
||||
}
|
||||
goto InvalidSignal;
|
||||
}
|
||||
case GSN_SCAN_TABINFO:
|
||||
{
|
||||
goto InvalidSignal;
|
||||
}
|
||||
case GSN_KEYINFO20: {
|
||||
tFirstDataPtr = int2void(tFirstData);
|
||||
if (tFirstDataPtr == 0) goto InvalidSignal;
|
||||
|
@ -25,6 +25,7 @@ testOperations \
|
||||
testRestartGci \
|
||||
testScan \
|
||||
testScanInterpreter \
|
||||
testScanPerf \
|
||||
testSystemRestart \
|
||||
testTimeout \
|
||||
testTransactions \
|
||||
@ -59,6 +60,7 @@ testOperations_SOURCES = testOperations.cpp
|
||||
testRestartGci_SOURCES = testRestartGci.cpp
|
||||
testScan_SOURCES = testScan.cpp
|
||||
testScanInterpreter_SOURCES = testScanInterpreter.cpp
|
||||
testScanPerf_SOURCES = testScanPerf.cpp
|
||||
testSystemRestart_SOURCES = testSystemRestart.cpp
|
||||
testTimeout_SOURCES = testTimeout.cpp
|
||||
testTransactions_SOURCES = testTransactions.cpp
|
||||
|
@ -1,9 +0,0 @@
|
||||
include .defs.mk
|
||||
|
||||
TYPE = ndbapitest
|
||||
|
||||
BIN_TARGET = testScanPerf
|
||||
|
||||
SOURCES = testScanPerf.cpp
|
||||
|
||||
include $(NDB_TOP)/Epilogue.mk
|
Reference in New Issue
Block a user