MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / bindTableScanSourceInfo

Function bindTableScanSourceInfo

src/binder/bind/bind_file_scan.cpp:205–224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205BoundTableScanInfo bindTableScanSourceInfo(Binder& binder, TableFunction func,
206 const std::string& sourceName, std::unique_ptr<TableFuncBindData> bindData,
207 const std::vector<std::string>& columnNames, const std::vector<LogicalType>& columnTypes) {
208 expression_vector columns;
209 if (!columnTypes.empty()) {
210 if (bindData->getNumColumns() != columnTypes.size()) {
211 throw BinderException(std::format("{} has {} columns but {} columns were expected.",
212 sourceName, bindData->getNumColumns(), columnTypes.size()));
213 }
214 for (auto i = 0u; i < bindData->getNumColumns(); ++i) {
215 auto column =
216 binder.createInvisibleVariable(columnNames[i], bindData->columns[i]->getDataType());
217 binder.replaceExpressionInScope(bindData->columns[i]->toString(), columnNames[i],
218 column);
219 columns.push_back(column);
220 }
221 bindData->columns = columns;
222 }
223 return BoundTableScanInfo(func, std::move(bindData));
224}
225
226std::unique_ptr<BoundBaseScanSource> Binder::bindParameterScanSource(
227 const BaseScanSource& scanSource, const options_t& options,

Callers 3

bindObjectScanSourceMethod · 0.85

Calls 9

getDataTypeMethod · 0.80
BoundTableScanInfoClass · 0.50
emptyMethod · 0.45
getNumColumnsMethod · 0.45
sizeMethod · 0.45
toStringMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected