@SuppressWarnings({ "rawtypes", "unchecked" }) private MetaResultSet createResultSet(List iterable, Class clazz, String... names) { final List<ColumnMetaData> columns = new ArrayList<ColumnMetaData>(); final List<Field> fields = new ArrayList<Field>(); final List<String> fieldNames = new ArrayList<String>(); for (String name : names) { final int index = fields.size(); final String fieldName = AvaticaUtils.toCamelCase(name); final Field field; try { field = clazz.getField(fieldName); } catch (NoSuchFieldException e) { throw new RuntimeException(e); } columns.add(columnMetaData(name, index, field.getType(), true)); fields.add(field); fieldNames.add(fieldName); } CursorFactory cursorFactory = CursorFactory.record(clazz, fields, fieldNames); Signature signature = new Signature(columns, "", null, Collections.<String, Object> emptyMap(), cursorFactory, StatementType.SELECT); StatementHandle sh = this.createStatement(connection().handle); Frame frame = new Frame(0, true, iterable); return MetaResultSet.create(connection().id, sh.id, true, signature, frame); }
Meta.Signature signature = Meta.Signature.create( fieldMetaData.columns, "", Collections.<AvaticaParameter>emptyList(), CursorFactory.record(clazz), Meta.StatementType.SELECT);
Frame frame = new Frame(0, true, row); Signature signature = Signature.create(columns, sql, Collections.<AvaticaParameter>emptyList(), factory, StatementType.SELECT); try {
Frame frame = new Frame(0, true, row); Signature signature = Signature.create(columns, sql, Collections.<AvaticaParameter>emptyList(), factory, StatementType.SELECT); try {
Signature signature = Signature.create(columns, "sql", params, cursorFactory, Meta.StatementType.SELECT); Frame frame = Frame.create(Integer.MAX_VALUE, true, rows);
Signature signature = Signature.create(columns, "sql", params, cursorFactory, Meta.StatementType.SELECT); Frame frame = Frame.create(Integer.MAX_VALUE, true, rows);
Signature signature = Signature.create(columns, "sql", params, cursorFactory, Meta.StatementType.SELECT); Frame frame = Frame.create(Integer.MAX_VALUE, true, rows);
Meta.CursorFactory cursorFactory = Meta.CursorFactory.create(Style.LIST, Object.class, Collections.<String>emptyList()); Signature signature = Signature.create(columns, "sql", params, cursorFactory, Meta.StatementType.SELECT); Meta.StatementHandle handle = new Meta.StatementHandle("1234", 1, signature);
"select * from (\\n values (1, 'a'), (null, 'b'), (3, 'c')) as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class, true), "select * from (\\n values(1, 'a'), (null, 'b'), (3, 'c')), as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class, true), new ColumnsRequest(connectionId, null, null, "my_table", null), new ResultSetResponse("00000000-0000-0000-0000-000000000000", -1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("TABLE_NAME", 0, String.class, true),
"select * from (\\n values (1, 'a'), (null, 'b'), (3, 'c')) as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class), MetaImpl.columnMetaData("C2", 1, String.class)), null, null, Meta.CursorFactory.ARRAY, Meta.StatementType.SELECT), Meta.Frame.create(0, true, Arrays.<Object>asList(new Object[] {1, "a"}, new Object[] {null, "b"}, new Object[] {3, "c"})), -1, null)); "select * from (\\n values(1, 'a'), (null, 'b'), (3, 'c')), as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class), new ColumnsRequest(connectionId, null, null, "my_table", null), new ResultSetResponse("00000000-0000-0000-0000-000000000000", -1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("TABLE_NAME", 0, String.class),
Meta.CursorFactory cursorFactory = Meta.CursorFactory.create(Style.LIST, Object.class, Collections.<String>emptyList()); Signature signature = Signature.create(columns, "sql", params, cursorFactory, Meta.StatementType.SELECT); Meta.StatementHandle handle = new Meta.StatementHandle("1234", 1, signature);
"select * from (\\n values (1, 'a'), (null, 'b'), (3, 'c')) as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class, true), "select * from (\\n values(1, 'a'), (null, 'b'), (3, 'c')), as t (c1, c2)", -1), new ResultSetResponse("0", 1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("C1", 0, Integer.class, true), new ColumnsRequest(connectionId, null, null, "my_table", null), new ResultSetResponse("00000000-0000-0000-0000-000000000000", -1, true, Meta.Signature.create( Arrays.<ColumnMetaData>asList( MetaImpl.columnMetaData("TABLE_NAME", 0, String.class, true),
final List<ColumnMetaData> columns = getColumnMetaDataList(typeFactory, x, jdbcType); Meta.Signature signature = new Meta.Signature(columns, sql, new ArrayList<AvaticaParameter>(),
signature = signature.setCursorFactory(cursorFactory);
signature = signature.setCursorFactory(cursorFactory);
signature = signature.setCursorFactory(cursorFactory);
this.maxRowCount = maxRowCount; this.query = query; this.signature = Meta.Signature.create( createColumnMetaData(plannerResult.rowType()), query,
Meta.Signature signature = Meta.Signature.create( fieldMetaData.columns, "", Collections.<AvaticaParameter>emptyList(), CursorFactory.record(clazz), Meta.StatementType.SELECT);
Meta.Signature signature = Meta.Signature.create( fieldMetaData.columns, "", Collections.<AvaticaParameter>emptyList(), CursorFactory.record(clazz), StatementType.SELECT);
@Override public ResultSet create(AvaticaType elementType, Iterable<Object> elements) throws SQLException { // The ColumnMetaData for offset "1" in the ResultSet for an Array. ScalarType arrayOffsetType = ColumnMetaData.scalar(Types.INTEGER, "INTEGER", Rep.PRIMITIVE_INT); // Two columns (types) in the ResultSet we will create List<ColumnMetaData> types = Arrays.asList(ColumnMetaData.dummy(arrayOffsetType, false), ColumnMetaData.dummy(elementType, true)); List<List<Object>> rows = createResultSetRowsForArrayData(elements); // `(List<Object>) rows` is a compile error. @SuppressWarnings({ "unchecked", "rawtypes" }) List<Object> untypedRows = (List<Object>) ((List) rows); try (ListIteratorCursor cursor = new ListIteratorCursor(rows.iterator())) { final String sql = "MOCKED"; QueryState state = new QueryState(sql); Meta.Signature signature = new Meta.Signature(types, sql, Collections.<AvaticaParameter>emptyList(), Collections.<String, Object>emptyMap(), Meta.CursorFactory.LIST, Meta.StatementType.SELECT); AvaticaResultSetMetaData resultSetMetaData = new AvaticaResultSetMetaData(null, sql, signature); Meta.Frame frame = new Meta.Frame(0, true, untypedRows); AvaticaResultSet resultSet = new AvaticaResultSet(null, state, signature, resultSetMetaData, timeZone, frame); resultSet.execute2(cursor, types); return resultSet; } }