List <IVector> createListVector() { int cols = colTypes_.Count; BasicEntityFactory basicEntityFactory = (BasicEntityFactory)BasicEntityFactory.instance(); List <IVector> tmp = new List <IVector>(); for (int i = 0; i < cols; ++i) { tmp.Add(basicEntityFactory.createVectorWithDefaultValue(colTypes_[i], 0)); } return(tmp); }
public ErrorCodeInfo insertUnwrittenData(List <List <IEntity> > data) { if (hasError_) { throw new Exception("Thread is exiting. "); } BasicEntityFactory basicEntityFactory = (BasicEntityFactory)BasicEntityFactory.instance(); ErrorCodeInfo errorCodeInfo = new ErrorCodeInfo(); IVector partitionCol = basicEntityFactory.createVectorWithDefaultValue(colTypes_[partitionColumnIdx_], data.Count); int rows = data.Count; for (int i = 0; i < rows; ++i) { partitionCol.set(i, (IScalar)data[i][partitionColumnIdx_]); } if (threads_.Count() > 1) { List <int> threadindexs = new List <int>(); BasicEntityFactory factory = (BasicEntityFactory)BasicEntityFactory.instance(); if (isPartionedTable_) { threadindexs = partitionDomain_.getPartitionKeys(partitionCol); } else { for (int i = 0; i < rows; ++i) { threadindexs.Add(partitionCol.get(i).GetHashCode()); } } for (int i = 0; i < rows; ++i) { insertThreadWrite(threadindexs[i], data[i]); } } else { for (int i = 0; i < rows; ++i) { insertThreadWrite(0, data[i]); } } return(new ErrorCodeInfo()); }
ErrorCodeInfo insertRecursive(List <IEntity> args) { ErrorCodeInfo errorCodeInfo = new ErrorCodeInfo(); if (!suitableType(errorCodeInfo, args)) { return(errorCodeInfo); } int threadindex; if (threads_.Count() > 1) { BasicEntityFactory factory = (BasicEntityFactory)BasicEntityFactory.instance(); if (isPartionedTable_) { { try { threadindex = partitionDomain_.getPartitionKey((IScalar)args[partitionColumnIdx_]); } catch (Exception e) { return(new ErrorCodeInfo(ErrorCodeInfo.Code.EC_InvalidObject, e.Message)); } } } else { threadindex = args[threadByColIndexForNonPartion_].GetHashCode(); } } else { threadindex = 0; } insertThreadWrite(threadindex, args); return(errorCodeInfo); }