Esempio n. 1
0
BWTreeIndex<KeyType, ValueType, KeyComparator, KeyEqualityChecker>::BWTreeIndex(
    IndexMetadata *metadata)
    : Index(metadata),
      container(KeyComparator(metadata)), // 
      equals(metadata),
      comparator(metadata) {
  // Add your implementation here
}
Esempio n. 2
0
BWTreeIndex<KeyType, ValueType, KeyComparator, KeyEqualityChecker>::BWTreeIndex(
    IndexMetadata *metadata)
    : Index(metadata),
      container(KeyComparator(metadata), KeyEqualityChecker(metadata)),
      equals(metadata),
      comparator(metadata) {
  // Add your implementation here
  // Set min key of bwtree
  auto schema = metadata->GetKeySchema();
  auto col_count = schema->GetColumnCount();
  std::unique_ptr<storage::Tuple> min_key_tuple(new storage::Tuple(metadata->GetKeySchema(), true));

  for (oid_t column_itr = 0; column_itr < col_count; column_itr++) {
    auto value_type = schema->GetType(column_itr);
    min_key_tuple->SetValue(column_itr, Value::GetMinValue(value_type), GetPool());
  }

  KeyType min_key;
  min_key.SetFromKey(min_key_tuple.get());

  container.SetMinKey(min_key);
  container.Init();
}
Esempio n. 3
0
BTREE_TEMPLATE_ARGUMENT
BTreeIndex<KeyType, ValueType, KeyComparator, KeyEqualityChecker>::BTreeIndex(
    IndexMetadata *metadata)
    : Index(metadata), container(KeyComparator()), equals(), comparator() {}
Esempio n. 4
0
BTreeIndex<KeyType, ValueType, KeyComparator, KeyEqualityChecker>::BTreeIndex(
    IndexMetadata *metadata)
    : Index(metadata),
      container(KeyComparator(metadata)),
      equals(metadata),
      comparator(metadata){}