% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/bind.R
\name{bind_rows}
\alias{bind_rows}
\alias{bind_cols}
\title{Bind rows or columns from multiple vectra tables}
\usage{
bind_rows(..., .id = NULL)

bind_cols(...)
}
\arguments{
\item{...}{\code{vectra_node} objects or data.frames to combine.}

\item{.id}{Optional column name for a source identifier.}
}
\value{
A \code{vectra_node} (streaming) when all inputs are \code{vectra_node} with
identical schemas and \code{.id} is NULL. Otherwise a data.frame.
}
\description{
Bind rows or columns from multiple vectra tables
}
\details{
When all inputs are \code{vectra_node} objects with identical column names and
types and no \code{.id} is requested, \code{bind_rows} creates a streaming
\code{ConcatNode} that iterates children sequentially without materializing.

Otherwise, inputs are collected and combined in R. Missing columns are
filled with NA.

\code{bind_cols} requires the same number of rows in each input.
}
\examples{
f1 <- tempfile(fileext = ".vtr")
f2 <- tempfile(fileext = ".vtr")
write_vtr(data.frame(x = 1:3, y = 4:6), f1)
write_vtr(data.frame(x = 7:9, y = 10:12), f2)
bind_rows(tbl(f1), tbl(f2)) |> collect()
bind_cols(tbl(f1), tbl(f2))
unlink(c(f1, f2))

}
