Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import io.trino.spi.connector.Constraint;
import io.trino.spi.connector.ConstraintApplicationResult;
import io.trino.spi.connector.InMemoryRecordSet;
import io.trino.spi.connector.LimitApplicationResult;
import io.trino.spi.connector.ProjectionApplicationResult;
import io.trino.spi.connector.RecordCursor;
import io.trino.spi.connector.SchemaNotFoundException;
Expand Down Expand Up @@ -396,24 +395,6 @@ public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle
client.dropTable(tableId);
}

@Override
public Optional<LimitApplicationResult<ConnectorTableHandle>> applyLimit(
ConnectorSession session,
ConnectorTableHandle handle,
long limit)
{
log.debug("applyLimit(session=%s, handle=%s, limit=%s)", session, handle, limit);
BigQueryTableHandle bigQueryTableHandle = (BigQueryTableHandle) handle;

if (bigQueryTableHandle.getLimit().isPresent() && bigQueryTableHandle.getLimit().getAsLong() <= limit) {
return Optional.empty();
}

bigQueryTableHandle = bigQueryTableHandle.withLimit(limit);

return Optional.of(new LimitApplicationResult<>(bigQueryTableHandle, false, false));
}

@Override
public Optional<ProjectionApplicationResult<ConnectorTableHandle>> applyProjection(
ConnectorSession session,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.OptionalLong;

import static com.google.common.base.MoreObjects.toStringHelper;
import static java.util.Objects.requireNonNull;
Expand All @@ -37,23 +36,20 @@ public class BigQueryTableHandle
private final String type;
private final TupleDomain<ColumnHandle> constraint;
private final Optional<List<ColumnHandle>> projectedColumns;
private final OptionalLong limit;

@JsonCreator
public BigQueryTableHandle(
@JsonProperty("schemaTableName") SchemaTableName schemaTableName,
@JsonProperty("remoteTableName") RemoteTableName remoteTableName,
@JsonProperty("type") String type,
@JsonProperty("constraint") TupleDomain<ColumnHandle> constraint,
@JsonProperty("projectedColumns") Optional<List<ColumnHandle>> projectedColumns,
@JsonProperty("limit") OptionalLong limit)
@JsonProperty("projectedColumns") Optional<List<ColumnHandle>> projectedColumns)
{
this.schemaTableName = requireNonNull(schemaTableName, "schemaTableName is null");
this.remoteTableName = requireNonNull(remoteTableName, "remoteTableName is null");
this.type = requireNonNull(type, "type is null");
this.constraint = requireNonNull(constraint, "constraint is null");
this.projectedColumns = requireNonNull(projectedColumns, "projectedColumns is null");
this.limit = requireNonNull(limit, "limit is null");
}

public BigQueryTableHandle(SchemaTableName schemaTableName, RemoteTableName remoteTableName, TableInfo tableInfo)
Expand All @@ -63,8 +59,7 @@ public BigQueryTableHandle(SchemaTableName schemaTableName, RemoteTableName remo
remoteTableName,
tableInfo.getDefinition().getType().toString(),
TupleDomain.all(),
Optional.empty(),
OptionalLong.empty());
Optional.empty());
}

@JsonProperty
Expand Down Expand Up @@ -97,12 +92,6 @@ public Optional<List<ColumnHandle>> getProjectedColumns()
return projectedColumns;
}

@JsonProperty
public OptionalLong getLimit()
{
return limit;
}

@Override
public boolean equals(Object o)
{
Expand All @@ -118,14 +107,13 @@ public boolean equals(Object o)
return Objects.equals(schemaTableName, that.schemaTableName) &&
Objects.equals(type, that.type) &&
Objects.equals(constraint, that.constraint) &&
Objects.equals(projectedColumns, that.projectedColumns) &&
Objects.equals(limit, that.limit);
Objects.equals(projectedColumns, that.projectedColumns);
}

@Override
public int hashCode()
{
return Objects.hash(schemaTableName, type, constraint, projectedColumns, limit);
return Objects.hash(schemaTableName, type, constraint, projectedColumns);
}

@Override
Expand All @@ -137,22 +125,16 @@ public String toString()
.add("type", type)
.add("constraint", constraint)
.add("projectedColumns", projectedColumns)
.add("limit", limit)
.toString();
}

BigQueryTableHandle withConstraint(TupleDomain<ColumnHandle> newConstraint)
{
return new BigQueryTableHandle(schemaTableName, remoteTableName, type, newConstraint, projectedColumns, limit);
return new BigQueryTableHandle(schemaTableName, remoteTableName, type, newConstraint, projectedColumns);
}

BigQueryTableHandle withProjectedColumns(List<ColumnHandle> newProjectedColumns)
{
return new BigQueryTableHandle(schemaTableName, remoteTableName, type, constraint, Optional.of(newProjectedColumns), limit);
}

BigQueryTableHandle withLimit(long newLimit)
{
return new BigQueryTableHandle(schemaTableName, remoteTableName, type, constraint, projectedColumns, OptionalLong.of(newLimit));
return new BigQueryTableHandle(schemaTableName, remoteTableName, type, constraint, Optional.of(newProjectedColumns));
}
}