/** * Ctor. * * @param cursor Cursor. * @param pageSize Page size. * @param ctx Context. */ ClientCacheFieldsQueryCursor(FieldsQueryCursor<List> cursor, int pageSize, ClientConnectionContext ctx) { super(cursor, pageSize, ctx); columnCount = cursor.getColumnsCount(); }
/** * Read colon names from cursor. * * @param cursor source of metadata. * @return List containing colon names. */ private static List<String> readColNames(FieldsQueryCursor<?> cursor) { ArrayList<String> colNames = new ArrayList<>(); for (int i = 0; i < cursor.getColumnsCount(); i++) colNames.add(cursor.getFieldName(i)); return Collections.unmodifiableList(colNames); }
String[] colNames = new String[cur.getColumnsCount()]; for (int i = 0; i < colNames.length; ++i) { String colName = cur.getFieldName(i);
/** {@inheritDoc} */ @Override public void processOutStream(int type, final BinaryRawWriterEx writer) throws IgniteCheckedException { if (type == OP_GET_FIELD_NAMES) { FieldsQueryCursor fq = (FieldsQueryCursor) cursor(); int cnt = fq.getColumnsCount(); writer.writeInt(cnt); for (int i = 0; i < cnt; i++) { writer.writeString(fq.getFieldName(i)); } } else { super.processOutStream(type, writer); } } }
/** {@inheritDoc} */ @Override public void encode(BinaryRawWriterEx writer) { super.encode(writer); writer.writeLong(cursor.id()); int cnt = fieldsCursor.getColumnsCount(); writer.writeInt(cnt); if (includeFieldNames) { for (int i = 0; i < cnt; i++) { writer.writeString(fieldsCursor.getFieldName(i)); } } cursor.writePage(writer); } }
/** * */ private void executeQuery() { IgniteCache<?, ?> cache = grid(1).cache("person"); SqlFieldsQuery qry = new SqlFieldsQuery("select name as \"Full Name\", age from person where age > 10"); FieldsQueryCursor<List<?>> qryCursor = cache.query(qry); assertEquals(2, qryCursor.getAll().size()); assertEquals(2, qryCursor.getColumnsCount()); // Row contains "name" and "age" fields. assertEquals("Full Name", qryCursor.getFieldName(0)); assertEquals("AGE", qryCursor.getFieldName(1)); }
/** * Ctor. * * @param cursor Cursor. * @param pageSize Page size. * @param ctx Context. */ ClientCacheFieldsQueryCursor(FieldsQueryCursor<List> cursor, int pageSize, ClientConnectionContext ctx) { super(cursor, pageSize, ctx); columnCount = cursor.getColumnsCount(); }
/** {@inheritDoc} */ @Override public void processOutStream(int type, final BinaryRawWriterEx writer) throws IgniteCheckedException { if (type == OP_GET_FIELD_NAMES) { FieldsQueryCursor fq = (FieldsQueryCursor) cursor(); int cnt = fq.getColumnsCount(); writer.writeInt(cnt); for (int i = 0; i < cnt; i++) { writer.writeString(fq.getFieldName(i)); } } else { super.processOutStream(type, writer); } } }
/** {@inheritDoc} */ @Override public void encode(BinaryRawWriterEx writer) { super.encode(writer); writer.writeLong(cursor.id()); int cnt = fieldsCursor.getColumnsCount(); writer.writeInt(cnt); if (includeFieldNames) { for (int i = 0; i < cnt; i++) { writer.writeString(fieldsCursor.getFieldName(i)); } } cursor.writePage(writer); } }