Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2221 06/06/27 11:30:21 tomas@stripped +3 -0
Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
1.30 06/06/27 11:30:16 tomas@stripped +0 -1
manual merge
sql/ha_ndbcluster.cc
1.338 06/06/27 11:30:16 tomas@stripped +0 -0
manual merge
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
1.17.4.2 06/06/27 11:28:39 tomas@stripped +0 -0
Merge rename: ndb/include/kernel/signaldata/DictTabInfo.hpp ->
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp
storage/ndb/include/kernel/GlobalSignalNumbers.h
1.19 06/06/27 11:28:39 tomas@stripped +0 -2
Auto merged
storage/ndb/include/kernel/GlobalSignalNumbers.h
1.7.5.2 06/06/27 11:28:38 tomas@stripped +0 -0
Merge rename: ndb/include/kernel/GlobalSignalNumbers.h ->
storage/ndb/include/kernel/GlobalSignalNumbers.h
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: tomas
# Host: poseidon.ndb.mysql.com
# Root: /home/tomas/mysql-5.1-new-ndb/RESYNC
--- 1.7.5.1/ndb/include/kernel/GlobalSignalNumbers.h 2006-06-27 11:25:54 +02:00
+++ 1.19/storage/ndb/include/kernel/GlobalSignalNumbers.h 2006-06-27 11:28:39 +02:00
@@ -23,7 +23,7 @@
*
* When adding a new signal, remember to update MAX_GSN and SignalNames.cpp
*/
-const GlobalSignalNumber MAX_GSN = 712;
+const GlobalSignalNumber MAX_GSN = 730;
struct GsnName {
GlobalSignalNumber gsn;
@@ -111,9 +111,9 @@
/* 57 unused */
/* 58 unused */
/* 59 unused */
-/* 60 unused */
-/* 61 unused */
-/* 62 unused */
+#define GSN_ALLOC_NODEID_REQ 60
+#define GSN_ALLOC_NODEID_CONF 61
+#define GSN_ALLOC_NODEID_REF 62
/* 63 unused */
/* 64 unused */
/* 65 unused */
@@ -124,30 +124,34 @@
*/
#define GSN_ACC_ABORTCONF 67
-/* 68 unused */
-/* 69 unused */
+/* 68 not unused */
+/* 69 not unused */
/* 70 unused */
#define GSN_ACC_ABORTREQ 71
#define GSN_ACC_CHECK_SCAN 72
#define GSN_ACC_COMMITCONF 73
#define GSN_ACC_COMMITREQ 74
-#define GSN_ACC_CONTOPCONF 75
-#define GSN_ACC_CONTOPREQ 76
-#define GSN_ACC_LCPCONF 77
-#define GSN_ACC_LCPREF 78
-#define GSN_ACC_LCPREQ 79
-#define GSN_ACC_LCPSTARTED 80
+/* 75 unused */
+/* 76 unused */
+
+/* 79 unused */
+/* 78 unused */
+/* 77 unused */
+
+/* 80 unused */
#define GSN_ACC_OVER_REC 81
-#define GSN_ACC_SAVE_PAGES 83
+/* 83 unused */
#define GSN_ACC_SCAN_INFO 84
#define GSN_ACC_SCAN_INFO24 85
#define GSN_ACC_SCANCONF 86
#define GSN_ACC_SCANREF 87
#define GSN_ACC_SCANREQ 88
-#define GSN_ACC_SRCONF 89
-#define GSN_ACC_SRREF 90
-#define GSN_ACC_SRREQ 91
+
+#define GSN_RESTORE_LCP_REQ 91
+#define GSN_RESTORE_LCP_REF 90
+#define GSN_RESTORE_LCP_CONF 89
+
#define GSN_ACC_TO_CONF 92
#define GSN_ACC_TO_REF 93
#define GSN_ACC_TO_REQ 94
@@ -169,6 +173,7 @@
#define GSN_ADD_FRAGREF 110
#define GSN_ADD_FRAGREQ 111
+#define GSN_API_START_REP 120
#define GSN_API_FAILCONF 113
#define GSN_API_FAILREQ 114
#define GSN_CNTR_START_REQ 115
@@ -176,7 +181,7 @@
#define GSN_CNTR_START_REF 117
#define GSN_CNTR_START_CONF 118
#define GSN_CNTR_START_REP 119
-/* 120 unused */
+/* 120 not unused */
/* 121 unused */
/* 122 unused */
/* 123 unused */
@@ -330,7 +335,9 @@
#define GSN_DIVERIFYREQ 241
#define GSN_ENABLE_COMORD 242
#define GSN_END_LCPCONF 243
+#define GSN_END_LCP_CONF 243
#define GSN_END_LCPREQ 244
+#define GSN_END_LCP_REQ 244
#define GSN_END_TOCONF 245
#define GSN_END_TOREQ 246
#define GSN_EVENT_REP 247
@@ -371,21 +378,24 @@
#define GSN_GCP_SAVEREF 282
#define GSN_GCP_SAVEREQ 283
#define GSN_GCP_TCFINISHED 284
-#define GSN_SR_FRAGIDCONF 285
-#define GSN_SR_FRAGIDREF 286
-#define GSN_SR_FRAGIDREQ 287
+
+/* 285 unused */
+/* 286 unused */
+/* 287 unused */
#define GSN_GETGCICONF 288
#define GSN_GETGCIREQ 289
#define GSN_HOT_SPAREREP 290
#define GSN_INCL_NODECONF 291
#define GSN_INCL_NODEREF 292
#define GSN_INCL_NODEREQ 293
-#define GSN_LCP_FRAGIDCONF 294
-#define GSN_LCP_FRAGIDREF 295
-#define GSN_LCP_FRAGIDREQ 296
-#define GSN_LCP_HOLDOPCONF 297
-#define GSN_LCP_HOLDOPREF 298
-#define GSN_LCP_HOLDOPREQ 299
+
+#define GSN_LCP_PREPARE_REQ 296
+#define GSN_LCP_PREPARE_REF 295
+#define GSN_LCP_PREPARE_CONF 294
+
+/* 297 unused */
+/* 298 unused */
+/* 299 unused */
#define GSN_SHRINKCHECK2 301
#define GSN_GET_SCHEMA_INFOREQ 302
/* 303 not unused */
@@ -507,26 +517,24 @@
#define GSN_TEST_ORD 407
#define GSN_TESTSIG 408
#define GSN_TIME_SIGNAL 409
-/* 410 unused */
-/* 411 unused */
-/* 412 unused */
#define GSN_TUP_ABORTREQ 414
#define GSN_TUP_ADD_ATTCONF 415
#define GSN_TUP_ADD_ATTRREF 416
#define GSN_TUP_ADD_ATTRREQ 417
#define GSN_TUP_ATTRINFO 418
#define GSN_TUP_COMMITREQ 419
-/* 420 unused */
-#define GSN_TUP_LCPCONF 421
-#define GSN_TUP_LCPREF 422
-#define GSN_TUP_LCPREQ 423
-#define GSN_TUP_LCPSTARTED 424
-#define GSN_TUP_PREPLCPCONF 425
-#define GSN_TUP_PREPLCPREF 426
-#define GSN_TUP_PREPLCPREQ 427
-#define GSN_TUP_SRCONF 428
-#define GSN_TUP_SRREF 429
-#define GSN_TUP_SRREQ 430
+
+/* 421 unused */
+/* 422 unused */
+/* 423 unused */
+
+/* 424 unused */
+/* 425 unused */
+/* 426 unused */
+/* 427 unused */
+/* 428 unused */
+/* 429 unused */
+/* 430 unused */
#define GSN_TUPFRAGCONF 431
#define GSN_TUPFRAGREF 432
#define GSN_TUPFRAGREQ 433
@@ -558,10 +566,10 @@
#define GSN_EVENT_SUBSCRIBE_REQ 458
#define GSN_EVENT_SUBSCRIBE_CONF 459
#define GSN_EVENT_SUBSCRIBE_REF 460
-#define GSN_ACC_COM_BLOCK 461
-#define GSN_ACC_COM_UNBLOCK 462
-#define GSN_TUP_COM_BLOCK 463
-#define GSN_TUP_COM_UNBLOCK 464
+/* 461 unused */
+/* 462 unused */
+/* 463 unused */
+/* 464 unused */
#define GSN_DUMP_STATE_ORD 465
@@ -591,6 +599,7 @@
#define GSN_BLOCK_COMMIT_ORD 485
#define GSN_UNBLOCK_COMMIT_ORD 486
+#define GSN_NODE_START_REP 502
#define GSN_NODE_STATE_REP 487
#define GSN_CHANGE_NODE_STATE_REQ 488
#define GSN_CHANGE_NODE_STATE_CONF 489
@@ -611,6 +620,8 @@
#define GSN_WAIT_GCP_REF 500
#define GSN_WAIT_GCP_CONF 501
+/* 502 used */
+
/**
* Trigger and index signals
*/
@@ -741,7 +752,7 @@
#define GSN_SUB_SYNC_REQ 582
#define GSN_SUB_SYNC_REF 583
#define GSN_SUB_SYNC_CONF 584
-#define GSN_SUB_META_DATA 585
+/* 585 unused */
#define GSN_SUB_TABLE_DATA 586
#define GSN_CREATE_TABLE_REQ 587
@@ -773,66 +784,59 @@
#define GSN_ALTER_INDX_REF 604
#define GSN_ALTER_INDX_CONF 605
-/**
- * Grep signals
- */
#define GSN_ALTER_TABLE_REP 606
#define GSN_API_BROADCAST_REP 607
-#define GSN_GREP_SUB_CREATE_CONF 608
-#define GSN_GREP_CREATE_REQ 609
-#define GSN_GREP_CREATE_REF 610
-#define GSN_GREP_CREATE_CONF 611
-
-#define GSN_GREP_SUB_START_REQ 612
-#define GSN_GREP_SUB_START_REF 613
-#define GSN_GREP_SUB_START_CONF 614
-#define GSN_GREP_START_REQ 615
-#define GSN_GREP_START_REF 616
-#define GSN_GREP_START_CONF 617
-
-#define GSN_GREP_SUB_SYNC_REQ 618
-#define GSN_GREP_SUB_SYNC_REF 619
-#define GSN_GREP_SUB_SYNC_CONF 620
-#define GSN_GREP_SYNC_REQ 621
-#define GSN_GREP_SYNC_REF 622
-#define GSN_GREP_SYNC_CONF 623
-
-/**
- * REP signals
- */
-#define GSN_REP_WAITGCP_REQ 627
-#define GSN_REP_WAITGCP_REF 628
-#define GSN_REP_WAITGCP_CONF 629
-#define GSN_GREP_WAITGCP_REQ 630
-#define GSN_GREP_WAITGCP_REF 631
-#define GSN_GREP_WAITGCP_CONF 632
-#define GSN_REP_GET_GCI_REQ 633
-#define GSN_REP_GET_GCI_REF 634
-#define GSN_REP_GET_GCI_CONF 635
-#define GSN_REP_GET_GCIBUFFER_REQ 636
-#define GSN_REP_GET_GCIBUFFER_REF 637
-#define GSN_REP_GET_GCIBUFFER_CONF 638
-#define GSN_REP_INSERT_GCIBUFFER_REQ 639
-#define GSN_REP_INSERT_GCIBUFFER_REF 640
-#define GSN_REP_INSERT_GCIBUFFER_CONF 641
-#define GSN_REP_CLEAR_PS_GCIBUFFER_REQ 642
-#define GSN_REP_CLEAR_PS_GCIBUFFER_REF 643
-#define GSN_REP_CLEAR_PS_GCIBUFFER_CONF 644
-#define GSN_REP_CLEAR_SS_GCIBUFFER_REQ 645
-#define GSN_REP_CLEAR_SS_GCIBUFFER_REF 646
-#define GSN_REP_CLEAR_SS_GCIBUFFER_CONF 647
-#define GSN_REP_DATA_PAGE 648
-#define GSN_REP_GCIBUFFER_ACC_REP 649
-
-#define GSN_GREP_SUB_REMOVE_REQ 650
-#define GSN_GREP_SUB_REMOVE_REF 651
-#define GSN_GREP_SUB_REMOVE_CONF 652
-#define GSN_GREP_REMOVE_REQ 653
-#define GSN_GREP_REMOVE_REF 654
-#define GSN_GREP_REMOVE_CONF 655
+#define GSN_608
+#define GSN_609
+#define GSN_610
+#define GSN_611
+
+#define GSN_612
+#define GSN_613
+#define GSN_614
+#define GSN_615
+#define GSN_616
+#define GSN_617
+
+#define GSN_618
+#define GSN_619
+#define GSN_620
+#define GSN_621
+#define GSN_622
+#define GSN_623
+
+#define GSN_627
+#define GSN_628
+#define GSN_629
+#define GSN_630
+#define GSN_631
+#define GSN_632
+#define GSN_633
+#define GSN_634
+#define GSN_635
+#define GSN_636
+#define GSN_637
+#define GSN_638
+#define GSN_639
+#define GSN_640
+#define GSN_641
+#define GSN_642
+#define GSN_643
+#define GSN_644
+#define GSN_645
+#define GSN_646
+#define GSN_647
+#define GSN_648
+#define GSN_649
+
+#define GSN_650
+#define GSN_651
+#define GSN_652
+#define GSN_653
+#define GSN_654
+#define GSN_655
-/* Start Global Replication */
-#define GSN_GREP_REQ 656
+#define GSN_656
#define GSN_UTIL_CREATE_LOCK_REQ 132
#define GSN_UTIL_CREATE_LOCK_REF 133
@@ -855,13 +859,12 @@
#define GSN_CREATE_SUBID_REF 662
#define GSN_CREATE_SUBID_CONF 663
-/* GREP */
-#define GSN_GREP_CREATE_SUBID_REQ 664
-#define GSN_GREP_CREATE_SUBID_REF 665
-#define GSN_GREP_CREATE_SUBID_CONF 666
-#define GSN_REP_DROP_TABLE_REQ 667
-#define GSN_REP_DROP_TABLE_REF 668
-#define GSN_REP_DROP_TABLE_CONF 669
+/* used 664 */
+/* used 665 */
+/* used 666 */
+/* used 667 */
+/* used 668 */
+/* used 669 */
/*
* TUX
@@ -903,27 +906,27 @@
/**
* SUMA restart protocol
*/
-#define GSN_SUMA_START_ME 691
+#define GSN_SUMA_START_ME_REQ 691
+#define GSN_SUMA_START_ME_REF 694
+#define GSN_SUMA_START_ME_CONF 695
#define GSN_SUMA_HANDOVER_REQ 692
+#define GSN_SUMA_HANDOVER_REF 696
#define GSN_SUMA_HANDOVER_CONF 693
-/* not used 694 */
-/* not used 695 */
-/* not used 696 */
-
-/**
- * GREP restart protocol
- */
-#define GSN_GREP_START_ME 706
-#define GSN_GREP_ADD_SUB_REQ 707
-#define GSN_GREP_ADD_SUB_REF 708
-#define GSN_GREP_ADD_SUB_CONF 709
+/* used 694 */
+/* used 695 */
+/* used 696 */
+
+#define GSN_706
+#define GSN_707
+#define GSN_708
+#define GSN_709
/*
* EVENT Signals
*/
-#define GSN_SUB_GCP_COMPLETE_ACC 699
+#define GSN_SUB_GCP_COMPLETE_ACK 699
#define GSN_CREATE_EVNT_REQ 700
#define GSN_CREATE_EVNT_CONF 701
@@ -936,6 +939,50 @@
#define GSN_TUX_BOUND_INFO 710
#define GSN_ACC_LOCKREQ 711
-#define GSN_READ_PSUEDO_REQ 712
+#define GSN_READ_PSEUDO_REQ 712
+
+/**
+ * Filegroup
+ */
+#define GSN_CREATE_FILEGROUP_REQ 713
+#define GSN_CREATE_FILEGROUP_REF 714
+#define GSN_CREATE_FILEGROUP_CONF 715
+
+#define GSN_CREATE_FILE_REQ 716
+#define GSN_CREATE_FILE_REF 717
+#define GSN_CREATE_FILE_CONF 718
+
+#define GSN_DROP_FILEGROUP_REQ 719
+#define GSN_DROP_FILEGROUP_REF 720
+#define GSN_DROP_FILEGROUP_CONF 721
+
+#define GSN_DROP_FILE_REQ 722
+#define GSN_DROP_FILE_REF 723
+#define GSN_DROP_FILE_CONF 724
+
+#define GSN_CREATE_OBJ_REQ 725
+#define GSN_CREATE_OBJ_REF 726
+#define GSN_CREATE_OBJ_CONF 727
+
+#define GSN_DROP_OBJ_REQ 728
+#define GSN_DROP_OBJ_REF 729
+#define GSN_DROP_OBJ_CONF 730
+
+#define GSN_ALLOC_EXTENT_REQ 68
+#define GSN_FREE_EXTENT_REQ 69
+
+#define GSN_DICT_COMMIT_REQ 664
+#define GSN_DICT_COMMIT_REF 665
+#define GSN_DICT_COMMIT_CONF 666
+
+#define GSN_DICT_ABORT_REQ 667
+#define GSN_DICT_ABORT_REF 668
+#define GSN_DICT_ABORT_CONF 669
+
+/* DICT LOCK signals */
+#define GSN_DICT_LOCK_REQ 410
+#define GSN_DICT_LOCK_CONF 411
+#define GSN_DICT_LOCK_REF 412
+#define GSN_DICT_UNLOCK_ORD 420
#endif
--- 1.17.4.1/ndb/include/kernel/signaldata/DictTabInfo.hpp 2006-06-27 11:25:54 +02:00
+++ 1.30/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp 2006-06-27 11:30:16 +02:00
@@ -21,8 +21,8 @@
#include <AttributeDescriptor.hpp>
#include <SimpleProperties.hpp>
#include <ndb_limits.h>
-#include <trigger_definitions.h>
#include <NdbSqlUtil.hpp>
+#include <ndb_global.h>
#ifndef my_decimal_h
@@ -90,9 +90,9 @@
CopyTable = 3, // Between DICT's
ReadTableFromDiskSR = 4, // Local in DICT
GetTabInfoConf = 5,
- AlterTableFromAPI = 6
+ AlterTableFromAPI = 6
};
-
+
enum KeyValues {
TableName = 1, // String, Mandatory
TableId = 2, //Mandatory between DICT's otherwise not allowed
@@ -121,12 +121,24 @@
FragmentCount = 128, // No of fragments in table (!fragment replicas)
FragmentDataLen = 129,
FragmentData = 130, // CREATE_FRAGMENTATION reply
-
+ TablespaceId = 131,
+ TablespaceVersion = 132,
+ TablespaceDataLen = 133,
+ TablespaceData = 134,
+ RangeListDataLen = 135,
+ RangeListData = 136,
+ ReplicaDataLen = 137,
+ ReplicaData = 138,
MaxRowsLow = 139,
MaxRowsHigh = 140,
+ DefaultNoPartFlag = 141,
+ LinearHashFlag = 142,
MinRowsLow = 143,
MinRowsHigh = 144,
+ RowGCIFlag = 150,
+ RowChecksumFlag = 151,
+
TableEnd = 999,
AttributeName = 1000, // String, Mandatory
@@ -135,7 +147,7 @@
AttributeSize = 1003, //Default DictTabInfo::a32Bit
AttributeArraySize = 1005, //Default 1
AttributeKeyFlag = 1006, //Default noKey
- AttributeStorage = 1007, //Default MainMemory
+ AttributeStorageType = 1007, //Default NDB_STORAGETYPE_MEMORY
AttributeNullableFlag = 1008, //Default NotNullable
AttributeDKey = 1010, //Default NotDKey
AttributeExtType = 1013, //Default ExtUnsigned
@@ -143,7 +155,8 @@
AttributeExtScale = 1015, //Default 0
AttributeExtLength = 1016, //Default 0
AttributeAutoIncrement = 1017, //Default false
- AttributeDefaultValue = 1018, //Default value (printable string)
+ AttributeDefaultValue = 1018, //Default value (printable string),
+ AttributeArrayType = 1019, //Default NDB_ARRAYTYPE_FIXED
AttributeEnd = 1999 //
};
// ----------------------------------------------------------------------
@@ -158,7 +171,12 @@
AllNodesSmallTable = 0,
AllNodesMediumTable = 1,
AllNodesLargeTable = 2,
- SingleFragment = 3
+ SingleFragment = 3,
+ DistrKeyHash = 4,
+ DistrKeyLin = 5,
+ UserDefined = 6,
+ DistrKeyUniqueHashIndex = 7,
+ DistrKeyOrderedIndex = 8
};
// TableType constants + objects
@@ -171,11 +189,21 @@
UniqueOrderedIndex = 5,
OrderedIndex = 6,
// constant 10 hardcoded in Dbdict.cpp
- HashIndexTrigger = 10 + TriggerType::SECONDARY_INDEX,
- SubscriptionTrigger = 10 + TriggerType::SUBSCRIPTION,
- ReadOnlyConstraint = 10 + TriggerType::READ_ONLY_CONSTRAINT,
- IndexTrigger = 10 + TriggerType::ORDERED_INDEX
+ HashIndexTrigger = 11,
+ SubscriptionTrigger = 16,
+ ReadOnlyConstraint = 17,
+ IndexTrigger = 18,
+
+ Tablespace = 20, ///< Tablespace
+ LogfileGroup = 21, ///< Logfile group
+ Datafile = 22, ///< Datafile
+ Undofile = 23 ///< Undofile
};
+
+ // used 1) until type BlobTable added 2) in upgrade code
+ static bool
+ isBlobTableName(const char* name, Uint32* ptab_id = 0, Uint32* pcol_no = 0);
+
static inline bool
isTable(int tableType) {
return
@@ -214,7 +242,28 @@
tableType == UniqueOrderedIndex ||
tableType == OrderedIndex;
}
+ static inline bool
+ isTrigger(int tableType) {
+ return
+ tableType == HashIndexTrigger ||
+ tableType == SubscriptionTrigger ||
+ tableType == ReadOnlyConstraint ||
+ tableType == IndexTrigger;
+ }
+ static inline bool
+ isFilegroup(int tableType) {
+ return
+ tableType == Tablespace ||
+ tableType == LogfileGroup;
+ }
+ static inline bool
+ isFile(int tableType) {
+ return
+ tableType == Datafile||
+ tableType == Undofile;
+ }
+
// Object state for translating from/to API
enum ObjectState {
StateUndefined = 0,
@@ -257,7 +306,6 @@
Uint32 MaxLoadFactor;
Uint32 KeyLength;
Uint32 FragmentType;
- Uint32 TableStorage;
Uint32 TableType;
Uint32 TableVersion;
Uint32 IndexState;
@@ -265,16 +313,39 @@
Uint32 UpdateTriggerId;
Uint32 DeleteTriggerId;
Uint32 CustomTriggerId;
+ Uint32 TablespaceId;
+ Uint32 TablespaceVersion;
+ Uint32 MaxRowsLow;
+ Uint32 MaxRowsHigh;
+ Uint32 DefaultNoPartFlag;
+ Uint32 LinearHashFlag;
+ /*
+ TODO RONM:
+ We need to replace FRM, Fragment Data, Tablespace Data and in
+ very particular RangeListData with dynamic arrays
+ */
Uint32 FrmLen;
char FrmData[MAX_FRM_DATA_SIZE];
Uint32 FragmentCount;
+ Uint32 ReplicaDataLen;
+ Uint16 ReplicaData[MAX_FRAGMENT_DATA_BYTES];
Uint32 FragmentDataLen;
- Uint16 FragmentData[(MAX_FRAGMENT_DATA_BYTES+1)/2];
+ Uint16 FragmentData[3*MAX_NDB_PARTITIONS];
+
Uint32 MaxRowsLow;
Uint32 MaxRowsHigh;
Uint32 MinRowsLow;
Uint32 MinRowsHigh;
+
+ Uint32 TablespaceDataLen;
+ Uint32 TablespaceData[2*MAX_NDB_PARTITIONS];
+ Uint32 RangeListDataLen;
+ char RangeListData[4*2*MAX_NDB_PARTITIONS*2];
+
+ Uint32 RowGCIFlag;
+ Uint32 RowChecksumFlag;
+ Table() {}
void init();
};
@@ -325,6 +396,7 @@
Uint32 AttributeType; // for osu 4.1->5.0.x
Uint32 AttributeSize;
Uint32 AttributeArraySize;
+ Uint32 AttributeArrayType;
Uint32 AttributeKeyFlag;
Uint32 AttributeNullableFlag;
Uint32 AttributeDKey;
@@ -333,8 +405,10 @@
Uint32 AttributeExtScale;
Uint32 AttributeExtLength;
Uint32 AttributeAutoIncrement;
+ Uint32 AttributeStorageType;
char AttributeDefaultValue[MAX_ATTR_DEFAULT_VALUE_SIZE];
+ Attribute() {}
void init();
inline
@@ -469,8 +543,9 @@
fprintf(out, "AttributeType = %d\n", AttributeType);
fprintf(out, "AttributeSize = %d\n", AttributeSize);
fprintf(out, "AttributeArraySize = %d\n", AttributeArraySize);
+ fprintf(out, "AttributeArrayType = %d\n", AttributeArrayType);
fprintf(out, "AttributeKeyFlag = %d\n", AttributeKeyFlag);
- fprintf(out, "AttributeStorage = %d\n", AttributeStorage);
+ fprintf(out, "AttributeStorageType = %d\n", AttributeStorageType);
fprintf(out, "AttributeNullableFlag = %d\n", AttributeNullableFlag);
fprintf(out, "AttributeDKey = %d\n", AttributeDKey);
fprintf(out, "AttributeGroup = %d\n", AttributeGroup);
@@ -508,20 +583,142 @@
Uint32 tabInfoData[DataLength];
public:
- enum Depricated
+ enum Depricated
{
AttributeDGroup = 1009, //Default NotDGroup
AttributeStoredInd = 1011, //Default NotStored
+ TableStorageVal = 14, //Disk storage specified per attribute
SecondTableId = 17, //Mandatory between DICT's otherwise not allowed
FragmentKeyTypeVal = 16 //Default PrimaryKey
};
-
- enum Unimplemented
+
+ enum Unimplemented
{
- TableStorageVal = 14, //Default StorageType::MainMemory
ScanOptimised = 15, //Default updateOptimised
- AttributeGroup = 1012 //Default 0
+ AttributeGroup = 1012, //Default 0
+ FileNo = 102
+ };
+};
+
+#define DFGIMAP(x, y, z) \
+ { DictFilegroupInfo::y, offsetof(x, z), SimpleProperties::Uint32Value, 0, (~0), 0 }
+
+#define DFGIMAP2(x, y, z, u, v) \
+ { DictFilegroupInfo::y, offsetof(x, z), SimpleProperties::Uint32Value, u, v, 0 }
+
+#define DFGIMAPS(x, y, z, u, v) \
+ { DictFilegroupInfo::y, offsetof(x, z), SimpleProperties::StringValue, u, v, 0 }
+
+#define DFGIMAPB(x, y, z, u, v, l) \
+ { DictFilegroupInfo::y, offsetof(x, z), SimpleProperties::BinaryValue, u, v, \
+ offsetof(x, l) }
+
+#define DFGIBREAK(x) \
+ { DictFilegroupInfo::x, 0, SimpleProperties::InvalidValue, 0, 0, 0 }
+
+struct DictFilegroupInfo {
+ enum KeyValues {
+ FilegroupName = 1,
+ FilegroupType = 2,
+ FilegroupId = 3,
+ FilegroupVersion = 4,
+
+ /**
+ * File parameters
+ */
+ FileName = 100,
+ FileType = 101,
+ FileId = 103,
+ FileFGroupId = 104,
+ FileFGroupVersion = 105,
+ FileSizeHi = 106,
+ FileSizeLo = 107,
+ FileFreeExtents = 108,
+ FileVersion = 109,
+ FileEnd = 199, //
+
+ /**
+ * Tablespace parameters
+ */
+ TS_ExtentSize = 1000, // specified in bytes
+ TS_LogfileGroupId = 1001,
+ TS_LogfileGroupVersion = 1002,
+ TS_GrowLimit = 1003, // In bytes
+ TS_GrowSizeHi = 1004,
+ TS_GrowSizeLo = 1005,
+ TS_GrowPattern = 1006,
+ TS_GrowMaxSize = 1007,
+
+ /**
+ * Logfile group parameters
+ */
+ LF_UndoBufferSize = 2005, // In bytes
+ LF_UndoGrowLimit = 2000, // In bytes
+ LF_UndoGrowSizeHi = 2001,
+ LF_UndoGrowSizeLo = 2002,
+ LF_UndoGrowPattern = 2003,
+ LF_UndoGrowMaxSize = 2004,
+ LF_UndoFreeWordsHi = 2006,
+ LF_UndoFreeWordsLo = 2007
+ };
+
+ // FragmentType constants
+ enum FileTypeValues {
+ Datafile = 0,
+ Undofile = 1
+ //, Redofile
+ };
+
+ struct GrowSpec {
+ Uint32 GrowLimit;
+ Uint32 GrowSizeHi;
+ Uint32 GrowSizeLo;
+ char GrowPattern[PATH_MAX];
+ Uint32 GrowMaxSize;
+ };
+
+ // Table data interpretation
+ struct Filegroup {
+ char FilegroupName[MAX_TAB_NAME_SIZE];
+ Uint32 FilegroupType; // ObjType
+ Uint32 FilegroupId;
+ Uint32 FilegroupVersion;
+
+ union {
+ Uint32 TS_ExtentSize;
+ Uint32 LF_UndoBufferSize;
+ };
+ Uint32 TS_LogfileGroupId;
+ Uint32 TS_LogfileGroupVersion;
+ union {
+ GrowSpec TS_DataGrow;
+ GrowSpec LF_UndoGrow;
+ };
+ //GrowSpec LF_RedoGrow;
+ Uint32 LF_UndoFreeWordsHi;
+ Uint32 LF_UndoFreeWordsLo;
+ Filegroup() {}
+ void init();
+ };
+ static const Uint32 MappingSize;
+ static const SimpleProperties::SP2StructMapping Mapping[];
+
+ struct File {
+ char FileName[PATH_MAX];
+ Uint32 FileType;
+ Uint32 FileId;
+ Uint32 FileVersion;
+ Uint32 FilegroupId;
+ Uint32 FilegroupVersion;
+ Uint32 FileSizeHi;
+ Uint32 FileSizeLo;
+ Uint32 FileFreeExtents;
+
+ File() {}
+ void init();
};
+ static const Uint32 FileMappingSize;
+ static const SimpleProperties::SP2StructMapping FileMapping[];
};
#endif
| Thread |
|---|
| • bk commit into 5.1 tree (tomas:1.2221) | tomas | 27 Jun |