@Override public final boolean equals(Object obj) { return obj == this || obj != null && obj.getClass().equals(QueryStatistics.class) && baseEquals((QueryStatistics) obj); }
@Override public final int hashCode() { return Objects.hash( baseHashCode(), billingTier, cacheHit, totalBytesBilled, totalBytesProcessed, queryPlan, schema); }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb( com.google.api.services.bigquery.model.JobStatistics statisticPb) { if (statisticPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (statisticPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (statisticPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else { return (T) CopyStatistics.fromPb(statisticPb); } } }
@Override public final int hashCode() { return Objects.hash(baseHashCode(), billingTier, cacheHit, totalBytesBilled, totalBytesProcessed, queryPlan); }
@Override QueryStatistics build() { return new QueryStatistics(this); } }
@Override public final int hashCode() { return Objects.hash( baseHashCode(), billingTier, cacheHit, totalBytesBilled, totalBytesProcessed, queryPlan, schema); }
@Override public final boolean equals(Object obj) { return obj == this || obj != null && obj.getClass().equals(QueryStatistics.class) && baseEquals((QueryStatistics) obj); }
@Override public final boolean equals(Object obj) { return obj == this || obj != null && obj.getClass().equals(QueryStatistics.class) && baseEquals((QueryStatistics) obj); }
@Override QueryStatistics build() { return new QueryStatistics(this); } }
assertEquals(CREATION_TIME, QUERY_STATISTICS.getCreationTime()); assertEquals(START_TIME, QUERY_STATISTICS.getStartTime()); assertEquals(END_TIME, QUERY_STATISTICS.getEndTime()); assertEquals(BILLING_TIER, QUERY_STATISTICS.getBillingTier()); assertEquals(CACHE_HIT, QUERY_STATISTICS.getCacheHit()); assertEquals(DDL_OPERATION_PERFORMED, QUERY_STATISTICS.getDdlOperationPerformed()); assertEquals(DDL_TARGET_TABLE, QUERY_STATISTICS.getDdlTargetTable()); assertEquals(ESTIMATE_BYTES_PROCESSED, QUERY_STATISTICS.getEstimatedBytesProcessed()); assertEquals(NUM_DML_AFFECTED_ROWS, QUERY_STATISTICS.getNumDmlAffectedRows()); assertEquals(REFERENCED_TABLES, QUERY_STATISTICS.getReferencedTables()); assertEquals(STATEMENT_TYPE, QUERY_STATISTICS.getStatementType()); assertEquals(TOTAL_BYTES_BILLED, QUERY_STATISTICS.getTotalBytesBilled()); assertEquals(TOTAL_BYTES_PROCESSED, QUERY_STATISTICS.getTotalBytesProcessed()); assertEquals(TOTAL_PARTITION_PROCESSED, QUERY_STATISTICS.getTotalPartitionsProcessed()); assertEquals(TOTAL_SLOT_MS, QUERY_STATISTICS.getTotalSlotMs()); assertEquals(QUERY_PLAN, QUERY_STATISTICS.getQueryPlan()); assertEquals(TIMELINE, QUERY_STATISTICS.getTimeline()); assertEquals(CREATION_TIME, QUERY_STATISTICS_INCOMPLETE.getCreationTime()); assertEquals(START_TIME, QUERY_STATISTICS_INCOMPLETE.getStartTime()); assertEquals(END_TIME, QUERY_STATISTICS_INCOMPLETE.getEndTime()); assertEquals(BILLING_TIER, QUERY_STATISTICS_INCOMPLETE.getBillingTier()); assertEquals(CACHE_HIT, QUERY_STATISTICS_INCOMPLETE.getCacheHit()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getDdlOperationPerformed()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getDdlTargetTable()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getEstimatedBytesProcessed()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getNumDmlAffectedRows()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getTotalBytesBilled()); assertEquals(null, QUERY_STATISTICS_INCOMPLETE.getTotalBytesProcessed());
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
private void compareQueryStatistics(QueryStatistics expected, QueryStatistics value) { assertEquals(expected, value); compareStatistics(expected, value); assertEquals(expected.getBillingTier(), value.getBillingTier()); assertEquals(expected.getCacheHit(), value.getCacheHit()); assertEquals(expected.getDdlOperationPerformed(), value.getDdlOperationPerformed()); assertEquals(expected.getDdlTargetTable(), value.getDdlTargetTable()); assertEquals(expected.getEstimatedBytesProcessed(), value.getEstimatedBytesProcessed()); assertEquals(expected.getTotalBytesBilled(), value.getTotalBytesBilled()); assertEquals(expected.getTotalBytesProcessed(), value.getTotalBytesProcessed()); assertEquals(expected.getTotalPartitionsProcessed(), value.getTotalPartitionsProcessed()); assertEquals(expected.getTotalSlotMs(), value.getTotalSlotMs()); assertEquals(expected.getQueryPlan(), value.getQueryPlan()); assertEquals(expected.getReferencedTables(), value.getReferencedTables()); assertEquals(expected.getSchema(), value.getSchema()); assertEquals(expected.getStatementType(), value.getStatementType()); assertEquals(expected.getTimeline(), value.getTimeline()); }
@Override QueryStatistics build() { return new QueryStatistics(this); } }
@Test public void testToPbAndFromPb() { compareExtractStatistics( EXTRACT_STATISTICS, ExtractStatistics.fromPb(EXTRACT_STATISTICS.toPb())); compareLoadStatistics(LOAD_STATISTICS, LoadStatistics.fromPb(LOAD_STATISTICS.toPb())); compareQueryStatistics(QUERY_STATISTICS, QueryStatistics.fromPb(QUERY_STATISTICS.toPb())); compareStatistics(COPY_STATISTICS, CopyStatistics.fromPb(COPY_STATISTICS.toPb())); compareLoadStatistics( LOAD_STATISTICS_INCOMPLETE, LoadStatistics.fromPb(LOAD_STATISTICS_INCOMPLETE.toPb())); compareQueryStatistics( QUERY_STATISTICS_INCOMPLETE, QueryStatistics.fromPb(QUERY_STATISTICS_INCOMPLETE.toPb())); }