Skip to main content

TableReadOptions

Struct TableReadOptions 

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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: String

SQL 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

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_selected_fields<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of selected_fields.

§Example
ⓘ
let x = TableReadOptions::new().set_selected_fields(["a", "b", "c"]);
Source

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");
Source

pub fn set_sample_percentage<T>(self, v: T) -> Self
where T: Into<f64>,

Sets the value of sample_percentage.

§Example
ⓘ
let x = TableReadOptions::new().set_sample_percentage(42.0);
Source

pub fn set_or_clear_sample_percentage<T>(self, v: Option<T>) -> Self
where T: Into<f64>,

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>);
Source

pub fn set_response_compression_codec<T>(self, v: T) -> Self

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);
Source

pub fn set_or_clear_response_compression_codec<T>(self, v: Option<T>) -> Self

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>);
Source

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())));
Source

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.

Source

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());
Source

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.

Source

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TableReadOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TableReadOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for TableReadOptions

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for TableReadOptions

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for TableReadOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self> ⓘ

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more