#[non_exhaustive]pub struct TableReadOptions {
pub selected_fields: Vec<String>,
pub row_restriction: String,
pub sample_percentage: Option<f64>,
pub response_compression_codec: Option<ResponseCompressionCodec>,
pub output_format_serialization_options: Option<OutputFormatSerializationOptions>,
/* private fields */
}Expand description
Options dictating how we read a table.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.selected_fields: Vec<String>Optional. The names of the fields in the table to be returned. If no field names are specified, then all fields in the table are returned.
Nested fields – the child elements of a STRUCT field – can be selected individually using their fully-qualified names, and will be returned as record fields containing only the selected nested fields. If a STRUCT field is specified in the selected fields list, all of the child elements will be returned.
As an example, consider a table with the following schema:
{ “name”: “struct_field”, “type”: “RECORD”, “mode”: “NULLABLE”, “fields”: [ { “name”: “string_field1”, “type”: “STRING”, . “mode”: “NULLABLE” }, { “name”: “string_field2”, “type”: “STRING”, “mode”: “NULLABLE” } ] }
Specifying “struct_field” in the selected fields list will result in a read session schema with the following logical structure:
struct_field { string_field1 string_field2 }
Specifying “struct_field.string_field1” in the selected fields list will result in a read session schema with the following logical structure:
struct_field { string_field1 }
The order of the fields in the read session schema is derived from the table schema and does not correspond to the order in which the fields are specified in this list.
row_restriction: StringSQL text filtering statement, similar to a WHERE clause in a query. Aggregates are not supported.
Examples: “int_field > 5” “date_field = CAST(‘2014-9-27’ as DATE)” “nullable_field is not NULL” “st_equals(geo_field, st_geofromtext(“POINT(2, 2)”))“ “numeric_field BETWEEN 1.0 AND 5.0”
Restricted to a maximum length for 1 MB.
sample_percentage: Option<f64>Optional. Specifies a table sampling percentage. Specifically, the query planner will use TABLESAMPLE SYSTEM (sample_percentage PERCENT). The sampling percentage is applied at the data block granularity. It will randomly choose for each data block whether to read the rows in that data block. For more details, see https://cloud.google.com/bigquery/docs/table-sampling)
response_compression_codec: Option<ResponseCompressionCodec>Optional. Set response_compression_codec when creating a read session to enable application-level compression of ReadRows responses.
output_format_serialization_options: Option<OutputFormatSerializationOptions>Implementations§
Source§impl TableReadOptions
impl TableReadOptions
Sourcepub fn set_selected_fields<T, V>(self, v: T) -> Self
pub fn set_selected_fields<T, V>(self, v: T) -> Self
Sets the value of selected_fields.
§Example
let x = TableReadOptions::new().set_selected_fields(["a", "b", "c"]);Sourcepub fn set_row_restriction<T: Into<String>>(self, v: T) -> Self
pub fn set_row_restriction<T: Into<String>>(self, v: T) -> Self
Sets the value of row_restriction.
§Example
let x = TableReadOptions::new().set_row_restriction("example");Sourcepub fn set_sample_percentage<T>(self, v: T) -> Self
pub fn set_sample_percentage<T>(self, v: T) -> Self
Sets the value of sample_percentage.
§Example
let x = TableReadOptions::new().set_sample_percentage(42.0);Sourcepub fn set_or_clear_sample_percentage<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_sample_percentage<T>(self, v: Option<T>) -> Self
Sets or clears the value of sample_percentage.
§Example
let x = TableReadOptions::new().set_or_clear_sample_percentage(Some(42.0));
let x = TableReadOptions::new().set_or_clear_sample_percentage(None::<f32>);Sourcepub fn set_response_compression_codec<T>(self, v: T) -> Selfwhere
T: Into<ResponseCompressionCodec>,
pub fn set_response_compression_codec<T>(self, v: T) -> Selfwhere
T: Into<ResponseCompressionCodec>,
Sets the value of response_compression_codec.
§Example
use google_cloud_bigquery::model::read_session::table_read_options::ResponseCompressionCodec;
let x0 = TableReadOptions::new().set_response_compression_codec(ResponseCompressionCodec::Lz4);Sourcepub fn set_or_clear_response_compression_codec<T>(self, v: Option<T>) -> Selfwhere
T: Into<ResponseCompressionCodec>,
pub fn set_or_clear_response_compression_codec<T>(self, v: Option<T>) -> Selfwhere
T: Into<ResponseCompressionCodec>,
Sets or clears the value of response_compression_codec.
§Example
use google_cloud_bigquery::model::read_session::table_read_options::ResponseCompressionCodec;
let x0 = TableReadOptions::new().set_or_clear_response_compression_codec(Some(ResponseCompressionCodec::Lz4));
let x_none = TableReadOptions::new().set_or_clear_response_compression_codec(None::<ResponseCompressionCodec>);Sourcepub fn set_output_format_serialization_options<T: Into<Option<OutputFormatSerializationOptions>>>(
self,
v: T,
) -> Self
pub fn set_output_format_serialization_options<T: Into<Option<OutputFormatSerializationOptions>>>( self, v: T, ) -> Self
Sets the value of output_format_serialization_options.
Note that all the setters affecting output_format_serialization_options are mutually
exclusive.
§Example
use google_cloud_bigquery::model::ArrowSerializationOptions;
let x = TableReadOptions::new().set_output_format_serialization_options(Some(
google_cloud_bigquery::model::read_session::table_read_options::OutputFormatSerializationOptions::ArrowSerializationOptions(ArrowSerializationOptions::default().into())));Sourcepub fn arrow_serialization_options(
&self,
) -> Option<&Box<ArrowSerializationOptions>>
pub fn arrow_serialization_options( &self, ) -> Option<&Box<ArrowSerializationOptions>>
The value of output_format_serialization_options
if it holds a ArrowSerializationOptions, None if the field is not set or
holds a different branch.
Sourcepub fn set_arrow_serialization_options<T: Into<Box<ArrowSerializationOptions>>>(
self,
v: T,
) -> Self
pub fn set_arrow_serialization_options<T: Into<Box<ArrowSerializationOptions>>>( self, v: T, ) -> Self
Sets the value of output_format_serialization_options
to hold a ArrowSerializationOptions.
Note that all the setters affecting output_format_serialization_options are
mutually exclusive.
§Example
use google_cloud_bigquery::model::ArrowSerializationOptions;
let x = TableReadOptions::new().set_arrow_serialization_options(ArrowSerializationOptions::default()/* use setters */);
assert!(x.arrow_serialization_options().is_some());
assert!(x.avro_serialization_options().is_none());Sourcepub fn avro_serialization_options(
&self,
) -> Option<&Box<AvroSerializationOptions>>
pub fn avro_serialization_options( &self, ) -> Option<&Box<AvroSerializationOptions>>
The value of output_format_serialization_options
if it holds a AvroSerializationOptions, None if the field is not set or
holds a different branch.
Sourcepub fn set_avro_serialization_options<T: Into<Box<AvroSerializationOptions>>>(
self,
v: T,
) -> Self
pub fn set_avro_serialization_options<T: Into<Box<AvroSerializationOptions>>>( self, v: T, ) -> Self
Sets the value of output_format_serialization_options
to hold a AvroSerializationOptions.
Note that all the setters affecting output_format_serialization_options are
mutually exclusive.
§Example
use google_cloud_bigquery::model::AvroSerializationOptions;
let x = TableReadOptions::new().set_avro_serialization_options(AvroSerializationOptions::default()/* use setters */);
assert!(x.avro_serialization_options().is_some());
assert!(x.arrow_serialization_options().is_none());Trait Implementations§
Source§impl Clone for TableReadOptions
impl Clone for TableReadOptions
Source§impl Debug for TableReadOptions
impl Debug for TableReadOptions
Source§impl Default for TableReadOptions
impl Default for TableReadOptions
Source§impl Message for TableReadOptions
impl Message for TableReadOptions
Source§impl PartialEq for TableReadOptions
impl PartialEq for TableReadOptions
impl StructuralPartialEq for TableReadOptions
Auto Trait Implementations§
impl Freeze for TableReadOptions
impl RefUnwindSafe for TableReadOptions
impl Send for TableReadOptions
impl Sync for TableReadOptions
impl Unpin for TableReadOptions
impl UnsafeUnpin for TableReadOptions
impl UnwindSafe for TableReadOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request