Author: skadam Date: Sat Jun 8 22:17:46 2019 New Revision: 1860865 URL: http://svn.apache.org/viewvc?rev=1860865&view=rev Log: Doc: Fix incorrect DDL and DML (In ARRAY Type page)
Modified: phoenix/site/publish/array_type.html phoenix/site/publish/language/datatypes.html phoenix/site/publish/language/functions.html phoenix/site/publish/language/index.html phoenix/site/source/src/site/markdown/array_type.md Modified: phoenix/site/publish/array_type.html URL: http://svn.apache.org/viewvc/phoenix/site/publish/array_type.html?rev=1860865&r1=1860864&r2=1860865&view=diff ============================================================================== --- phoenix/site/publish/array_type.html (original) +++ phoenix/site/publish/array_type.html Sat Jun 8 22:17:46 2019 @@ -169,17 +169,15 @@ <p>The Apache Phoenix 3.0/4.0 release introduces support for the <a class="externalLink" href="http://docs.oracle.com/javase/tutorial/jdbc/basics/array.html">JDBC ARRAY type</a>. Any primitive type may be used in an ARRAY. Here is an example of declaring an array type when creating a table:</p> <div class="source"> <pre>CREATE TABLE regions ( - region_name VARCHAR PRIMARY KEY, - zips VARCHAR ARRAY[10], - CONSTRAINT pk PRIMARY KEY (region_name)); + region_name VARCHAR NOT NULL PRIMARY KEY, + zips VARCHAR ARRAY[10]); </pre> </div> <p>or alternately:</p> <div class="source"> <pre>CREATE TABLE regions ( - region_name VARCHAR PRIMARY KEY, - zips VARCHAR[], - CONSTRAINT pk PRIMARY KEY (region_name)); + region_name VARCHAR NOT NULL PRIMARY KEY, + zips VARCHAR[]); </pre> </div> <p>Insertion into the array may be done entirely through a SQL statement:</p> @@ -205,12 +203,12 @@ stmt.execute(); </div> <p>or an individual element in the array may be accessed via a subscript notation. The subscript is one-based, so the following would select the first element:</p> <div class="source"> - <pre>SELECT zip[1] FROM regions WHERE region_name = 'SF Bay Area'; + <pre>SELECT zips[1] FROM regions WHERE region_name = 'SF Bay Area'; </pre> </div> <p>Use of the array subscript notation is supported in other expressions as well, for example in a WHERE clause:</p> <div class="source"> - <pre>SELECT region_name FROM regions WHERE zip[1] = '94030' OR zip[2] = '94030' OR zip[3] = '94030'; + <pre>SELECT region_name FROM regions WHERE zips[1] = '94030' OR zips[2] = '94030' OR zips[3] = '94030'; </pre> </div> <p>The length of the array grows dynamically as needed with the current length and is accessible through the ARRAY_LENGTH build it function:</p> @@ -221,18 +219,18 @@ stmt.execute(); <p>Attempts to access an array element beyond the current length will evaluate to <tt>null</tt>.</p> <p>For searching in an array, built-in functions like ANY and ALL are provided. For example,</p> <div class="source"> - <pre>SELECT region_name FROM regions WHERE '94030' = ANY(zip); -SELECT region_name FROM regions WHERE '94030' = ALL(zip); + <pre>SELECT region_name FROM regions WHERE '94030' = ANY(zips); +SELECT region_name FROM regions WHERE '94030' = ALL(zips); </pre> </div> <p>The built-in function ANY checks if any of the element in the array satisfies the condition and it is equivalent to OR condition:</p> <div class="source"> - <pre>SELECT region_name FROM regions WHERE zip[1] = '94030' OR zip[2] = '94030' OR zip[3] = '94030'; + <pre>SELECT region_name FROM regions WHERE zips[1] = '94030' OR zips[2] = '94030' OR zips[3] = '94030'; </pre> </div> <p>The built-in function ALL checks if all the elements in the array satisfies the condition and it is equivalent to AND condition:</p> <div class="source"> - <pre>SELECT region_name FROM regions WHERE zip[1] = '94030' AND zip[2] = '94030' AND zip[3] = '94030'; + <pre>SELECT region_name FROM regions WHERE zips[1] = '94030' AND zips[2] = '94030' AND zips[3] = '94030'; </pre> </div> <div class="section"> Modified: phoenix/site/publish/language/datatypes.html URL: http://svn.apache.org/viewvc/phoenix/site/publish/language/datatypes.html?rev=1860865&r1=1860864&r2=1860865&view=diff ============================================================================== --- phoenix/site/publish/language/datatypes.html (original) +++ phoenix/site/publish/language/datatypes.html Sat Jun 8 22:17:46 2019 @@ -1,7 +1,7 @@ <!DOCTYPE html> <!-- - Generated by Apache Maven Doxia at 2019-05-31 + Generated by Apache Maven Doxia at 2019-06-08 Rendered using Reflow Maven Skin 1.1.0 (http://andriusvelykis.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -165,579 +165,7 @@ <div class="body-content"> <div class="page-header"> <h1>Data Types</h1> -</div> - -<!-- } --> -<h2 id="dataTypes">Index</h2> -<!-- syntax-start -<p class="notranslate"> - - <a href="#integer_type" >INTEGER Type</a><br /> - - <a href="#unsigned_int_type" >UNSIGNED_INT Type</a><br /> - - <a href="#bigint_type" >BIGINT Type</a><br /> - - <a href="#unsigned_long_type" >UNSIGNED_LONG Type</a><br /> - - <a href="#tinyint_type" >TINYINT Type</a><br /> - - <a href="#unsigned_tinyint_type" >UNSIGNED_TINYINT Type</a><br /> - - <a href="#smallint_type" >SMALLINT Type</a><br /> - - <a href="#unsigned_smallint_type" >UNSIGNED_SMALLINT Type</a><br /> - - <a href="#float_type" >FLOAT Type</a><br /> - - <a href="#unsigned_float_type" >UNSIGNED_FLOAT Type</a><br /> - - <a href="#double_type" >DOUBLE Type</a><br /> - - <a href="#unsigned_double_type" >UNSIGNED_DOUBLE Type</a><br /> - - <a href="#decimal_type" >DECIMAL Type</a><br /> - - <a href="#boolean_type" >BOOLEAN Type</a><br /> - - <a href="#time_type" >TIME Type</a><br /> - - <a href="#date_type" >DATE Type</a><br /> - - <a href="#timestamp_type" >TIMESTAMP Type</a><br /> - - <a href="#unsigned_time_type" >UNSIGNED_TIME Type</a><br /> - - <a href="#unsigned_date_type" >UNSIGNED_DATE Type</a><br /> - - <a href="#unsigned_timestamp_type" >UNSIGNED_TIMESTAMP Type</a><br /> - - <a href="#varchar_type" >VARCHAR Type</a><br /> - - <a href="#char_type" >CHAR Type</a><br /> - - <a href="#binary_type" >BINARY Type</a><br /> - - <a href="#varbinary_type" >VARBINARY Type</a><br /> - - <a href="#array" >ARRAY</a><br /> -</p> -syntax-end --> -<!-- railroad-start --> -<table class="notranslate index"> - <tr> - <td class="index"> - - <a href="#integer_type" >INTEGER Type</a><br /> - - <a href="#unsigned_int_type" >UNSIGNED_INT Type</a><br /> - - <a href="#bigint_type" >BIGINT Type</a><br /> - - <a href="#unsigned_long_type" >UNSIGNED_LONG Type</a><br /> - - <a href="#tinyint_type" >TINYINT Type</a><br /> - - <a href="#unsigned_tinyint_type" >UNSIGNED_TINYINT Type</a><br /> - - <a href="#smallint_type" >SMALLINT Type</a><br /> - - <a href="#unsigned_smallint_type" >UNSIGNED_SMALLINT Type</a><br /> - - <a href="#float_type" >FLOAT Type</a><br /> - </td><td class="index"> - - <a href="#unsigned_float_type" >UNSIGNED_FLOAT Type</a><br /> - - <a href="#double_type" >DOUBLE Type</a><br /> - - <a href="#unsigned_double_type" >UNSIGNED_DOUBLE Type</a><br /> - - <a href="#decimal_type" >DECIMAL Type</a><br /> - - <a href="#boolean_type" >BOOLEAN Type</a><br /> - - <a href="#time_type" >TIME Type</a><br /> - - <a href="#date_type" >DATE Type</a><br /> - - <a href="#timestamp_type" >TIMESTAMP Type</a><br /> - - <a href="#unsigned_time_type" >UNSIGNED_TIME Type</a><br /> - </td><td class="index"> - - <a href="#unsigned_date_type" >UNSIGNED_DATE Type</a><br /> - - <a href="#unsigned_timestamp_type" >UNSIGNED_TIMESTAMP Type</a><br /> - - <a href="#varchar_type" >VARCHAR Type</a><br /> - - <a href="#char_type" >CHAR Type</a><br /> - - <a href="#binary_type" >BINARY Type</a><br /> - - <a href="#varbinary_type" >VARBINARY Type</a><br /> - - <a href="#array" >ARRAY</a><br /> - </td> - </tr> -</table> -<!-- railroad-end --> - - -<h3 id="integer_type" class="notranslate">INTEGER Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -INTEGER -</pre> -<div name="railroad"> -<code class="c">INTEGER</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -INTEGER -</pre> -syntax-end --> -<p>Possible values: -2147483648 to 2147483647.</p><p>Mapped to <code>java.lang.Integer</code>. The binary representation is a 4 byte integer with the sign bit flipped (so that negative values sorts before positive values).</p> -<p>Example:</p> -<p class="notranslate">INTEGER</p> - -<h3 id="unsigned_int_type" class="notranslate">UNSIGNED_INT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_INT -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_INT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_INT -</pre> -syntax-end --> -<p>Possible values: 0 to 2147483647. Mapped to <code>java.lang.Integer</code>. The binary representation is a 4 byte integer, matching the <code>HBase</code> Bytes.toBytes(int) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_INT</p> - -<h3 id="bigint_type" class="notranslate">BIGINT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -BIGINT -</pre> -<div name="railroad"> -<code class="c">BIGINT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -BIGINT -</pre> -syntax-end --> -<p>Possible values: -9223372036854775808 to 9223372036854775807. Mapped to <code>java.lang.Long</code>. The binary representation is an 8 byte long with the sign bit flipped (so that negative values sorts before positive values).</p> -<p>Example:</p> -<p class="notranslate">BIGINT</p> - -<h3 id="unsigned_long_type" class="notranslate">UNSIGNED_LONG Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_LONG -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_LONG</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_LONG -</pre> -syntax-end --> -<p>Possible values: 0 to 9223372036854775807. Mapped to <code>java.lang.Long</code>. The binary representation is an 8 byte integer, matching the <code>HBase</code> Bytes.toBytes(long) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_LONG</p> - -<h3 id="tinyint_type" class="notranslate">TINYINT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -TINYINT -</pre> -<div name="railroad"> -<code class="c">TINYINT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -TINYINT -</pre> -syntax-end --> -<p>Possible values: -128 to 127. Mapped to <code>java.lang.Byte</code>. The binary representation is a single byte, with the sign bit flipped (so that negative values sorts before positive values).</p> -<p>Example:</p> -<p class="notranslate">TINYINT</p> - -<h3 id="unsigned_tinyint_type" class="notranslate">UNSIGNED_TINYINT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_TINYINT -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_TINYINT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_TINYINT -</pre> -syntax-end --> -<p>Possible values: 0 to 127. Mapped to <code>java.lang.Byte</code>. The binary representation is a single byte, matching the <code>HBase</code> Bytes.toBytes(byte) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_TINYINT</p> - -<h3 id="smallint_type" class="notranslate">SMALLINT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -SMALLINT -</pre> -<div name="railroad"> -<code class="c">SMALLINT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -SMALLINT -</pre> -syntax-end --> -<p>Possible values: -32768 to 32767. Mapped to <code>java.lang.Short</code>. The binary representation is a 2 byte short with the sign bit flipped (so that negative values sort before positive values).</p> -<p>Example:</p> -<p class="notranslate">SMALLINT</p> - -<h3 id="unsigned_smallint_type" class="notranslate">UNSIGNED_SMALLINT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_SMALLINT -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_SMALLINT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_SMALLINT -</pre> -syntax-end --> -<p>Possible values: 0 to 32767. Mapped to <code>java.lang.Short</code>. The binary representation is an 2 byte integer, matching the <code>HBase</code> Bytes.toBytes(short) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_SMALLINT</p> - -<h3 id="float_type" class="notranslate">FLOAT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -FLOAT -</pre> -<div name="railroad"> -<code class="c">FLOAT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -FLOAT -</pre> -syntax-end --> -<p>Possible values: -3.402823466 E + 38 to 3.402823466 E + 38. Mapped to <code>java.lang.Float</code>. The binary representation is an 4 byte float with the sign bit flipped (so that negative values sort before positive values).</p> -<p>Example:</p> -<p class="notranslate">FLOAT</p> - -<h3 id="unsigned_float_type" class="notranslate">UNSIGNED_FLOAT Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_FLOAT -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_FLOAT</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_FLOAT -</pre> -syntax-end --> -<p>Possible values: 0 to 3.402823466 E + 38. Mapped to <code>java.lang.Float</code>. The binary representation is an 4 byte float matching the <code>HBase</code> Bytes.toBytes(float) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_FLOAT</p> - -<h3 id="double_type" class="notranslate">DOUBLE Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -DOUBLE -</pre> -<div name="railroad"> -<code class="c">DOUBLE</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -DOUBLE -</pre> -syntax-end --> -<p>Possible values: -1.7976931348623158 E + 308 to 1.7976931348623158 E + 308. Mapped to <code>java.lang.Double</code>. The binary representation is an 8 byte double with the sign bit flipped (so that negative values sort before positive value).</p> -<p>Example:</p> -<p class="notranslate">DOUBLE</p> - -<h3 id="unsigned_double_type" class="notranslate">UNSIGNED_DOUBLE Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_DOUBLE -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_DOUBLE</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_DOUBLE -</pre> -syntax-end --> -<p>Possible values: 0 to 1.7976931348623158 E + 308. Mapped to <code>java.lang.Double</code>. The binary representation is an 8 byte double matching the <code>HBase</code> Bytes.toBytes(double) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_DOUBLE</p> - -<h3 id="decimal_type" class="notranslate">DECIMAL Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -DECIMAL [ (<a href="index.html#int">precisionInt</a>, <a href="index.html#int">scaleInt</a>) ] -</pre> -<div name="railroad"> -<table class="railroad"><tr class="railroad"><td class="d"><code class="c">DECIMAL</code></td><td class="d"><table class="railroad"><tr class="railroad"><td class="ts"></td><td class="d"> </td><td class="te"></td></tr><tr class="railroad"><td class="ls"></td><td class="d"><table class="railroad"><tr class="railroad"><td class="d"><code class="c">( <a href="index.html#int">precisionInt</a> , <a href="index.html#int">scaleInt</a> )</code></td></tr></table></td><td class="le"></td></tr></table></td></tr></table> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -DECIMAL [ (<a href="index.html#int">precisionInt</a>, <a href="index.html#int">scaleInt</a>) ] -</pre> -syntax-end --> -<p>Data type with fixed precision and scale. A user can specify precision and scale by expression <code>DECIMAL</code>(precision,scale) in a <code>DDL</code> statement, for example, <code>DECIMAL</code>(10,2). The maximum precision is 38 digits. Mapped to <code>java.math.BigDecimal</code>. The binary representation is binary comparable, variable length format. When used in a row key, it is terminated with a null byte unless it is the last column.</p> -<p>Example:</p> -<p class="notranslate">DECIMAL<br />DECIMAL(10,2)</p> - -<h3 id="boolean_type" class="notranslate">BOOLEAN Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -BOOLEAN -</pre> -<div name="railroad"> -<code class="c">BOOLEAN</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -BOOLEAN -</pre> -syntax-end --> -<p>Possible values: <code>TRUE</code> and <code>FALSE</code>.</p><p>Mapped to <code>java.lang.Boolean</code>. The binary representation is a single byte with 0 for false and 1 for true</p> -<p>Example:</p> -<p class="notranslate">BOOLEAN</p> - -<h3 id="time_type" class="notranslate">TIME Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -TIME -</pre> -<div name="railroad"> -<code class="c">TIME</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -TIME -</pre> -syntax-end --> -<p>The time data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss, with both the date and time parts maintained. Mapped to <code>java.sql.Time</code>. The binary representation is an 8 byte long (the number of milliseconds from the epoch), making it possible (although not necessarily recommended) to store more information within a <code>TIME</code> column than what is provided by <code>java.sql.Time</code>. Note that the internal representation is based on a number of milliseconds since the epoch (which is based on a time in <code>GMT</code>), while <code>java.sql.Time</code> will format times based on the client's local time zone. Please note that this <code>TIME</code> type is different than the <code>TIME</code> type as defined by the SQL 92 standard in that it includes year, month, and day components. As such, it is not in compliance with the <code>JDBC APIs</code>. As the underlying data is still stored as a long, only the presentation of the value is incorrect.</p> -<p>Example:</p> -<p class="notranslate">TIME</p> - -<h3 id="date_type" class="notranslate">DATE Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -DATE -</pre> -<div name="railroad"> -<code class="c">DATE</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -DATE -</pre> -syntax-end --> -<p>The date data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss, with both the date and time parts maintained to a millisecond accuracy. Mapped to <code>java.sql.Date</code>. The binary representation is an 8 byte long (the number of milliseconds from the epoch), making it possible (although not necessarily recommended) to store more information within a <code>DATE</code> column than what is provided by <code>java.sql.Date</code>. Note that the internal representation is based on a number of milliseconds since the epoch (which is based on a time in <code>GMT</code>), while <code>java.sql.Date</code> will format dates based on the client's local time zone. Please note that this <code>DATE</code> type is different than the <code>DATE</code> type as defined by the SQL 92 standard in that it includes a time component. As such, it is not in compliance with the <code>JDBC APIs</code>. As the underlying data is still stored as a long, only the presentation of the value is incorre ct.</p> -<p>Example:</p> -<p class="notranslate">DATE</p> - -<h3 id="timestamp_type" class="notranslate">TIMESTAMP Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -TIMESTAMP -</pre> -<div name="railroad"> -<code class="c">TIMESTAMP</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -TIMESTAMP -</pre> -syntax-end --> -<p>The timestamp data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss[.nnnnnnnnn]. Mapped to <code>java.sql.Timestamp</code> with an internal representation of the number of nanos from the epoch. The binary representation is 12 bytes: an 8 byte long for the epoch time plus a 4 byte integer for the nanos. Note that the internal representation is based on a number of milliseconds since the epoch (which is based on a time in <code>GMT</code>), while <code>java.sql.Timestamp</code> will format timestamps based on the client's local time zone.</p> -<p>Example:</p> -<p class="notranslate">TIMESTAMP</p> - -<h3 id="unsigned_time_type" class="notranslate">UNSIGNED_TIME Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_TIME -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_TIME</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_TIME -</pre> -syntax-end --> -<p>The unsigned time data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss, with both the date and time parts maintained to the millisecond accuracy. Mapped to <code>java.sql.Time</code>. The binary representation is an 8 byte long (the number of milliseconds from the epoch) matching the <code>HBase.toBytes</code>(long) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_TIME</p> - -<h3 id="unsigned_date_type" class="notranslate">UNSIGNED_DATE Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_DATE -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_DATE</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_DATE -</pre> -syntax-end --> -<p>The unsigned date data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss, with both the date and time parts maintained to a millisecond accuracy. Mapped to <code>java.sql.Date</code>. The binary representation is an 8 byte long (the number of milliseconds from the epoch) matching the <code>HBase.toBytes</code>(long) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_DATE</p> - -<h3 id="unsigned_timestamp_type" class="notranslate">UNSIGNED_TIMESTAMP Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -UNSIGNED_TIMESTAMP -</pre> -<div name="railroad"> -<code class="c">UNSIGNED_TIMESTAMP</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -UNSIGNED_TIMESTAMP -</pre> -syntax-end --> -<p>The timestamp data type. The format is yyyy-<code>MM</code>-dd hh:mm:ss[.nnnnnnnnn]. Mapped to <code>java.sql.Timestamp</code> with an internal representation of the number of nanos from the epoch. The binary representation is 12 bytes: an 8 byte long for the epoch time plus a 4 byte integer for the nanos with the long serialized through the <code>HBase.toBytes</code>(long) method. The purpose of this type is to map to existing <code>HBase</code> data that was serialized using this <code>HBase</code> utility method. If that is not the case, use the regular signed type instead.</p> -<p>Example:</p> -<p class="notranslate">UNSIGNED_TIMESTAMP</p> - -<h3 id="varchar_type" class="notranslate">VARCHAR Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -VARCHAR [ ( <a href="index.html#int">precisionInt</a> ) ] -</pre> -<div name="railroad"> -<table class="railroad"><tr class="railroad"><td class="d"><code class="c">VARCHAR</code></td><td class="d"><table class="railroad"><tr class="railroad"><td class="ts"></td><td class="d"> </td><td class="te"></td></tr><tr class="railroad"><td class="ls"></td><td class="d"><table class="railroad"><tr class="railroad"><td class="d"><code class="c">( <a href="index.html#int">precisionInt</a> )</code></td></tr></table></td><td class="le"></td></tr></table></td></tr></table> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -VARCHAR [ ( <a href="index.html#int">precisionInt</a> ) ] -</pre> -syntax-end --> -<p>A variable length String with an optional max byte length. The binary representation is <code>UTF8</code> matching the <code>HBase</code> Bytes.toBytes(String) method. When used in a row key, it is terminated with a null byte unless it is the last column.</p><p>Mapped to <code>java.lang.String</code>.</p> -<p>Example:</p> -<p class="notranslate">VARCHAR<br />VARCHAR(255)</p> - -<h3 id="char_type" class="notranslate">CHAR Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -CHAR ( <a href="index.html#int">precisionInt</a> ) -</pre> -<div name="railroad"> -<table class="railroad"><tr class="railroad"><td class="d"><code class="c">CHAR ( <a href="index.html#int">precisionInt</a> )</code></td></tr></table> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -CHAR ( <a href="index.html#int">precisionInt</a> ) -</pre> -syntax-end --> -<p>A fixed length String with single-byte characters. The binary representation is <code>UTF8</code> matching the <code>HBase</code> Bytes.toBytes(String) method.</p><p>Mapped to <code>java.lang.String</code>.</p> -<p>Example:</p> -<p class="notranslate">CHAR(10)</p> - -<h3 id="binary_type" class="notranslate">BINARY Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -BINARY ( <a href="index.html#int">precisionInt</a> ) -</pre> -<div name="railroad"> -<table class="railroad"><tr class="railroad"><td class="d"><code class="c">BINARY ( <a href="index.html#int">precisionInt</a> )</code></td></tr></table> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -BINARY ( <a href="index.html#int">precisionInt</a> ) -</pre> -syntax-end --> -<p>Raw fixed length byte array.</p><p>Mapped to <code>byte[]</code>.</p> -<p>Example:</p> -<p class="notranslate">BINARY</p> - -<h3 id="varbinary_type" class="notranslate">VARBINARY Type</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -VARBINARY -</pre> -<div name="railroad"> -<code class="c">VARBINARY</code> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -VARBINARY -</pre> -syntax-end --> -<p>Raw variable length byte array.</p><p>Mapped to <code>byte[]</code>.</p> -<p>Example:</p> -<p class="notranslate">VARBINARY</p> - -<h3 id="array" class="notranslate">ARRAY</h3> -<!-- railroad-start --> -<pre name="bnf" style="display: none"> -ARRAY [ '[' [ <a href="index.html#int">dimensionInt</a> ] ']' ] -</pre> -<div name="railroad"> -<table class="railroad"><tr class="railroad"><td class="d"><code class="c">ARRAY</code></td><td class="d"><table class="railroad"><tr class="railroad"><td class="ts"></td><td class="d"> </td><td class="te"></td></tr><tr class="railroad"><td class="ls"></td><td class="d"><table class="railroad"><tr class="railroad"><td class="d"><code class="c">[</code></td><td class="d"><table class="railroad"><tr class="railroad"><td class="ts"></td><td class="d"> </td><td class="te"></td></tr><tr class="railroad"><td class="ls"></td><td class="d"><code class="c"><a href="index.html#int">dimensionInt</a></code></td><td class="le"></td></tr></table></td><td class="d"><code class="c">]</code></td></tr></table></td><td class="le"></td></tr></table></td></tr></table> -</div> -<!-- railroad-end --> -<!-- syntax-start -<pre> -ARRAY [ '[' [ <a href="index.html#int">dimensionInt</a> ] ']' ] -</pre> -syntax-end --> -<p>Mapped to <code>java.sql.Array</code>. Every primitive type except for <code>VARBINARY</code> may be declared as an <code>ARRAY</code>. Only single dimensional arrays are supported.</p> -<p>Example:</p> -<p class="notranslate">VARCHAR ARRAY<br />CHAR(10) ARRAY [5]<br />INTEGER []<br />INTEGER [100]</p> - -<!-- [close] { --> - -<!-- } --> +</div>update_here </div> </div> </div>