package com.taobao.tddl.repo.bdb.spi; import java.util.Set; import com.sleepycat.je.DatabaseEntry; import com.sleepycat.je.SecondaryDatabase; import com.sleepycat.je.SecondaryKeyCreator; import com.sleepycat.je.SecondaryMultiKeyCreator; import com.taobao.tddl.optimizer.config.table.IndexMeta; /** * @author jianxing <jianxing.qx@taobao.com> */ public class IndexKeyCreator implements SecondaryKeyCreator, SecondaryMultiKeyCreator { IndexMeta primaryMeta; IndexMeta secondaryMeta; // SecondaryKeyGen keygen; public IndexKeyCreator(IndexMeta primaryMeta, IndexMeta secondaryMeta){ this.primaryMeta = primaryMeta; this.secondaryMeta = secondaryMeta; // this.keygen = new SecondaryKeyGen(primaryMeta,secondaryMeta); } @Override public boolean createSecondaryKey(SecondaryDatabase secondary, final DatabaseEntry key, final DatabaseEntry data, final DatabaseEntry result) { // KVPair kv = keygen.createSecondaryRecord(key.getData(), // data.getData()); // result.setData(keygen.getSecondaryKeyCodec().encode(kv.getKey())); // return OperationStatus.SUCCESS == secondary.get(null, result, data, // LockMode.DEFAULT); return true; } @Override public void createSecondaryKeys(SecondaryDatabase secondary, DatabaseEntry key, DatabaseEntry data, Set<DatabaseEntry> results) { // List<KVPair> sKeys = keygen.createSecondaryRecords(key.getData(), // data.getData()); // if (sKeys != null) { // for (KVPair kv : sKeys) { // results.add(new // DatabaseEntry(keygen.getSecondaryKeyCodec().encode(kv.getKey()))); // } // } } }