当前位置: 首页>>代码示例>>Java>>正文


Java ICursorMeta类代码示例

本文整理汇总了Java中com.taobao.tddl.executor.cursor.ICursorMeta的典型用法代码示例。如果您正苦于以下问题:Java ICursorMeta类的具体用法?Java ICursorMeta怎么用?Java ICursorMeta使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ICursorMeta类属于com.taobao.tddl.executor.cursor包,在下文中一共展示了ICursorMeta类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildSchemaFromReturnColumns

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
protected void buildSchemaFromReturnColumns(List<ColumnMeta> leftColumns, List<ColumnMeta> rightColumns)
                                                                                                        throws TddlException {
    if (schemaInited) {
        return;
    }

    schemaInited = true;
    // 以左面数据顺序,作为排序
    setOrderBy(left_cursor);

    List<ColumnMeta> newJoinColumnMsg = new ArrayList<ColumnMeta>(leftColumns.size() + rightColumns.size());

    newJoinColumnMsg.addAll(leftColumns);
    newJoinColumnMsg.addAll(rightColumns);

    ICursorMeta cursorMetaImpJoin = CursorMetaImp.buildNew(newJoinColumnMsg);

    rightCursorOffset = leftColumns.size();
    this.joinCursorMeta = cursorMetaImpJoin;
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:21,代码来源:JoinSchematicCursor.java

示例2: buildSchemaFromReturnColumns

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
protected void buildSchemaFromReturnColumns(List<ColumnMeta> leftColumns, List<ColumnMeta> rightColumns) {
    if (schemaInited) {
        return;
    }

    schemaInited = true;
    // 以左面数据顺序,作为排序
    setOrderBy(left_cursor);

    List<ColumnMeta> newJoinColumnMsg = new ArrayList<ColumnMeta>(leftColumns.size() + rightColumns.size());

    newJoinColumnMsg.addAll(leftColumns);
    newJoinColumnMsg.addAll(rightColumns);

    ICursorMeta cursorMetaImpJoin = CursorMetaImp.buildNew(newJoinColumnMsg);

    rightCursorOffset = leftColumns.size();
    this.joinCursorMeta = cursorMetaImpJoin;
}
 
开发者ID:beebeandwer,项目名称:TDDL,代码行数:20,代码来源:JoinSchematicCursor.java

示例3: getComp

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public static Comparator<IRowSet> getComp(final List<ISelectable> left_columns,
                                          final List<ISelectable> right_columns, final ICursorMeta leftMeta,
                                          final ICursorMeta rightMeta) {
    return new Comparator<IRowSet>() {

        public IRowsValueScaner leftScaner  = new RowsValueScanerImp(leftMeta, left_columns);
        public IRowsValueScaner rightScaner = new RowsValueScanerImp(rightMeta, right_columns);

        /*
         * 沈洵
         * 这个代码与com.taobao.ustore.spi.cursor.common.SortCursor.getComp(List
         * <IOrderBy> orderBys)
         * 唯一的不同,也只有compare的时候需要两个列的list,并且没有asc和desc条件。其他逻辑类似。
         */
        @Override
        public int compare(IRowSet o1, IRowSet o2) {
            Iterator<Object> leftIter = leftScaner.rowValueIterator(o1);
            Iterator<Object> rightIter = rightScaner.rowValueIterator(o2);
            for (int i = 0; i < left_columns.size(); i++) {
                Object c1 = leftIter.next();
                Object c2 = rightIter.next();
                int n = comp(c1, c2, left_columns.get(i).getDataType(), right_columns.get(i).getDataType());
                if (n != 0) {
                    return n;
                }
            }
            return 0;
        }
    };
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:31,代码来源:ExecUtils.java

示例4: convertToICursorMeta

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public static ICursorMeta convertToICursorMeta(IQueryTree query) {
    if (query.getSql() != null) {
        return null;
    }
    ICursorMeta iCursorMeta = null;
    List<ColumnMeta> columns = convertISelectablesToColumnMeta(query.getColumns(),
        query.getAlias(),
        query.isSubQuery());
    iCursorMeta = CursorMetaImp.buildNew(columns, columns.size());
    return iCursorMeta;
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:12,代码来源:ExecUtils.java

示例5: getObject

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public static Object getObject(final ICursorMeta meta, IRowSet rowSet, String tableName, String columnName,
                               String columnAlias) {
    Integer index = meta.getIndex(tableName, columnName, columnAlias);
    if (index == null) {
        throw new RuntimeException("not found :" + tableName + "." + columnName + " in ICursorMeta:" + meta);
    }
    return rowSet.getObject(index);
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:9,代码来源:ExecUtils.java

示例6: schematicCursor

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
@Override
public ISchematicCursor schematicCursor(ExecutionContext executionContext, Cursor cursor, ICursorMeta meta,
                                        List<IOrderBy> orderBys) throws TddlException {
    try {
        return new SchematicCursor(cursor, meta, orderBys);
    } catch (Exception e) {
        closeParentCursor(cursor);
        throw new TddlException(e);
    }
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:11,代码来源:CursorFactoryDefaultImpl.java

示例7: mergeCursor

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
@Override
public IMergeCursor mergeCursor(ExecutionContext executionContext, List<ISchematicCursor> cursors,
                                ICursorMeta indexMeta, IMerge currentExecotor, List<IOrderBy> orderBys)
                                                                                                       throws TddlException {
    try {
        return new MergeCursor(cursors, indexMeta, currentExecotor, executionContext, orderBys);
    } catch (Exception e) {
        if (cursors != null) {
            for (ISchematicCursor iSchematicCursor : cursors) {
                closeParentCursor(iSchematicCursor);
            }
        }
        throw new TddlException(e);
    }
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:16,代码来源:CursorFactoryDefaultImpl.java

示例8: initComparator

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
protected void initComparator(List<IOrderBy> orderBys, ICursorMeta cursorMeta) {
    if (schemaInited) {
        return;
    }
    schemaInited = true;
    if (orderBys != null) {
        this.kvPairComparator = ExecUtils.getComp(orderBys, cursorMeta);
    }
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:10,代码来源:SortCursor.java

示例9: wrap

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public static IRowSet wrap(ICursorMeta newCursorMeta, IRowSet target,
                           Map<Integer/* 返回列中的index位置 */, Integer/* 实际数据中的index位置 */> mapping) {
    if (target == null) {
        return null;
    }
    return new ValueMappingRowSet(newCursorMeta, target, mapping);
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:8,代码来源:ValueMappingCursor.java

示例10: initSchema

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
protected ICursorMeta initSchema() {
    if (schemaInited) {
        return cursormeta;
    }
    schemaInited = true;
    ColumnMessage colMeta = new ColumnMessage(ResultCursor.AFFECT_ROW, DataType.IntegerType);
    CursorMetaImp cursurMetaImp = CursorMetaImp.buildNew("", Arrays.asList(colMeta), 1);
    this.cursormeta = cursurMetaImp;
    return cursurMetaImp;
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:11,代码来源:AffectRowCursor.java

示例11: buildSchemaInJoin

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
protected void buildSchemaInJoin(ICursorMeta leftCursorMeta, ICursorMeta rightCursorMeta) throws TddlException {
    if (schemaInited) {
        return;
    }

    schemaInited = true;
    // 以左面数据顺序,作为排序
    setOrderBy(left_cursor);

    List<ColumnMeta> leftColumns = leftCursorMeta.getColumns();
    List<ColumnMeta> rightColumns = rightCursorMeta.getColumns();
    this.kvPairComparator = ExecUtils.getComp(this.leftJoinOnColumns,
        this.rightJoinOnColumns,
        leftCursorMeta,
        rightCursorMeta);
    List<ColumnMeta> newJoinColumnMsg = new ArrayList<ColumnMeta>(leftColumns.size() + rightColumns.size());
    rightCursorOffset = leftCursorMeta.getIndexRange();
    newJoinColumnMsg.addAll(leftColumns);
    newJoinColumnMsg.addAll(rightColumns);
    List<Integer> indexes = new ArrayList<Integer>(newJoinColumnMsg.size());
    addIndexToNewIndexes(leftCursorMeta, leftColumns, indexes, 0);
    addIndexToNewIndexes(rightCursorMeta, rightColumns, indexes, rightCursorOffset);
    ICursorMeta cursorMetaImpJoin = CursorMetaImp.buildNew(newJoinColumnMsg,
        indexes,
        (leftCursorMeta.getIndexRange() + rightCursorMeta.getIndexRange()));
    // setMeta(cursorMetaImpJoin);

    this.joinCursorMeta = cursorMetaImpJoin;

}
 
开发者ID:loye168,项目名称:tddl5,代码行数:31,代码来源:JoinSchematicCursor.java

示例12: addIndexToNewIndexes

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
private void addIndexToNewIndexes(ICursorMeta cursorMeta, List<ColumnMeta> columns, List<Integer> indexes,
                                  int offset) {
    for (ColumnMeta cm : columns) {
        Integer index = cursorMeta.getIndex(cm.getTableName(), cm.getName(), cm.getAlias());

        indexes.add(offset + index);
    }
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:9,代码来源:JoinSchematicCursor.java

示例13: joinRecord

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public IRowSet joinRecord(IRowSet kv1, IRowSet kv2) throws TddlException {
    ICursorMeta leftCursorMeta = null;
    ICursorMeta rightCursorMeta = null;
    if (kv1 != null) {
        leftCursorMeta = kv1.getParentCursorMeta();
    }
    if (kv2 != null) {
        rightCursorMeta = kv2.getParentCursorMeta();
    }
    buildSchemaInJoin(leftCursorMeta, rightCursorMeta);

    IRowSet joinedRowSet = new JoinRowSet(rightCursorOffset, kv1, kv2, joinCursorMeta);
    return joinedRowSet;
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:15,代码来源:JoinSchematicCursor.java

示例14: MergeCursor

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public MergeCursor(List<ISchematicCursor> cursors, ICursorMeta iCursorMeta, IMerge merge,
                   ExecutionContext executionContext, List<IOrderBy> orderBys){
    super(null, iCursorMeta, orderBys);
    this.cursors = cursors;

    this.merge = merge;
    this.executionContext = executionContext;
    setOrderBy(orderBys);
}
 
开发者ID:loye168,项目名称:tddl5,代码行数:10,代码来源:MergeCursor.java

示例15: RowsValueScanerImp

import com.taobao.tddl.executor.cursor.ICursorMeta; //导入依赖的package包/类
public RowsValueScanerImp(ICursorMeta cursorMeta, List<ISelectable> left_columns){
    super();
    this.cursorMeta = cursorMeta;
    this.columnsYouWant = left_columns;
    indexList = new ArrayList<Integer>(left_columns.size());
    for (ISelectable icol : left_columns) {
        Integer index = this.cursorMeta.getIndex(icol.getTableName(), icol.getColumnName(), icol.getAlias());

        indexList.add(index);
    }

}
 
开发者ID:loye168,项目名称:tddl5,代码行数:13,代码来源:RowsValueScanerImp.java


注:本文中的com.taobao.tddl.executor.cursor.ICursorMeta类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。