Browse Source

Provide the input meta for a graph loop result output

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 13 years ago
parent
commit
17a638adc9
2 changed files with 14 additions and 1 deletions
  1. 1 1
      ecl/hqlcpp/hqlcppsys.ecl
  2. 13 0
      rtl/include/eclhelper_base.hpp

+ 1 - 1
ecl/hqlcpp/hqlcppsys.ecl

@@ -748,7 +748,7 @@ const char * cppSystemText[]  = {
     "   boolean newWhenActionArg(boolean _meta) : include, pseudoentrypoint='new CLibraryWhenActionArg';",
     "   boolean newDegroupArg(boolean _meta) : include, pseudoentrypoint='new CLibraryDegroupArg';",
     "   boolean newFunnelArg(boolean _ordered, boolean _sequential, boolean _meta) : include, pseudoentrypoint='new CLibraryFunnelArg';",
-    "   boolean newGraphLoopResultWriteArg() : include, pseudoentrypoint='new CThorGraphLoopResultWriteArg';",
+    "   boolean newGraphLoopResultWriteArg(boolean _meta) : include, pseudoentrypoint='new CLibraryGraphLoopResultWriteArg';",
     "   boolean newLocalResultReadArg(unsigned4 _sequence, boolean meta) : include, pseudoentrypoint='new CLibraryLocalResultReadArg';",
     "   boolean newLocalResultSpillArg(unsigned4 _sequence, boolean _usedOutside, boolean meta) : include, pseudoentrypoint='new CLibraryLocalResultSpillArg';",
     "   boolean newNullArg(boolean meta) : include, pseudoentrypoint='new CLibraryNullArg';",

+ 13 - 0
rtl/include/eclhelper_base.hpp

@@ -3465,6 +3465,19 @@ protected:
 };
 
 
+class CLibraryGraphLoopResultWriteArg : public CThorGraphLoopResultWriteArg
+{
+public:
+    inline CLibraryGraphLoopResultWriteArg(IOutputMetaData * _meta)
+        : meta(_meta) {}
+
+    virtual IOutputMetaData * queryOutputMeta() { return meta; }
+
+protected:
+    IOutputMetaData * meta;
+};
+
+
 class EclProcess : public RtlCInterface, implements IEclProcess
 {
 public: