-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
From slack:
the AggStageAstNode base class and the AggStageParseNode base class store the _name as a std::string_view and the StageDescriptor base class stores it as a std::string? This feels like a footgun to me for accessing bad memory - this requires that extensions keep the string backing _name alive when creating an AstNode and a ParseNode (for example in a static variable would suffice).But surely extension developers will eventually do something like AggStageParseNode("myTemporaryStringName") and things will break. Is the copy of the string name a concern? I'm not convinced that it is expensive enough to warrant this footgun.