You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by yo...@apache.org on 2017/04/07 16:02:39 UTC

incubator-hawq-docs git commit: HAWQ-1424 - new alter sequence ref page (closes #117)

Repository: incubator-hawq-docs
Updated Branches:
  refs/heads/develop bd6ce7830 -> 4f333a3bf


HAWQ-1424 - new alter sequence ref page (closes #117)


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/commit/4f333a3b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/tree/4f333a3b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/diff/4f333a3b

Branch: refs/heads/develop
Commit: 4f333a3bf260c99d0a07a369997d0a5e8b44e15e
Parents: bd6ce78
Author: Lisa Owen <lo...@pivotal.io>
Authored: Fri Apr 7 09:02:34 2017 -0700
Committer: David Yozie <yo...@apache.org>
Committed: Fri Apr 7 09:02:34 2017 -0700

----------------------------------------------------------------------
 .../source/subnavs/apache-hawq-nav.erb          |   1 +
 .../reference/SQLCommandReference.html.md.erb   |   2 +
 .../reference/sql/ALTER-SEQUENCE.html.md.erb    | 102 +++++++++++++++++++
 .../reference/sql/CREATE-SEQUENCE.html.md.erb   |  20 ++--
 .../reference/sql/DROP-SEQUENCE.html.md.erb     |   2 +-
 5 files changed, 116 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/4f333a3b/book/master_middleman/source/subnavs/apache-hawq-nav.erb
----------------------------------------------------------------------
diff --git a/book/master_middleman/source/subnavs/apache-hawq-nav.erb b/book/master_middleman/source/subnavs/apache-hawq-nav.erb
index 5c784e9..489f0c4 100644
--- a/book/master_middleman/source/subnavs/apache-hawq-nav.erb
+++ b/book/master_middleman/source/subnavs/apache-hawq-nav.erb
@@ -429,6 +429,7 @@
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-OPERATOR-CLASS.html">ALTER OPERATOR CLASS</a></li>
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-RESOURCE-QUEUE.html">ALTER RESOURCE QUEUE</a></li>
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-ROLE.html">ALTER ROLE</a></li>
+              <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-SEQUENCE.html">ALTER SEQUENCE</a></li>
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-TABLE.html">ALTER TABLE</a></li>
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-TABLESPACE.html">ALTER TABLESPACE</a></li>
               <li><a href="/docs/userguide/2.2.0.0-incubating/reference/sql/ALTER-TYPE.html">ALTER TYPE</a></li>

http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/4f333a3b/markdown/reference/SQLCommandReference.html.md.erb
----------------------------------------------------------------------
diff --git a/markdown/reference/SQLCommandReference.html.md.erb b/markdown/reference/SQLCommandReference.html.md.erb
index 44938ee..f7c9689 100644
--- a/markdown/reference/SQLCommandReference.html.md.erb
+++ b/markdown/reference/SQLCommandReference.html.md.erb
@@ -39,6 +39,8 @@ This�section contains a description and the syntax�of�the SQL commands suppor
 
 -   **[ALTER ROLE](../reference/sql/ALTER-ROLE.html)**
 
+-   **[ALTER SEQUENCE](../reference/sql/ALTER-SEQUENCE.html)**
+
 -   **[ALTER TABLE](../reference/sql/ALTER-TABLE.html)**
 
 -   **[ALTER TABLESPACE](../reference/sql/ALTER-TABLESPACE.html)**

http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/4f333a3b/markdown/reference/sql/ALTER-SEQUENCE.html.md.erb
----------------------------------------------------------------------
diff --git a/markdown/reference/sql/ALTER-SEQUENCE.html.md.erb b/markdown/reference/sql/ALTER-SEQUENCE.html.md.erb
new file mode 100644
index 0000000..e10d03c
--- /dev/null
+++ b/markdown/reference/sql/ALTER-SEQUENCE.html.md.erb
@@ -0,0 +1,102 @@
+---
+title: ALTER SEQUENCE
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+Change the definition of a sequence generator.
+
+## <a id="topic1__section2"></a>Synopsis
+
+``` pre
+ALTER SEQUENCE <name>
+�������[INCREMENT [BY] <value>]
+�������[MINVALUE <minvalue> | NO MINVALUE]
+�������[MAXVALUE <maxvalue> | NO MAXVALUE]
+�������[RESTART [ WITH ] <start>]
+�������[CACHE <cache>]
+�������[[NO] CYCLE]
+�������[OWNED BY { <table>.<column> | NONE }]
+```
+
+## <a id="topic1__section3"></a>Description
+
+`ALTER SEQUENCE` changes the parameters of an existing sequence generator. Any parameters not specifically set in the `ALTER SEQUENCE` command retain their prior setting.
+
+You must own the sequence to use `ALTER SEQUENCE`. 
+
+
+## <a id="topic1__section4"></a>Parameters
+
+<dt> \<name\>  </dt>
+<dd>The name (optionally schema-qualified) of the sequence to be altered.</dd>
+
+<dt> \<increment\>  </dt>
+<dd>Specifies which value is added to the current sequence value to create a new value. A positive value will make an ascending sequence, a negative one a descending sequence. The default value is 1.</dd>
+
+<dt> \<minvalue\>  
+NO MINVALUE  </dt>
+<dd>Determines the minimum value a sequence can generate. If this clause is not supplied or `NO MINVALUE` is specified, then defaults will be used. The defaults are 1 and -2<sup>63</sup>-1 for ascending and descending sequences, respectively.</dd>
+
+<dt> \<maxvalue\>  
+NO MAXVALUE  </dt>
+<dd>Determines the maximum value for the sequence. If this clause is not supplied or `NO MAXVALUE` is specified, then default values will be used. The defaults are 2<sup>63</sup>-1 and -1 for ascending and descending sequences, respectively.</dd>
+
+<dt> \<start\>  </dt>
+<dd>The new current value of the sequence.</dd>
+
+<dt> \<cache\>  </dt>
+<dd>Specifies how many sequence numbers are to be preallocated and stored in memory for faster access. The minimum (and default) value is 1 (no cache).</dd>
+
+<dt>CYCLE  
+NO CYCLE  </dt>
+<dd>Allows the sequence to wrap around when the \<maxvalue\> (for ascending) or \<minvalue\> (for descending) has been reached. If the limit is reached, the next number generated will be the \<minvalue\> (for ascending) or \<maxvalue\> (for descending). If `NO CYCLE` is specified, any calls to `nextval()` after the sequence has reached its maximum value will return an error. If not specified, `NO CYCLE` is the default.</dd>
+
+<dt>OWNED BY \<table\>.\<column\>  
+OWNED BY NONE  </dt>
+<dd>Causes the sequence to be associated with a specific table column, such that if that column (or its whole table) is dropped, the sequence will be automatically dropped as well. If specified, this association replaces any previously specified assocation for the sequence. The specified table must have the same owner and be in the same schema as the sequence. `OWNED BY NONE` removes any existing association.</dd>
+
+## <a id="topic1__section5"></a>Notes
+
+`ALTER SEQUENCE` will not immediately affect `nextval()` results in backends, other than the current one, that have preallocated (cached) sequence values. They will use up all cached values prior to noticing the changed sequence generation parameters. The current backend will be affected immediately.
+
+Some variants of `ALTER TABLE` can be used with sequences as well; for example, to rename a sequence use `ALTER TABLE RENAME`.
+
+## <a id="topic1__section6"></a>Examples
+
+Restart the sequence named `myseq`:
+
+``` pre
+ALTER SEQUENCE myseq RESTART WITH 111;
+```
+
+Change the increment value for the sequence named `myseq`:
+
+``` pre
+ALTER SEQUENCE myseq INCREMENT BY 3;
+```
+
+## <a id="topic1__section7"></a>Compatibility
+
+`CREATE SEQUENCE` conforms to the SQL standard, with the exception that the `OWNED BY` clause is a HAWQ extension.
+
+## <a id="topic1__section8"></a>See Also
+
+[CREATE SEQUENCE](CREATE-SEQUENCE.html), [DROP SEQUENCE](DROP-SEQUENCE.html)

http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/4f333a3b/markdown/reference/sql/CREATE-SEQUENCE.html.md.erb
----------------------------------------------------------------------
diff --git a/markdown/reference/sql/CREATE-SEQUENCE.html.md.erb b/markdown/reference/sql/CREATE-SEQUENCE.html.md.erb
index 01b81d3..70e5117 100644
--- a/markdown/reference/sql/CREATE-SEQUENCE.html.md.erb
+++ b/markdown/reference/sql/CREATE-SEQUENCE.html.md.erb
@@ -42,13 +42,13 @@ CREATE [TEMPORARY | TEMP] SEQUENCE <name>
 
 If a schema name is given, then the sequence is created in the specified schema. Otherwise it is created in the current schema. Temporary sequences exist in a special schema, so a schema name may not be given when creating a temporary sequence. The sequence name must be distinct from the name of any other sequence, table, or view in the same schema.
 
-After a sequence is created, you use the `nextval` function to operate on the sequence. For example, to insert a row into a table that gets the next value of a sequence:
+After a sequence is created, you use the `nextval()` function to operate on the sequence. For example, to insert a row into a table that gets the next value of a sequence:
 
 ``` pre
 INSERT INTO distributors VALUES (nextval('myserial'), 'acme');
 ```
 
-You can also use the function `setval` to operate on a sequence, but only for queries that do not operate on distributed data. For example, the following query is allowed because it resets the sequence counter value for the sequence generator process on the master:
+You can also use the function `setval()` to operate on a sequence, but only for queries that do not operate on distributed data. For example, the following query is allowed because it resets the sequence counter value for the sequence generator process on the master:
 
 ``` pre
 SELECT setval('myserial', 201);
@@ -64,9 +64,9 @@ In a regular (non-distributed) database, functions that operate on the sequence
 
 Because of this distributed sequence design, there are some limitations on the functions that operate on a sequence in HAWQ:
 
--   `lastval` and `currval` functions are not supported.
--   `setval` can only be used to set the value of the sequence generator on the master, it cannot be used in subqueries to update records on distributed table data.
--   `nextval` sometimes grabs a block of values from the master for a segment to use, depending on the query. So values may sometimes be skipped in the sequence if all of the block turns out not to be needed at the segment level. Note that a regular PostgreSQL database does this too, so this is not something unique to HAWQ.
+-   `lastval()` and `currval()` functions are not supported.
+-   `setval()` can only be used to set the value of the sequence generator on the master, it cannot be used in subqueries to update records on distributed table data.
+-   `nextval()` sometimes grabs a block of values from the master for a segment to use, depending on the query. So values may sometimes be skipped in the sequence if all of the block turns out not to be needed at the segment level. Note that a regular PostgreSQL database does this too, so this is not something unique to HAWQ.
 
 Although you cannot update a sequence directly, you can use a query like:
 
@@ -89,11 +89,11 @@ to examine the parameters and current state of a sequence. In particular, the `l
 
 <dt> \<minvalue\>  
 NO MINVALUE  </dt>
-<dd>Determines the minimum value a sequence can generate. If this clause is not supplied or `NO MINVALUE` is specified, then defaults will be used. The defaults are 1 and -263-1 for ascending and descending sequences, respectively.</dd>
+<dd>Determines the minimum value a sequence can generate. If this clause is not supplied or `NO MINVALUE` is specified, then defaults will be used. The defaults are 1 and -2<sup>63</sup>-1 for ascending and descending sequences, respectively.</dd>
 
 <dt> \<maxvalue\>  
 NO MAXVALUE  </dt>
-<dd>Determines the maximum value for the sequence. If this clause is not supplied or `NO MAXVALUE` is specified, then default values will be used. The defaults are 263-1 and -1 for ascending and descending sequences, respectively.</dd>
+<dd>Determines the maximum value for the sequence. If this clause is not supplied or `NO MAXVALUE` is specified, then default values will be used. The defaults are 2<sup>63-1 and -1 for ascending and descending sequences, respectively.</dd>
 
 <dt> \<start\>  </dt>
 <dd>Allows the sequence to begin anywhere. The default starting value is \<minvalue\> for ascending sequences and \<maxvalue\> for descending ones.</dd>
@@ -113,7 +113,7 @@ OWNED BY NONE  </dt>
 
 Sequences are based on bigint arithmetic, so the range cannot exceed the range of an eight-byte integer (-9223372036854775808 to 9223372036854775807).
 
-Although multiple sessions are guaranteed to allocate distinct sequence values, the values may be generated out of sequence when all the sessions are considered. For example, session A might reserve values 1..10 and return `nextval=1`, then session B might reserve values 11..20 and return `nextval=11` before session A has generated nextval=2. Thus, you should only assume that the `nextval` values are all distinct, not that they are generated purely sequentially. Also,`last_value` will reflect the latest value reserved by any session, whether or not it has yet been returned by `nextval`.
+Although multiple sessions are guaranteed to allocate distinct sequence values, the values may be generated out of sequence when all the sessions are considered. For example, session A might reserve values 1..10 and return `nextval=1`, then session B might reserve values 11..20 and return `nextval=11` before session A has generated `nextval=2`. Thus, you should only assume that the `nextval()` values are all distinct, not that they are generated purely sequentially. Also,`last_value` will reflect the latest value reserved by any session, whether or not it has yet been returned by `nextval()`.
 
 ## <a id="topic1__section6"></a>Examples
 
@@ -135,7 +135,7 @@ Reset the sequence counter value on the master:
 SELECT setval('myseq', 201);
 ```
 
-Illegal use of `setval` in HAWQ (setting sequence values on distributed data):
+Illegal use of `setval()` in HAWQ (setting sequence values on distributed data):
 
 ``` pre
 INSERT INTO product VALUES (setval('myseq', 201), 'gizmo');
@@ -151,4 +151,4 @@ INSERT INTO product VALUES (setval('myseq', 201), 'gizmo');
 
 ## <a id="topic1__section8"></a>See Also
 
-[DROP SEQUENCE](DROP-SEQUENCE.html)
+[ALTER SEQUENCE](ALTER-SEQUENCE.html), [DROP SEQUENCE](DROP-SEQUENCE.html)

http://git-wip-us.apache.org/repos/asf/incubator-hawq-docs/blob/4f333a3b/markdown/reference/sql/DROP-SEQUENCE.html.md.erb
----------------------------------------------------------------------
diff --git a/markdown/reference/sql/DROP-SEQUENCE.html.md.erb b/markdown/reference/sql/DROP-SEQUENCE.html.md.erb
index 4d787ae..e0473bd 100644
--- a/markdown/reference/sql/DROP-SEQUENCE.html.md.erb
+++ b/markdown/reference/sql/DROP-SEQUENCE.html.md.erb
@@ -61,4 +61,4 @@ DROP SEQUENCE myserial;
 
 ## <a id="topic1__section7"></a>See Also
 
-[CREATE SEQUENCE](CREATE-SEQUENCE.html)
+[ALTER SEQUENCE](ALTER-SEQUENCE.html), [CREATE SEQUENCE](CREATE-SEQUENCE.html)