Get the context of a relation, procedure or derived table.
| 9980 | |
| 9981 | // Get the context of a relation, procedure or derived table. |
| 9982 | static dsql_ctx* dsqlGetContext(const RecordSourceNode* node) |
| 9983 | { |
| 9984 | if (auto procNode = nodeAs<ProcedureSourceNode>(node)) |
| 9985 | return procNode->dsqlContext; |
| 9986 | else if (auto relNode = nodeAs<RelationSourceNode>(node)) |
| 9987 | return relNode->dsqlContext; |
| 9988 | //// TODO: LocalTableSourceNode |
| 9989 | else if (auto rseNode = nodeAs<RseNode>(node)) |
| 9990 | return rseNode->dsqlContext; |
| 9991 | else |
| 9992 | { |
| 9993 | fb_assert(false); |
| 9994 | return nullptr; |
| 9995 | } |
| 9996 | } |
| 9997 | |
| 9998 | // Get the contexts of a relation, procedure, derived table or a list of joins. |
| 9999 | static void dsqlGetContexts(DsqlContextStack& contexts, const RecordSourceNode* node) |
no outgoing calls
no test coverage detected