Skip to content

Commit

Permalink
feat: Add missing storage related fields to Table, TableInfo and Stan…
Browse files Browse the repository at this point in the history
…dardTableDefinition (#2673)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/java-bigquery/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #2672  ☕️
  • Loading branch information
sumeetgajjar authored Jun 23, 2023
1 parent 08061f1 commit e3003f4
Show file tree
Hide file tree
Showing 7 changed files with 426 additions and 0 deletions.
35 changes: 35 additions & 0 deletions google-cloud-bigquery/clirr-ignored-differences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,41 @@
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*TableConstraints(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumActiveLogicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumActivePhysicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumLongTermLogicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumLongTermPhysicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumTimeTravelPhysicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumTotalLogicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/StandardTableDefinition*</className>
<method>*NumTotalPhysicalBytes(*)</method>
</difference>
<difference>
<differenceType>7013</differenceType>
<className>com/google/cloud/bigquery/TableInfo*</className>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,20 @@ public abstract static class Builder

public abstract Builder setNumLongTermBytes(Long numLongTermBytes);

public abstract Builder setNumTimeTravelPhysicalBytes(Long numTimeTravelPhysicalBytes);

public abstract Builder setNumTotalLogicalBytes(Long numTotalLogicalBytes);

public abstract Builder setNumActiveLogicalBytes(Long numActiveLogicalBytes);

public abstract Builder setNumLongTermLogicalBytes(Long numLongTermLogicalBytes);

public abstract Builder setNumTotalPhysicalBytes(Long numTotalPhysicalBytes);

public abstract Builder setNumActivePhysicalBytes(Long numActivePhysicalBytes);

public abstract Builder setNumLongTermPhysicalBytes(Long numLongTermPhysicalBytes);

public abstract Builder setNumRows(Long numRows);

public abstract Builder setLocation(String location);
Expand Down Expand Up @@ -180,6 +194,62 @@ public abstract static class Builder
@Nullable
public abstract Long getNumLongTermBytes();

/**
* Returns the number of time travel physical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumTimeTravelPhysicalBytes();

/**
* Returns the number of total logical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumTotalLogicalBytes();

/**
* Returns the number of active logical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumActiveLogicalBytes();

/**
* Returns the number of long term logical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumLongTermLogicalBytes();

/**
* Returns the number of total physical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumTotalPhysicalBytes();

/**
* Returns the number of active physical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumActivePhysicalBytes();

/**
* Returns the number of long term physical bytes.
*
* @see <a href="https://cloud.google.com/bigquery/pricing#storage">Storage Pricing</a>
*/
@Nullable
public abstract Long getNumLongTermPhysicalBytes();

/** Returns the number of rows in this table, excluding any data in the streaming buffer. */
@Nullable
public abstract Long getNumRows();
Expand Down Expand Up @@ -255,6 +325,13 @@ Table toPb() {
}
tablePb.setNumBytes(getNumBytes());
tablePb.setNumLongTermBytes(getNumLongTermBytes());
tablePb.setNumTimeTravelPhysicalBytes(getNumTimeTravelPhysicalBytes());
tablePb.setNumTotalLogicalBytes(getNumTotalLogicalBytes());
tablePb.setNumActiveLogicalBytes(getNumActiveLogicalBytes());
tablePb.setNumLongTermLogicalBytes(getNumLongTermLogicalBytes());
tablePb.setNumTotalPhysicalBytes(getNumTotalPhysicalBytes());
tablePb.setNumActivePhysicalBytes(getNumActivePhysicalBytes());
tablePb.setNumLongTermPhysicalBytes(getNumLongTermPhysicalBytes());
tablePb.setLocation(getLocation());
if (getStreamingBuffer() != null) {
tablePb.setStreamingBuffer(getStreamingBuffer().toPb());
Expand Down Expand Up @@ -308,6 +385,27 @@ static StandardTableDefinition fromPb(Table tablePb) {
if (tablePb.getNumLongTermBytes() != null) {
builder.setNumLongTermBytes(tablePb.getNumLongTermBytes());
}
if (tablePb.getNumTimeTravelPhysicalBytes() != null) {
builder.setNumTimeTravelPhysicalBytes(tablePb.getNumTimeTravelPhysicalBytes());
}
if (tablePb.getNumTotalLogicalBytes() != null) {
builder.setNumTotalLogicalBytes(tablePb.getNumTotalLogicalBytes());
}
if (tablePb.getNumActiveLogicalBytes() != null) {
builder.setNumActiveLogicalBytes(tablePb.getNumActiveLogicalBytes());
}
if (tablePb.getNumLongTermLogicalBytes() != null) {
builder.setNumLongTermLogicalBytes(tablePb.getNumLongTermLogicalBytes());
}
if (tablePb.getNumTotalPhysicalBytes() != null) {
builder.setNumTotalPhysicalBytes(tablePb.getNumTotalPhysicalBytes());
}
if (tablePb.getNumActivePhysicalBytes() != null) {
builder.setNumActivePhysicalBytes(tablePb.getNumActivePhysicalBytes());
}
if (tablePb.getNumLongTermPhysicalBytes() != null) {
builder.setNumLongTermPhysicalBytes(tablePb.getNumLongTermPhysicalBytes());
}
if (tablePb.getTableConstraints() != null) {
builder.setTableConstraints(TableConstraints.fromPb(tablePb.getTableConstraints()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,48 @@ Builder setNumLongTermBytes(Long numLongTermBytes) {
return this;
}

@Override
Builder setNumTimeTravelPhysicalBytes(Long numTimeTravelPhysicalBytes) {
infoBuilder.setNumTimeTravelPhysicalBytes(numTimeTravelPhysicalBytes);
return this;
}

@Override
Builder setNumTotalLogicalBytes(Long numTotalLogicalBytes) {
infoBuilder.setNumTotalLogicalBytes(numTotalLogicalBytes);
return this;
}

@Override
Builder setNumActiveLogicalBytes(Long numActiveLogicalBytes) {
infoBuilder.setNumActiveLogicalBytes(numActiveLogicalBytes);
return this;
}

@Override
Builder setNumLongTermLogicalBytes(Long numLongTermLogicalBytes) {
infoBuilder.setNumLongTermLogicalBytes(numLongTermLogicalBytes);
return this;
}

@Override
Builder setNumTotalPhysicalBytes(Long numTotalPhysicalBytes) {
infoBuilder.setNumTotalPhysicalBytes(numTotalPhysicalBytes);
return this;
}

@Override
Builder setNumActivePhysicalBytes(Long numActivePhysicalBytes) {
infoBuilder.setNumActivePhysicalBytes(numActivePhysicalBytes);
return this;
}

@Override
Builder setNumLongTermPhysicalBytes(Long numLongTermPhysicalBytes) {
infoBuilder.setNumLongTermPhysicalBytes(numLongTermPhysicalBytes);
return this;
}

@Override
Builder setNumRows(BigInteger numRows) {
infoBuilder.setNumRows(numRows);
Expand Down
Loading

0 comments on commit e3003f4

Please sign in to comment.