pub struct ReadStdin;Expand description
READ_STDIN([match_regex]) - Read lines piped on standard input.
Emits (line_num, line) rows. Optional regex pre-filters lines before
materialisation. Erroring on TTY input prevents the engine from blocking
forever waiting on a keyboard when the user forgets the pipe.
Stdin is consumable, so it is read once per process and cached. This
keeps the function composable: multiple READ_STDIN() references in the
same query (CTEs, self-joins) see the same rows. The regex filter is
applied per call against the cached buffer.
Trait Implementations§
Source§impl TableGenerator for ReadStdin
impl TableGenerator for ReadStdin
Source§fn columns(&self) -> Vec<DataColumn>
fn columns(&self) -> Vec<DataColumn>
Get the column definitions for the generated table
Source§fn generate(&self, args: Vec<DataValue>) -> Result<Arc<DataTable>>
fn generate(&self, args: Vec<DataValue>) -> Result<Arc<DataTable>>
Generate the table based on the provided arguments
Arguments are evaluated expressions from the SQL query
Source§fn description(&self) -> &str
fn description(&self) -> &str
Get a description of what this generator does
Auto Trait Implementations§
impl Freeze for ReadStdin
impl RefUnwindSafe for ReadStdin
impl Send for ReadStdin
impl Sync for ReadStdin
impl Unpin for ReadStdin
impl UnsafeUnpin for ReadStdin
impl UnwindSafe for ReadStdin
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more