private TabledataResource.ListRequest CreateListRequest(TableReference tableReference, ListRowsOptions options, TableSchema schema) { var request = Service.Tabledata.List(tableReference.ProjectId, tableReference.DatasetId, tableReference.TableId); options?.ModifyRequest(request); // null and empty schemas are handled by BuildSelectedFields, // but both values mean the same, and that is to return whole rows. request.SelectedFields = schema.BuildSelectedFields(); RetryHandler.MarkAsRetriable(request); return(request); }
public void BuildSelectedFields_OneField() { var schema = new TableSchema { Fields = new List <TableFieldSchema> { new TableFieldSchema { Name = "foo" }, } }; Assert.Equal("foo", schema.BuildSelectedFields()); }
public void BuildSelectedFields_NullSchema() { TableSchema schema = null; Assert.Null(schema.BuildSelectedFields()); }
public void BuildSelectedFields_EmptySchema() { var schema = new TableSchema(); Assert.Equal(string.Empty, schema.BuildSelectedFields()); }
public void BuildSelectedFields_Nested() { var schema = new TableSchema { Fields = new List <TableFieldSchema> { new TableFieldSchema { Name = "l0_f0", Fields = new List <TableFieldSchema> { new TableFieldSchema { Name = "l1_f0" }, new TableFieldSchema { Name = "l1_f1", Fields = new List <TableFieldSchema> { new TableFieldSchema { Name = "l2_f0" }, new TableFieldSchema { Name = "l2_f1" } } } } }, new TableFieldSchema { Name = "l0_f1" }, new TableFieldSchema { Name = "l0_f2", Fields = new List <TableFieldSchema> { new TableFieldSchema { Name = "l1_f2" }, new TableFieldSchema { Name = "l1_f3" } } }, } }; Assert.Equal("l0_f0.l1_f0,l0_f0.l1_f1.l2_f0,l0_f0.l1_f1.l2_f1,l0_f1,l0_f2.l1_f2,l0_f2.l1_f3", schema.BuildSelectedFields()); }