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

Function bindExportTableData

src/binder/bind/bind_export_database.cpp:43–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43void bindExportTableData(ExportedTableData& tableData, const std::string& query,
44 main::ClientContext* context, Binder* binder) {
45 auto parsedStatement = Parser::parseQuery(query);
46 DASSERT(parsedStatement.size() == 1);
47 auto parsedQuery = parsedStatement[0]->constPtrCast<RegularQuery>();
48 context->setUseInternalCatalogEntry(true /* useInternalCatalogEntry */);
49 auto boundQuery = binder->bindQuery(*parsedQuery);
50 context->setUseInternalCatalogEntry(false /* useInternalCatalogEntry */);
51 auto columns = boundQuery->getStatementResult()->getColumns();
52 for (auto& column : columns) {
53 auto columnName = column->hasAlias() ? column->getAlias() : column->toString();
54 tableData.columnNames.push_back(columnName);
55 tableData.columnTypes.push_back(column->getDataType().copy());
56 }
57 tableData.regularQuery = std::move(boundQuery);
58}
59
60static std::string getExportNodeTableDataQuery(const TableCatalogEntry& entry) {
61 return std::format("match (a:`{}`) return a.*", entry.getName());

Callers 1

getExportInfoFunction · 0.85

Calls 10

bindQueryMethod · 0.80
hasAliasMethod · 0.80
getAliasMethod · 0.80
getDataTypeMethod · 0.80
sizeMethod · 0.45
getColumnsMethod · 0.45
getStatementResultMethod · 0.45
toStringMethod · 0.45
push_backMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected