Skip to content

Commit 956b33b

Browse files
Praful MakaniJesseLovelace
authored andcommitted
---
yaml --- r: 13673 b: refs/heads/autosynth-logging c: 74a4517 h: refs/heads/master i: 13671: 82821b3
1 parent f4c5a54 commit 956b33b

3 files changed

Lines changed: 59 additions & 2 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ refs/tags/v0.61.0: e4b526656bb1bf5eefd0ee578b7405147821225e
105105
refs/tags/v0.62.0: bbede7385d48ba08f487bdd29ec10668ace96396
106106
refs/heads/0.60.0-alpha: 10939381ffe0b8da32db4fe3087c86e3aa7f3e55
107107
refs/heads/autosynth-dlp: 90e4efe3be392e89dc36bce22afab981a905b1bc
108-
refs/heads/autosynth-logging: bb3cfb437f216ca08f869f051a6cefd20a010e17
108+
refs/heads/autosynth-logging: 74a4517cc99b2a3d5c3505baeb607e249f7aab82
109109
refs/heads/dupes: 3478c5d81fd242d0e985656645a679420a2060c2
110110
refs/tags/v0.63.0: 94f19b71d40f46b36120e7b9d78a1a3d41bfcbd6
111111
refs/tags/v0.64.0: 456e8fbd129deced3ca025f239a2d8a82bde1d0a

branches/autosynth-logging/google-cloud-clients/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,13 @@ public Table apply(com.google.api.services.bigquery.model.Table table) {
539539

540540
@Override
541541
public InsertAllResponse insertAll(InsertAllRequest request) {
542-
final TableId tableId = request.getTable().setProjectId(getOptions().getProjectId());
542+
final TableId tableId =
543+
request
544+
.getTable()
545+
.setProjectId(
546+
Strings.isNullOrEmpty(request.getTable().getProject())
547+
? getOptions().getProjectId()
548+
: request.getTable().getProject());
543549
final TableDataInsertAllRequest requestPb = new TableDataInsertAllRequest();
544550
requestPb.setIgnoreUnknownValues(request.ignoreUnknownValues());
545551
requestPb.setSkipInvalidRows(request.skipInvalidRows());

branches/autosynth-logging/google-cloud-clients/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/BigQueryImplTest.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,57 @@ public TableDataInsertAllRequest.Rows apply(RowToInsert rowToInsert) {
945945
assertEquals("ErrorMessage", response.getErrorsFor(0L).get(0).getMessage());
946946
}
947947

948+
@Test
949+
public void testInsertAllWithProjectInTable() {
950+
Map<String, Object> row1 = ImmutableMap.<String, Object>of("field", "value1");
951+
Map<String, Object> row2 = ImmutableMap.<String, Object>of("field", "value2");
952+
List<RowToInsert> rows =
953+
ImmutableList.of(new RowToInsert("row1", row1), new RowToInsert("row2", row2));
954+
TableId tableId = TableId.of("project-different-from-option", DATASET, TABLE);
955+
InsertAllRequest request =
956+
InsertAllRequest.newBuilder(tableId)
957+
.setRows(rows)
958+
.setSkipInvalidRows(false)
959+
.setIgnoreUnknownValues(true)
960+
.setTemplateSuffix("suffix")
961+
.build();
962+
TableDataInsertAllRequest requestPb =
963+
new TableDataInsertAllRequest()
964+
.setRows(
965+
Lists.transform(
966+
rows,
967+
new Function<RowToInsert, TableDataInsertAllRequest.Rows>() {
968+
@Override
969+
public TableDataInsertAllRequest.Rows apply(RowToInsert rowToInsert) {
970+
return new TableDataInsertAllRequest.Rows()
971+
.setInsertId(rowToInsert.getId())
972+
.setJson(rowToInsert.getContent());
973+
}
974+
}))
975+
.setSkipInvalidRows(false)
976+
.setIgnoreUnknownValues(true)
977+
.setTemplateSuffix("suffix");
978+
TableDataInsertAllResponse responsePb =
979+
new TableDataInsertAllResponse()
980+
.setInsertErrors(
981+
ImmutableList.of(
982+
new TableDataInsertAllResponse.InsertErrors()
983+
.setIndex(0L)
984+
.setErrors(ImmutableList.of(new ErrorProto().setMessage("ErrorMessage")))));
985+
EasyMock.expect(
986+
bigqueryRpcMock.insertAll("project-different-from-option", DATASET, TABLE, requestPb))
987+
.andReturn(responsePb);
988+
EasyMock.replay(bigqueryRpcMock);
989+
BigQueryOptions bigQueryOptions =
990+
createBigQueryOptionsForProject(OTHER_PROJECT, rpcFactoryMock);
991+
bigquery = bigQueryOptions.getService();
992+
InsertAllResponse response = bigquery.insertAll(request);
993+
assertNotNull(response.getErrorsFor(0L));
994+
assertNull(response.getErrorsFor(1L));
995+
assertEquals(1, response.getErrorsFor(0L).size());
996+
assertEquals("ErrorMessage", response.getErrorsFor(0L).get(0).getMessage());
997+
}
998+
948999
@Test
9491000
public void testListTableData() {
9501001
EasyMock.expect(bigqueryRpcMock.listTableData(PROJECT, DATASET, TABLE, EMPTY_RPC_OPTIONS))

0 commit comments

Comments
 (0)