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

Method bindSingleQuery

src/binder/bind/bind_query.cpp:64–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64NormalizedSingleQuery Binder::bindSingleQuery(const SingleQuery& singleQuery) {
65 auto normalizedSingleQuery = NormalizedSingleQuery();
66 for (auto i = 0u; i < singleQuery.getNumQueryParts(); ++i) {
67 normalizedSingleQuery.appendQueryPart(bindQueryPart(*singleQuery.getQueryPart(i)));
68 }
69 auto lastQueryPart = NormalizedQueryPart();
70 for (auto i = 0u; i < singleQuery.getNumReadingClauses(); i++) {
71 lastQueryPart.addReadingClause(bindReadingClause(*singleQuery.getReadingClause(i)));
72 }
73 for (auto i = 0u; i < singleQuery.getNumUpdatingClauses(); ++i) {
74 lastQueryPart.addUpdatingClause(bindUpdatingClause(*singleQuery.getUpdatingClause(i)));
75 }
76 auto statementResult = BoundStatementResult();
77 if (singleQuery.hasReturnClause()) {
78 auto boundReturnClause = bindReturnClause(*singleQuery.getReturnClause());
79 lastQueryPart.setProjectionBody(boundReturnClause.getProjectionBody()->copy());
80 statementResult = boundReturnClause.getStatementResult()->copy();
81 } else {
82 statementResult = BoundStatementResult::createEmptyResult();
83 }
84 normalizedSingleQuery.appendQueryPart(std::move(lastQueryPart));
85 normalizedSingleQuery.setStatementResult(std::move(statementResult));
86 return normalizedSingleQuery;
87}
88
89NormalizedQueryPart Binder::bindQueryPart(const QueryPart& queryPart) {
90 auto normalizedQueryPart = NormalizedQueryPart();

Callers

nothing calls this directly

Calls 15

appendQueryPartMethod · 0.80
hasReturnClauseMethod · 0.80
getReturnClauseMethod · 0.80
setProjectionBodyMethod · 0.80
setStatementResultMethod · 0.80
NormalizedQueryPartClass · 0.50
getNumQueryPartsMethod · 0.45
getQueryPartMethod · 0.45
getNumReadingClausesMethod · 0.45
addReadingClauseMethod · 0.45

Tested by

no test coverage detected