@Test public void testStringColumnsMetadata() throws Exception { String query = "select varchar_field, char_field, string_field from hive.readtest"; Map<String, Integer> expectedResult = new HashMap<>(); expectedResult.put("varchar_field", 50); expectedResult.put("char_field", 10); expectedResult.put("string_field", HiveVarchar.MAX_VARCHAR_LENGTH); verifyColumnsMetadata(client.createPreparedStatement(query).get() .getPreparedStatement().getColumnsList(), expectedResult); try { test("alter session set `%s` = true", ExecConstants.EARLY_LIMIT0_OPT_KEY); verifyColumnsMetadata(client.createPreparedStatement(String.format("select * from (%s) t limit 0", query)).get() .getPreparedStatement().getColumnsList(), expectedResult); } finally { test("alter session reset `%s`", ExecConstants.EARLY_LIMIT0_OPT_KEY); } }
connection.getClient().executePreparedStatement(preparedStatement.getServerHandle(), resultsListener);
/** * <code>optional .exec.user.PreparedStatement prepared_statement = 2;</code> */ public Builder mergePreparedStatement(org.apache.drill.exec.proto.UserProtos.PreparedStatement value) { if (preparedStatementBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && preparedStatement_ != org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance()) { preparedStatement_ = org.apache.drill.exec.proto.UserProtos.PreparedStatement.newBuilder(preparedStatement_).mergeFrom(value).buildPartial(); } else { preparedStatement_ = value; } onChanged(); } else { preparedStatementBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { initFields(); int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = break; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { done = true; makeExtensionsImmutable();
final PreparedStatement.Builder prepStmtBuilder = PreparedStatement.newBuilder();
connection.getClient().executePreparedStatement(preparedStatement.getServerHandle(), resultsListener);
public Builder mergeFrom(org.apache.drill.exec.proto.UserProtos.PreparedStatement other) { if (other == org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance()) return this; if (columnsBuilder_ == null) { if (!other.columns_.isEmpty()) { if (other.hasServerHandle()) { mergeServerHandle(other.getServerHandle()); this.mergeUnknownFields(other.getUnknownFields()); return this;
public org.apache.drill.exec.proto.UserProtos.PreparedStatement buildPartial() { org.apache.drill.exec.proto.UserProtos.PreparedStatement result = new org.apache.drill.exec.proto.UserProtos.PreparedStatement(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (columnsBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001)) { columns_ = java.util.Collections.unmodifiableList(columns_); bitField0_ = (bitField0_ & ~0x00000001); } result.columns_ = columns_; } else { result.columns_ = columnsBuilder_.build(); } if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000001; } if (serverHandleBuilder_ == null) { result.serverHandle_ = serverHandle_; } else { result.serverHandle_ = serverHandleBuilder_.build(); } result.bitField0_ = to_bitField0_; onBuilt(); return result; }
public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.UserProtos.CreatePreparedStatementResp.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setStatus(org.apache.drill.exec.proto.UserProtos.RequestStatus.valueOf(input.readEnum())); break; case 2: builder.setPreparedStatement(input.mergeObject(org.apache.drill.exec.proto.UserProtos.PreparedStatement.newBuilder(), org.apache.drill.exec.proto.SchemaUserProtos.PreparedStatement.MERGE)); break; case 3: builder.setError(input.mergeObject(org.apache.drill.exec.proto.UserBitShared.DrillPBError.newBuilder(), org.apache.drill.exec.proto.SchemaUserBitShared.DrillPBError.MERGE)); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(org.apache.drill.exec.proto.UserProtos.CreatePreparedStatementResp.Builder builder)
public Builder clear() { super.clear(); status_ = org.apache.drill.exec.proto.UserProtos.RequestStatus.UNKNOWN_STATUS; bitField0_ = (bitField0_ & ~0x00000001); if (preparedStatementBuilder_ == null) { preparedStatement_ = org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance(); } else { preparedStatementBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); if (errorBuilder_ == null) { error_ = org.apache.drill.exec.proto.UserBitShared.DrillPBError.getDefaultInstance(); } else { errorBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000004); return this; }
/** * <code>optional .exec.user.PreparedStatement prepared_statement = 2;</code> */ public Builder mergePreparedStatement(org.apache.drill.exec.proto.UserProtos.PreparedStatement value) { if (preparedStatementBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && preparedStatement_ != org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance()) { preparedStatement_ = org.apache.drill.exec.proto.UserProtos.PreparedStatement.newBuilder(preparedStatement_).mergeFrom(value).buildPartial(); } else { preparedStatement_ = value; } onChanged(); } else { preparedStatementBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
public Builder toBuilder() { return newBuilder(this); }
public int getSerializedSize() { int size = memoizedSerializedSize; if (size != -1) return size; size = 0; for (int i = 0; i < columns_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, columns_.get(i)); } if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, serverHandle_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; }
protected DrillPreparedStatementImpl(DrillConnectionImpl connection, StatementHandle h, Meta.Signature signature, PreparedStatement preparedStatementHandle, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { super(connection, h, signature, resultSetType, resultSetConcurrency, resultSetHoldability); connection.openStatementsRegistry.addStatement(this); this.preparedStatementHandle = preparedStatementHandle; if (preparedStatementHandle != null) { ((DrillColumnMetaDataList) signature.columns).updateColumnMetaData(preparedStatementHandle.getColumnsList()); } }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(org.apache.drill.exec.proto.UserProtos.PreparedStatement prototype) {
/** * <code>optional .exec.user.PreparedStatement prepared_statement = 2;</code> */ public Builder clearPreparedStatement() { if (preparedStatementBuilder_ == null) { preparedStatement_ = org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance(); onChanged(); } else { preparedStatementBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); return this; } /**
public org.apache.drill.exec.proto.UserProtos.PreparedStatement getDefaultInstanceForType() { return org.apache.drill.exec.proto.UserProtos.PreparedStatement.getDefaultInstance(); }
public org.apache.drill.exec.proto.UserProtos.PreparedStatement.Builder newMessage() { return org.apache.drill.exec.proto.UserProtos.PreparedStatement.newBuilder(); } public java.lang.String getFieldName(int number)
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); for (int i = 0; i < columns_.size(); i++) { output.writeMessage(1, columns_.get(i)); } if (((bitField0_ & 0x00000001) == 0x00000001)) { output.writeMessage(2, serverHandle_); } getUnknownFields().writeTo(output); }
public static Builder newBuilder(org.apache.drill.exec.proto.UserProtos.PreparedStatement prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }