% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/querychat_viz.R
\name{has_layer_level_source}
\alias{has_layer_level_source}
\title{Detect whether a VISUALISE string has a layer-level FROM source}
\usage{
has_layer_level_source(visual)
}
\arguments{
\item{visual}{A ggsql VISUALISE string.}
}
\value{
\code{TRUE} if any DRAW clause contains a MAPPING ... FROM source.
}
\description{
Returns \code{TRUE} when a DRAW clause defines its own \verb{FROM <source>} via a
MAPPING sub-clause. Querychat replays VISUALISE against a single local
relation, so layer-specific sources cannot be preserved reliably.
}
\keyword{internal}
