Преглед изворни кода

HPCC-2884 he NOSORT option of JOIN not complete

Signed-off-by: Richard Taylor <richard.taylor@lexisnexis.com>
Richard Taylor пре 12 година
родитељ
комит
5fee402124

+ 45 - 9
docs/ECLLanguageReference/ECLR_mods/Basics-Constants.xml

@@ -25,8 +25,41 @@
 STRING20 MyString3 := 'Fred\\Ginger\'s Place';
                     //evaluated as: "Fred\Ginger's Place"</programlisting>
 
-    <para>Other available escape characters are: \t tab \n new line \r
-    carriage return \nnn 3 octal digits (for any other character)</para>
+    <para>Other available escape characters are: </para>
+
+    <para><informaltable colsep="0" frame="none" rowsep="0">
+        <tgroup cols="2">
+          <colspec colwidth="85.75pt" />
+
+          <colspec />
+
+          <tbody>
+            <row>
+              <entry><emphasis>\t</emphasis></entry>
+
+              <entry>tab</entry>
+            </row>
+
+            <row>
+              <entry><emphasis>\n</emphasis></entry>
+
+              <entry>new line</entry>
+            </row>
+
+            <row>
+              <entry><emphasis>\r</emphasis></entry>
+
+              <entry>carriage return</entry>
+            </row>
+
+            <row>
+              <entry><emphasis>\nnn</emphasis></entry>
+
+              <entry>3 octal digits (for any other character)</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable></para>
 
     <para><emphasis role="bold">Hexadecimal<indexterm>
         <primary>Hexadecimal</primary>
@@ -77,7 +110,8 @@ MyUnicodeString := U'abcd\353'; // becomes 'abcdë'</programlisting>
     <title>Numeric</title>
 
     <para>Numeric constants containing a decimal portion are treated as REAL
-    values and those without are treated as INTEGER<indexterm>
+    values (scientific notation is allowed) and those without are treated as
+    INTEGER<indexterm>
         <primary>INTEGER</primary>
       </indexterm> (see <emphasis role="bold">Value Types</emphasis>). Integer
     constants may be decimal, hexadecimal, or binary values.
@@ -89,11 +123,13 @@ MyUnicodeString := U'abcd\353'; // becomes 'abcdë'</programlisting>
       </indexterm> are specified with either a leading “0b” or a trailing “b”
     character.</para>
 
-    <programlisting>MyInt1 := 10; // value of MyInt1 is the INTEGER value 10
-MyInt2 := 0x0A; // value of MyInt2 is the INTEGER value 10
-MyInt3 := 0Ax; // value of MyInt3 is the INTEGER value 10
-MyInt4 := 0b1010; // value of MyInt4 is the INTEGER value 10
-MyInt5 := 1010b; // value of MyInt5 is the INTEGER value 10
-MyReal := 10.0; // value of MyReal is the REAL value 10.0</programlisting>
+    <programlisting>MyInt1  := 10;     // value of MyInt1 is the INTEGER value 10
+MyInt2  := 0x0A;   // value of MyInt2 is the INTEGER value 10
+MyInt3  := 0Ax;    // value of MyInt3 is the INTEGER value 10
+MyInt4  := 0b1010; // value of MyInt4 is the INTEGER value 10
+MyInt5  := 1010b;  // value of MyInt5 is the INTEGER value 10
+MyReal1 := 10.0;   // value of MyReal1 is the REAL value 10.0
+MyReal2 := 1.0e1;  // value of MyReal2 is the REAL value 10.0
+</programlisting>
   </sect2>
 </sect1>

+ 11 - 6
docs/ECLLanguageReference/ECLR_mods/BltInFunc-JOIN.xml

@@ -146,9 +146,10 @@
     the following circumstances:</para>
 
     <para>* For LOOKUP and ALL joins, the GROUPing and sort order of the
-    <emphasis>leftrecset</emphasis> are preserved.* For KEYED joins the
-    GROUPing (but not the sort order) of the <emphasis>leftrecset</emphasis>
-    is preserved.</para>
+    <emphasis>leftrecset</emphasis> are preserved.</para>
+
+    <para>* For KEYED joins the GROUPing (but not the sort order) of the
+    <emphasis>leftrecset</emphasis> is preserved.</para>
   </sect2>
 
   <sect2 id="Matching_Logic">
@@ -332,8 +333,12 @@
           <row>
             <entry><emphasis role="bold">NOSORT</emphasis></entry>
 
-            <entry>Performs the JOIN without dynamically sorting the
-            tables.</entry>
+            <entry>Performs the JOIN without dynamically sorting the tables.
+            This implies that the <emphasis>leftrecset</emphasis> and/or
+            <emphasis>rightrecset</emphasis> must have been previously sorted
+            and partitioned based on the fields specified in the
+            <emphasis>joincondition</emphasis> so that records can be easily
+            matched.</entry>
           </row>
 
           <row>
@@ -357,7 +362,7 @@
           <row>
             <entry><emphasis>index</emphasis></entry>
 
-            <entry>Optional. The attribute name of an INDEX into the
+            <entry>Optional. The name of an INDEX into the
             <emphasis>rightrecset</emphasis> for a full-keyed JOIN (see
             below). If omitted, indicates the <emphasis>rightrecset</emphasis>
             will always be an INDEX (useful when the

+ 10 - 8
docs/ECLLanguageReference/ECLR_mods/BltInFunc-SORT.xml

@@ -126,11 +126,11 @@
           <row>
             <entry><emphasis role="bold">LOCAL</emphasis></entry>
 
-            <entry>Optional. Specifies the operation is performed on each
-            supercomputer node independently, without requiring interaction
-            with all other nodes to acquire data; the operation maintains the
-            distribution of any previous DISTRIBUTE. An error occurs if the
-            recordset has been GROUPed.</entry>
+            <entry>Optional. Specifies the operation is performed on each node
+            independently, without requiring interaction with all other nodes
+            to acquire data; the operation maintains the distribution of any
+            previous DISTRIBUTE. An error occurs if the recordset has been
+            GROUPed.</entry>
           </row>
 
           <row>
@@ -176,10 +176,12 @@
       </tgroup>
     </informaltable></para>
 
-  <para>The <emphasis role="bold">SORT </emphasis>function sorts the
+  <para>The <emphasis role="bold">SORT </emphasis>function orders the
   <emphasis>recordset</emphasis> according to the <emphasis>values</emphasis>
-  specified. SORT is usually used to produce the record sets operated on by
-  the DEDUP, GROUP, and ROLLUP function<indexterm>
+  specified, and (if LOCAL Is not specified) partitions the result such that
+  all records with the same <emphasis>values</emphasis> are on the same node.
+  SORT is usually used to produce the record sets operated on by the DEDUP,
+  GROUP, and ROLLUP function<indexterm>
       <primary>ROLLUP function</primary>
     </indexterm>s, so that those functions may operate optimally. Sorting
   final output is, of course, another common use.</para>

+ 1 - 1
docs/ECLStandardLibraryReference/SLR-Mods/SprayVariable.xml

@@ -96,7 +96,7 @@
           <entry><emphasis>srcCSVterminator</emphasis></entry>
 
           <entry>Optional. A null-terminated string containing the CSV record
-          separator. If omitted, the default is '\\n,\\r,\\n'</entry>
+          separator. If omitted, the default is '\\n,\\r\\n'</entry>
         </row>
 
         <row>