@Override public StatementHandle prepare(ConnectionHandle ch, String sql, long maxRowCount) { StatementHandle result = super.createStatement(ch); result.signature = newSignature(sql); return result; }
columnMetaDataList.addAll(result.columnMeta); cursor = MetaImpl.createCursor(signature.cursorFactory, result.iterable); return super.execute2(cursor, columnMetaDataList);
public static ColumnMetaData columnMetaData(String name, int index, Class<?> type, int columnNullable) { TypeInfo pair = TypeInfo.m.get(type); ColumnMetaData.Rep rep = ColumnMetaData.Rep.VALUE_MAP.get(type); ColumnMetaData.AvaticaType scalarType = ColumnMetaData.scalar(pair.sqlType, pair.sqlTypeName, rep); return columnMetaData(name, index, scalarType, columnNullable); }
public MetaResultSet getColumns(ConnectionHandle ch, String catalog, Pat schemaPattern, Pat tableNamePattern, Pat columnNamePattern) { return createEmptyResultSet(MetaColumn.class); }
public static List<List<Object>> collect(CursorFactory cursorFactory, final Iterator<Object> iterator, List<List<Object>> list) { final Iterable<Object> iterable = new Iterable<Object>() { public Iterator<Object> iterator() { return iterator; } }; return collect(cursorFactory, iterable, list); }
public static ColumnMetaData columnMetaData(String name, int index, Class<?> type, boolean columnNullable) { return columnMetaData(name, index, type, intForColumnNullable(columnNullable)); }
public <T> Enumerable<T> enumerable(Meta.StatementHandle handle, CalcitePrepare.CalciteSignature<T> signature) throws SQLException { Map<String, Object> map = new LinkedHashMap<>(); AvaticaStatement statement = lookupStatement(handle); final List<TypedValue> parameterValues = TROJAN.getParameterValues(statement); if (MetaImpl.checkParameterValueHasNull(parameterValues)) { throw new SQLException("exception while executing query: unbound parameter"); } for (Ord<TypedValue> o : Ord.zip(parameterValues)) { map.put("?" + o.i, o.e.toLocal()); } map.putAll(signature.internalParameters); final AtomicBoolean cancelFlag; try { cancelFlag = getCancelFlag(handle); } catch (NoSuchStatementException e) { throw new RuntimeException(e); } map.put(DataContext.Variable.CANCEL_FLAG.camelName, cancelFlag); final DataContext dataContext = createDataContext(map, signature.rootSchema); return signature.enumerable(dataContext); }
/** Creates an empty result set. Useful for JDBC metadata methods that are * not implemented or which query entities that are not supported (e.g. * triggers in Lingual). */ protected <E> MetaResultSet createEmptyResultSet(final Class<E> clazz) { return createResultSet(Collections.<String, Object>emptyMap(), fieldMetaData(clazz).columns, CursorFactory.deduce(fieldMetaData(clazz).columns, null), Frame.EMPTY); }
protected static ColumnMetaData.StructType fieldMetaData(Class<?> clazz) { final List<ColumnMetaData> list = new ArrayList<ColumnMetaData>(); for (Field field : clazz.getFields()) { if (Modifier.isPublic(field.getModifiers()) && !Modifier.isStatic(field.getModifiers())) { int columnNullable = getColumnNullability(field); list.add( columnMetaData( AvaticaUtils.camelToUpper(field.getName()), list.size(), field.getType(), columnNullable)); } } return ColumnMetaData.struct(list); }
protected static ColumnMetaData.StructType fieldMetaData(Class<?> clazz) { return MetaImpl.fieldMetaData(clazz); }
frame = fetch(stmt.handle, currentOffset, AvaticaStatement.DEFAULT_FETCH_SIZE); } catch (NoSuchStatementException e) { resetStatement();
public static ColumnMetaData columnMetaData(String name, int index, Class<?> type, int columnNullable) { TypeInfo pair = TypeInfo.m.get(type); ColumnMetaData.Rep rep = ColumnMetaData.Rep.VALUE_MAP.get(type); ColumnMetaData.AvaticaType scalarType = ColumnMetaData.scalar(pair.sqlType, pair.sqlTypeName, rep); return columnMetaData(name, index, scalarType, columnNullable); }
public MetaResultSet getProcedures(ConnectionHandle ch, String catalog, Pat schemaPattern, Pat procedureNamePattern) { return createEmptyResultSet(MetaProcedure.class); }
public static List<List<Object>> collect(CursorFactory cursorFactory, final Iterator<Object> iterator, List<List<Object>> list) { final Iterable<Object> iterable = new Iterable<Object>() { public Iterator<Object> iterator() { return iterator; } }; return collect(cursorFactory, iterable, list); }
public static ColumnMetaData columnMetaData(String name, int index, AvaticaType type, boolean columnNullable) { return columnMetaData(name, index, type, intForColumnNullable(columnNullable)); }
public <T> Enumerable<T> enumerable(Meta.StatementHandle handle, CalcitePrepare.CalciteSignature<T> signature) throws SQLException { Map<String, Object> map = new LinkedHashMap<>(); AvaticaStatement statement = lookupStatement(handle); final List<TypedValue> parameterValues = TROJAN.getParameterValues(statement); if (MetaImpl.checkParameterValueHasNull(parameterValues)) { throw new SQLException("exception while executing query: unbound parameter"); } for (Ord<TypedValue> o : Ord.zip(parameterValues)) { map.put("?" + o.i, o.e.toLocal()); } map.putAll(signature.internalParameters); final AtomicBoolean cancelFlag; try { cancelFlag = getCancelFlag(handle); } catch (NoSuchStatementException e) { throw new RuntimeException(e); } map.put(DataContext.Variable.CANCEL_FLAG.camelName, cancelFlag); final DataContext dataContext = createDataContext(map, signature.rootSchema); return signature.enumerable(dataContext); }
/** Creates an empty result set. Useful for JDBC metadata methods that are * not implemented or which query entities that are not supported (e.g. * triggers in Lingual). */ protected <E> MetaResultSet createEmptyResultSet(final Class<E> clazz) { return createResultSet(Collections.<String, Object>emptyMap(), fieldMetaData(clazz).columns, CursorFactory.deduce(fieldMetaData(clazz).columns, null), Frame.EMPTY); }
protected static ColumnMetaData.StructType fieldMetaData(Class<?> clazz) { final List<ColumnMetaData> list = new ArrayList<ColumnMetaData>(); for (Field field : clazz.getFields()) { if (Modifier.isPublic(field.getModifiers()) && !Modifier.isStatic(field.getModifiers())) { int columnNullable = getColumnNullability(field); list.add( columnMetaData( AvaticaUtils.camelToUpper(field.getName()), list.size(), field.getType(), columnNullable)); } } return ColumnMetaData.struct(list); }
frame = fetch(stmt.handle, currentOffset, AvaticaStatement.DEFAULT_FETCH_SIZE); } catch (NoSuchStatementException e) { resetStatement();
@Override public StatementHandle prepare(ConnectionHandle ch, String sql, long maxRowCount) { StatementHandle result = super.createStatement(ch); result.signature = connection().mockPreparedSignature(sql); return result; }