You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
теперь при спиллинге сначала будут джоиниться бакеты, которые сейчас есть в памяти, а только потом уже загружаться новые бакеты
commit_hash:bb66673affba8f5f65eb7ab79ce6d09b26f77ec2
const ui64 NumberOfBuckets = (0x00000001 << BitsForNumberOfBuckets); // Number of hashed keys buckets to distribute incoming tables tuples
@@ -108,7 +108,7 @@ class TBloomfilter {
108
108
109
109
/*
110
110
Table data stored in buckets. Table columns are interpreted either as integers, strings or some interface-based type,
111
-
providing IHash, IEquate, IPack and IUnpack functions.
111
+
providing IHash, IEquate, IPack and IUnpack functions.
112
112
External clients should transform (pack) data into appropriate presentation.
113
113
114
114
Key columns always first, following int columns, string columns and interface-based columns.
@@ -135,7 +135,7 @@ struct JoinTuplesIds {
135
135
// To store keys values when making join only for unique keys (any join attribute)
136
136
structKeysHashTable {
137
137
ui64 SlotSize = 0; // Slot size in hash table
138
-
ui64 NSlots = 0; // Total number of slots in table
138
+
ui64 NSlots = 0; // Total number of slots in table
139
139
ui64 FillCount = 0; // Number of ui64 slots which are filled
140
140
std::vector<ui64, TMKQLAllocator<ui64>> Table; // Table to store keys data in particular slots
141
141
std::vector<ui64, TMKQLAllocator<ui64>> SpillData; // Vector to store long data which cannot be fit in single hash table slot.
@@ -148,7 +148,7 @@ struct TTableBucket {
148
148
std::vector<ui32, TMKQLAllocator<ui32>> StringsOffsets; // Vector to store strings values sizes (offsets in StringsValues are calculated) for particular tuple.
149
149
std::vector<char, TMKQLAllocator<char>> InterfaceValues; // Vector to store types to work through external-provided IHash, IEquate interfaces
150
150
std::vector<ui32, TMKQLAllocator<ui32>> InterfaceOffsets; // Vector to store sizes of columns to work through IHash, IEquate interfaces
151
-
std::vector<JoinTuplesIds, TMKQLAllocator<JoinTuplesIds>> JoinIds; // Results of join operations stored as index of tuples in buckets
151
+
std::vector<JoinTuplesIds, TMKQLAllocator<JoinTuplesIds>> JoinIds; // Results of join operations stored as index of tuples in buckets
152
152
// of two tables with the same number
153
153
std::vector<ui32, TMKQLAllocator<ui32>> LeftIds; // Left-side ids missing in other table
154
154
@@ -181,7 +181,7 @@ struct TColTypeInterface {
181
181
NYql::NUdf::IHash::TPtr HashI = nullptr; // Interface to calculate hash of column value
182
182
NYql::NUdf::IEquate::TPtr EquateI = nullptr; // Interface to compare two column values
183
183
std::shared_ptr<TValuePacker> Packer; // Class to pack and unpack column values
184
-
const THolderFactory& HolderFactory; // To use during unpacking
184
+
const THolderFactory& HolderFactory; // To use during unpacking
185
185
};
186
186
187
187
// Class that spills bucket data.
@@ -269,7 +269,7 @@ class TTable {
269
269
ui64 NumberOfDataIntColumns = 0; //Number of integer data columns in the Table
270
270
ui64 NumberOfDataStringColumns = 0; // Number of strings data columns in the Table
271
271
ui64 NumberOfDataIColumns = 0; // Number of interface - provided data columns
272
-
272
+
273
273
TColTypeInterface * ColInterfaces = nullptr; // Array of interfaces to work with corresponding columns data
274
274
275
275
@@ -285,7 +285,7 @@ class TTable {
285
285
ui64 HeaderSize = HashSize + NullsBitmapSize_ + NumberOfKeyIntColumns + NumberOfKeyIColumns + TotalStringsSize; // Header of all tuples size
0 commit comments