Skip to content

Commit c5e7fa8

Browse files
committed
Merge remote-tracking branch 'origin/candidate-10.2.x'
Signed-off-by: Gordon Smith <GordonJSmith@gmail.com> # Conflicts: # helm/hpcc/Chart.yaml # helm/hpcc/templates/_helpers.tpl # version.cmake
2 parents 28be5c0 + 269ca68 commit c5e7fa8

File tree

14 files changed

+3039
-104
lines changed

14 files changed

+3039
-104
lines changed

common/thorhelper/thorstrand.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ RoxieRowBlock::~RoxieRowBlock()
219219

220220
bool RoxieRowBlock::empty() const
221221
{
222-
return (readPos >= writePos) && !exception;
222+
return (readPos >= writePos) && !exception && !endOfChunk;
223223
}
224224

225225
bool RoxieRowBlock::readFromStream(IRowStream * stream)
@@ -727,8 +727,9 @@ class OrderedManyToOneJunction : public CStrandJunction, implements IEngineRowSt
727727
public:
728728
IMPLEMENT_IINTERFACE_USING(CStrandJunction)
729729

730+
//NOTE: Pass blockSize+1 to the allocator, so that the endOfChunk can fit in the same block as the rows.
730731
OrderedManyToOneJunction(roxiemem::IRowManager & _rowManager, unsigned _numStrands, unsigned blockSize)
731-
: CStrandJunction(_numStrands, _numStrands), allocator(_rowManager, blockSize)
732+
: CStrandJunction(_numStrands, _numStrands), allocator(_rowManager, blockSize+1)
732733
{
733734
producers = new OrderedReadAheadThread * [numStrands];
734735
for (unsigned i=0; i < numStrands; i++)

dali/dfuXRefLib/XRefFilesNode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ IPropertyTree& CXRefFilesNode::queryDataTree()
187187
if (m_DataTree.get() == 0)
188188
{
189189
MemoryBuffer &data = queryData();
190-
m_DataTree.setown(createPTreeFromXMLString(data.length(), data.toByteArray()));
190+
m_DataTree.setown(createPTreeFromXMLString(data.toByteArray()));
191191
}
192192
return *m_DataTree.get();
193193
}

docs/EN_US/ECLLanguageReference/ECLR_mods/BltInFunc-EVALUATE.xml

Lines changed: 67 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,27 @@
99
<primary>EVALUATE</primary>
1010
</indexterm> action</title>
1111

12-
<para><emphasis>[</emphasis><emphasis>attrname</emphasis> :=<emphasis
13-
role="bold"> ] EVALUATE<indexterm>
12+
<para><emphasis role="bold">[</emphasis><emphasis>attrname</emphasis>
13+
:=<emphasis role="bold"> ] EVALUATE<indexterm>
1414
<primary>EVALUATE action</primary>
1515
</indexterm>(</emphasis><emphasis>expression</emphasis><emphasis
1616
role="bold">) ;</emphasis></para>
1717

18-
<para><emphasis>[</emphasis><emphasis>attrname</emphasis> :=<emphasis
19-
role="bold"> ] EVALUATE(</emphasis><emphasis>module </emphasis><emphasis
20-
role="bold">[</emphasis><emphasis>, defname </emphasis><emphasis
21-
role="bold"> ] ) ;</emphasis></para>
18+
<para><emphasis role="bold">[</emphasis><emphasis>attrname</emphasis>
19+
:=<emphasis role="bold"> ] EVALUATE(</emphasis><emphasis>module
20+
</emphasis><emphasis role="bold">[</emphasis><emphasis>, defname
21+
</emphasis><emphasis role="bold"> ] ) ;</emphasis></para>
22+
23+
<para><emphasis role="bold">[</emphasis><emphasis>attrname</emphasis>
24+
:=<emphasis role="bold"> ] EVALUATE(</emphasis><emphasis>engine
25+
</emphasis><emphasis>, expression </emphasis><emphasis role="bold">)
26+
;</emphasis></para>
2227

2328
<para><informaltable colsep="1" frame="all" rowsep="1">
2429
<tgroup cols="2">
25-
<colspec colwidth="80.60pt" />
30+
<colspec colwidth="80.60pt"/>
2631

27-
<colspec />
32+
<colspec/>
2833

2934
<tbody>
3035
<row>
@@ -38,7 +43,9 @@
3843
<row>
3944
<entry><emphasis>expression</emphasis></entry>
4045

41-
<entry>The function to call in an action context.</entry>
46+
<entry>The function to call in an action context or an
47+
expression that resolves to data (either a dataset or a scalar
48+
value).</entry>
4249
</row>
4350

4451
<row>
@@ -47,6 +54,14 @@
4754
<entry>The module to evaluate.</entry>
4855
</row>
4956

57+
<row>
58+
<entry><emphasis>engine</emphasis></entry>
59+
60+
<entry>The engine on which to evaluate. Valid options are
61+
<emphasis role="bold">ECLAGENT</emphasis> (for hThor) or the
62+
name of a Thor queue.</entry>
63+
</row>
64+
5065
<row>
5166
<entry><emphasis>defname</emphasis></entry>
5267

@@ -71,7 +86,13 @@
7186
<emphasis>defname</emphasis> is specified, then only that definition is
7287
evaluated.</para>
7388

74-
<para>Example:</para>
89+
<para>The third form of the <emphasis role="bold">EVALUATE</emphasis>
90+
action evaluates the expression on the specified engine. This option is
91+
disabled by default, to enable it, use:</para>
92+
93+
<programlisting>#OPTION('enableClusterHopping', TRUE);</programlisting>
94+
95+
<para>Examples:</para>
7596

7697
<para>Form 1 example:</para>
7798

@@ -104,6 +125,40 @@ EVALUATE(M2);
104125
// Result_2: Hello
105126
// Result_3: Richard</programlisting>
106127

128+
<para>Form 3 example:</para>
129+
130+
<programlisting>#OPTION('enableClusterHopping', TRUE);
131+
132+
MyLayout := RECORD
133+
UNSIGNED4 id;
134+
STRING20 n;
135+
END;
136+
137+
ds1 := DATASET([{100,'Fred'},
138+
{101,'Wilms'},
139+
{102,'Barney'},
140+
{103,'Betty'},
141+
{104,'Dino'}], MyLayout);
142+
143+
ds2 := DATASET([{100,'Miami'},
144+
{101,'Hollywood'},
145+
{102,'Miami'},
146+
{103,'Fort Lauderdale'},
147+
{104,'Hialeah'}], MyLayout);
148+
149+
JoinData(DATASET(MyLayout) d1, DATASET(MyLayout) d2) := JOIN
150+
(d1,d2,LEFT.id = RIGHT.id,TRANSFORM
151+
({UNSIGNED4 id,
152+
STRING20 n1,
153+
STRING20 n2},
154+
SELF.id := LEFT.id,
155+
SELF.n1 := LEFT.n,
156+
SELF.n2 := RIGHT.n));
157+
158+
OUTPUT(EVALUATE('mythor1', JoinData(ds1, ds2)), NAMED('mythor1'));
159+
OUTPUT(EVALUATE('mythor2', JoinData(ds1, ds2)), NAMED('mythor2'));
160+
OUTPUT(EVALUATE('ECLAGENT', JoinData(ds1, ds2)), NAMED('ecl_agent'));</programlisting>
161+
107162
<para>See Also: <link linkend="APPLY">APPLY</link>, <link
108163
linkend="SERVICE_Structure">SERVICE Structure</link>,</para>
109164
</sect2>
@@ -118,9 +173,9 @@ EVALUATE(M2);
118173

119174
<para><informaltable colsep="1" frame="all" rowsep="1">
120175
<tgroup cols="2">
121-
<colspec colwidth="79.15pt" />
176+
<colspec colwidth="79.15pt"/>
122177

123-
<colspec colwidth="309.65pt" />
178+
<colspec colwidth="309.65pt"/>
124179

125180
<tbody>
126181
<row>

0 commit comments

Comments
 (0)