Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vzPCc-000yPZ-2H for pgsql-general@arkaria.postgresql.org; Mon, 09 Mar 2026 01:14:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vzPCZ-00Ctle-2I for pgsql-general@arkaria.postgresql.org; Mon, 09 Mar 2026 01:14:32 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vzPCY-00CtlW-38 for pgsql-general@lists.postgresql.org; Mon, 09 Mar 2026 01:14:31 +0000 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vzPCV-00000001CxC-3rMY for pgsql-general@lists.postgresql.org; Mon, 09 Mar 2026 01:14:30 +0000 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-46704fbf62dso347212b6e.1 for ; Sun, 08 Mar 2026 18:14:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773018867; cv=none; d=google.com; s=arc-20240605; b=KtR0ufhXqO6WYSRIkBn2THRjkqfab4ROn970RUyZsJtXZWWJcARArP6lbxw+OZZtxo X0eEVc1UzAgB6JGZN5+Bm2B+v52RSfn7sVFGGE55cVawsxJ0P4IweMS8DcT+OpffnsJu f2x94iasl5jKHWbEtppxN2fj9wv1+bMZsfcz+auCJvq6BAOcZhbfE3j4oGILUMEkl1DI nSA+HggLLiLkuuxm7nDQWDyyqfzFF7sq+QkGcxo+0Ag9NZP7jULaSCwEPb4r66u+JSdB HwiYNQQa5g6DkRGfntulFRXeVG6g0fEDWljN0twc40ALx0we5E2hceU0x6jgSarNzWB8 UCKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=kNSzk37TFVv4DVQzB9MHkTTzZmbHIn9TpEsfohl/WwY=; fh=MqX3/PjeIRWyveucHIwmT3MEzIvphFWgoM5FEnVDTkI=; b=CqmDM1bEG7xoyeTfYEsW26NRvOFItQbXQWU5bHkW17z3AFkCBv7tbyRsg/+i6K3dRr TZ3WkK0lirk1aRpa6S9bkIjjJz6SuC8e1NPusIctFgUNUuNQrNmWkFbm5FIOt/2EedNf I1LppBI2G0JgTPyJJjT6sFxZ3nEwErEwwNUEnfF+Qpmbl6IjnL+43JpYM7ZJSTerozhp BQk/wGM2H24bBlLwPm2D0E1zFPeZW0K6bwXC+tdggLodLVWWLfv8HcgUtJhX26dEpi1x fW5MIZNF3h+BtwLyKe1qdpRu2Qxms4j1N1FuQ6HW6iGvbTd36/5wegoCv4AZOMeTSvrD ES0g==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773018867; x=1773623667; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kNSzk37TFVv4DVQzB9MHkTTzZmbHIn9TpEsfohl/WwY=; b=a0NnjF7FiXo1lA08VuF8QGtWYfK/+r7X0weIH0Yt2EPvnhHSTv0ZqUcHmwrPPvmotj cSQqe2hXOXswI78zMtUD0H11B0qFMTyl9fZ7s4IML8zU5bFy7UaXrHM7OnymsCWuo/xu VtP1ABk347g9N/ZfJmKQPM4suaX+6rDjLDn1IXSTS8pJgBPPou223thtwHVmY3rGNI8j 2xBnHTTXc3MK4bhJAZ8SwfXS09RBpqK7z/EUxUGxs4cTUiGxpqcZhXdp51Y42v6foaX+ qEuD+CEwlVv1JI0xUSMvvbuAHUWJHQV6MgAMXwas6UkinUKJgVCISNGbZMf1VVCgaRQi tMFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773018867; x=1773623667; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kNSzk37TFVv4DVQzB9MHkTTzZmbHIn9TpEsfohl/WwY=; b=l4HnupA/vNwKO93ihRajMHdtrcYHdyHIPNOt56wjObY7UpTpc7ZIuZTurd/S01lM8X g2KrmKlto39SW8UFSpADMKrKmxsJRYrhiuVjyeECnWK6jt/9W8w6S5vgoeMGzaZax4rM 61feqjLZ9cItvzRRS1ZbZb1BPg4LBBEn7vwckdpojIp/INeAB8ybJVAwzcc2yutz4yUz 44biVF3K5RBSYT+qIxWo7MReEEvMqrKjMOxA8c6X8FN3PY1PL8d/bBMyAuLE0t7mYNH7 0jpSgoxQu3sQV5ZUfPJLcNTgchnSe5Sr35rHLQyI8YBckycBnLCOGRQZepx1kvwuRvA8 XQ8w== X-Gm-Message-State: AOJu0Ywmkvug3rTeD/bd17D5Q6GL1sbea3I3gK4qNBDutvkVK+CuQ7SD GXelva3sC5EBTff2r2dfa3L7Iwg9YmTmnxsLgH2jWaAxML0jubjX3EAeX3oyCqyiyASF7bmUk1M 4IFHWVdPmRzBaFy6jwmJjfnZbAfd2ILpyEENDU2E= X-Gm-Gg: ATEYQzzGCGrL59UDGMcv+xaTj9jFoCAVPmdyBKPpDs1n9FAODAsWIamm4QYEHRX3TWp fZiJ+UHhoeeprjtA01otkTkasQ+I63j+BQeWORFWf33GPgpWDB8H0DU/iZ6mkLa0MNA6+7vWMpW Fut8iTpSEssCnDPoMcSrYF9EcXwE8D3u0uFXtTQEaoDmKmP5jcWXLEJks0L1lpCBdGfwBlOtG3B 63gsCNujTush5l1reaTX7JEKAhPujpXqWMqjsOJ54D14Yxp8itXQPFeidtWBdTBJOwLziBsFZh3 8S+4Gfo= X-Received: by 2002:a05:6808:c413:b0:464:8c65:935f with SMTP id 5614622812f47-466dca6aca7mr6726643b6e.16.1773018867039; Sun, 08 Mar 2026 18:14:27 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "David G. Johnston" Date: Sun, 8 Mar 2026 18:13:50 -0700 X-Gm-Features: AaiRm529O_cVaGyOwZNgpglBMbRPxtL1xU6uS4gZWGNgGVBR_hkhwQr8zGMRohM Message-ID: Subject: Re: CREATE TABLE fails To: Igor Korot Cc: "pgsql-generallists.postgresql.org" Content-Type: multipart/mixed; boundary="000000000000c071c2064c8d1f0f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c071c2064c8d1f0f Content-Type: multipart/alternative; boundary="000000000000c071c1064c8d1f0d" --000000000000c071c1064c8d1f0d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Mar 8, 2026 at 5:04=E2=80=AFPM David G. Johnston wrote: > On Sunday, March 8, 2026, Igor Korot wrote: > >> David, >> >> On Sun, Mar 8, 2026 at 6:49=E2=80=AFPM David G. Johnston >> wrote: >> > >> > On Sunday, March 8, 2026, Igor Korot wrote: >> >> >> >> >> >> So the "WITH " clause is definitely available for indexes. >> > >> > >> > Yeah, given you aren=E2=80=99t getting a syntax error all this advice = to change >> the syntax is wrong. Though assuming you meant to apply it to the table >> was at least reasonable given the lack of confirmed intent statement for >> what the command should be doing. >> >> Thanks. >> It is a little confusing how it is written in the docs. >> >> But I'm not sure how to explain it better. ;-) >> >> > Yeah, using the same term for two separate things isn=E2=80=99t ideal. U= sing > table_storage_parameters and index_storage_parameters separately, and > directly pointing the later to the create index page, would probably be > better than an overlookable single sentence in the big storage parameters > paragraph. > > Concretely (will send to -hackers later if needed): diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index bb7505d171b..d50c71c0a11 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml For consistency with the changes made in create table. @@ -25,7 +25,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] column_name | ( expression ) } [ COLLATE collation ] [ opclass [ ( opclass_parameter =3D value [, ... ] ) ] ] [ ASC | DESC ] [ NUL= LS { FIRST | LAST } ] [, ...] ) [ INCLUDE ( column_name [, ...] ) ] [ NULLS [ NOT ] DISTINCT ] - [ WITH ( storage_parameter [=3D value] [, ... ] ) ] + [ WITH ( index_storage_parameter [=3D value] [, ... ] ) ] [ TABLESPACE tablespace_name ] [ WHERE predicate ] @@ -349,7 +349,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] - storage_parameter + index_storage_parameter The name of an index-method-specific storage parameter. See This is just adding a documentation index entry where one is needed. @@ -385,6 +385,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] Index Storage Parameters + + storage parameters + + The optional WITH clause specifies storage parameters for the index. Each index method has its own set diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index 982532fe725..acd61534265 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml Distinguish in the synopsis the two sets of storage parameters in play here= . @@ -30,7 +30,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI [ INHERITS ( parent_table [, ... ] ) ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] [ USING method ] -[ WITH ( storage_parameter = [=3D value] [, ... ] ) | WITHOUT OIDS ] +[ WITH ( table_storage_parameter [=3D value] [, ... ] ) | WITHOUT OIDS ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ TABLESPACE tablespace_name ] @@ -42,7 +42,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI ) ] [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] [ USING method ] -[ WITH ( storage_parameter = [=3D value] [, ... ] ) | WITHOUT OIDS ] +[ WITH ( table_storage_parameter [=3D value] [, ... ] ) | WITHOUT OIDS ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ TABLESPACE tablespace_name ] @@ -54,7 +54,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI ) ] { FOR VALUES partition_bound_spec | DEFAULT } [ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] [ USING method ] -[ WITH ( storage_parameter = [=3D value] [, ... ] ) | WITHOUT OIDS ] +[ WITH ( table_storage_parameter [=3D value] [, ... ] ) | WITHOUT OIDS ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ TABLESPACE tablespace_name ] @@ -100,7 +100,7 @@ WITH ( MODULUS numeric_literal, REM index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are: [ INCLUDE ( column_name [, ... ] ) ] -[ WITH ( storage_parameter = [=3D value] [, ... ] ) ] +[ WITH ( index_storage_parameter [=3D value] [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ] Add the second variant in the description area consistent with the other multi-variant syntax blocks being documented here. Also mention and link to the index ones directly instead of only via the table storage parameters section. The comment about OIDS doesn't fit in with the paragraph about storage parameters, give it its own paragraph. @@ -1451,12 +1451,17 @@ WITH ( MODULUS numeric_literal, REM - WITH ( storage_parameter [=3D value] [, ... ] ) + WITH ( table_storage_parameter [=3D value] [, ... ] ) + WITH ( index_storage_parameter [=3D value] [, ... ] ) This clause specifies optional storage parameters for a table or index; see below for more - information. For backward-compatibility the WITH + information on table storage parameters. For index storage parameter= s + see . + + + For backward-compatibility the WITH clause for a table can also include OIDS=3DFALSE = to specify that rows of the new table should not contain OIDs (object identifiers), OIDS=3DTRUE is not supported anymor= e. We already name Index Storage Parameters, we should add "Table" here. @@ -1555,8 +1560,8 @@ WITH ( MODULUS numeric_literal, REM - - Storage Parameters + + Table Storage Parameters storage parameters And point to the actual storage parameter section directly instead of the whole page. @@ -1567,7 +1572,7 @@ WITH ( MODULUS numeric_literal, REM for tables, and for indexes associated with a UNIQUE, PRIMARY KEY, or EXCLUDE constraint. Storage parameters for - indexes are documented in . + indexes are documented in The storage parameters currently available for tables are listed below. For many of these parameters, as shown, there is an additional parameter with the same name prefixed with We continue to speak of "storage parameters" in each page without qualification, just adding table/index for titles and syntax labels for the specific clarity needed in those cases. David J. --000000000000c071c1064c8d1f0d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sun, Mar 8, 2026 at 5:04=E2=80=AFPM David G. Johnston &= lt;david.g.johnston@gmail.com= > wrote:
On Sunday, March = 8, 2026, Igor Korot <ikorot01@gmail.com> wrote:
David,

On Sun, Mar 8, 2026 at 6:49=E2=80=AFPM David G. Johnston
<david.g= .johnston@gmail.com> wrote:
>
> On Sunday, March 8, 2026, Igor Korot <ikorot01@gmail.com> wrote:
>>
>>
>> So the "WITH " clause is definitely available for indexe= s.
>
>
> Yeah, given you aren=E2=80=99t getting a syntax error all this advice = to change the syntax is wrong.=C2=A0 Though assuming you meant to apply it = to the table was at least reasonable given the lack of confirmed intent sta= tement for what the command should be doing.

Thanks.
It is a little confusing how it is written in the docs.

But I'm not sure how to explain it better. ;-)


Yeah, using the same term for two separate= things isn=E2=80=99t ideal.=C2=A0 Using table_storage_parameters and index= _storage_parameters separately, and directly pointing the later to the crea= te index page, would probably be better than an overlookable single sentenc= e in the big storage parameters paragraph.


Concretely (will send to -hackers later if needed):


diff --git a/doc/src/sgml/ref/create_index.sg= ml b/doc/src/sgml/ref/create_index.sgml
index bb7505d171b..d50c71c0a11 1= 00644
--- a/doc/src/sgml/ref/create_index.sgml
+++ b/doc/src/sgml/ref= /create_index.sgml


For consistency with the changes made i= n create table.

@@ -25,7 = +25,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <r= eplaceable class=3D
=C2=A0 =C2=A0 =C2=A0( { <replaceable class=3D&quo= t;parameter">column_name</replaceable> | ( <replaceable cl= ass=3D"parameter">expression</replaceable> ) } [ COLLATE= <replaceable class=3D"parameter">collation</replaceable= > ] [ <replaceable class=3D"parameter">opclass</repla= ceable> [ ( <replaceable class=3D"parameter">opclass_par= ameter</replaceable> =3D <replaceable class=3D"parameter"= ;>value</replaceable> [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRS= T | LAST } ] [, ...] )
=C2=A0 =C2=A0 =C2=A0[ INCLUDE ( <replaceable c= lass=3D"parameter">column_name</replaceable> [, ...] ) ]=
=C2=A0 =C2=A0 =C2=A0[ NULLS [ NOT ] DISTINCT ]
- =C2=A0 =C2=A0[ WITH= ( <replaceable class=3D"parameter">storage_parameter</r= eplaceable> [=3D <replaceable class=3D"parameter">value&= lt;/replaceable>] [, ... ] ) ]
+ =C2=A0 =C2=A0[ WITH ( <replaceabl= e class=3D"parameter">index_storage_parameter</replaceable&= gt; [=3D <replaceable class=3D"parameter">value</replace= able>] [, ... ] ) ]
=C2=A0 =C2=A0 =C2=A0[ TABLESPACE <replaceable = class=3D"parameter">tablespace_name</replaceable> ]
= =C2=A0 =C2=A0 =C2=A0[ WHERE <replaceable class=3D"parameter"&g= t;predicate</replaceable> ]
=C2=A0</synopsis>
@@ -34= 9,7 +349,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] = <replaceable class=3D
=C2=A0 =C2=A0 =C2=A0 </varlistentry>
= =C2=A0
=C2=A0 =C2=A0 =C2=A0 <varlistentry>
- =C2=A0 =C2=A0 =C2= =A0<term><replaceable class=3D"parameter">storage_par= ameter</replaceable></term>
+ =C2=A0 =C2=A0 =C2=A0<term&g= t;<replaceable class=3D"parameter">index_storage_parameter&= lt;/replaceable></term>
=C2=A0 =C2=A0 =C2=A0 =C2=A0<listitem= >
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <para>
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0The name of an index-method-specific storage parameter.=C2=A0 = See


This is just adding a documentation i= ndex entry where one is needed.

@@ -385,6 +385,10 @@ C= REATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable= class=3D
=C2=A0 =C2=A0<refsect2 id=3D"sql-createindex-storage-p= arameters" xreflabel=3D"Index Storage Parameters">
=C2= =A0 =C2=A0 <title>Index Storage Parameters</title>
=C2=A0+ <indexterm zone=3D"sql-createindex-storage-parameters"><= br>+ =C2=A0<primary>storage parameters</primary>
+ </inde= xterm>
+
=C2=A0 =C2=A0 <para>
=C2=A0 =C2=A0 =C2=A0The opt= ional <literal>WITH</literal> clause specifies <firstterm>= ;storage
=C2=A0 =C2=A0 =C2=A0parameters</firstterm> for the index.= =C2=A0 Each index method has its own set


diff --gi= t a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml=
index 982532fe725..acd61534265 100644
--- a/doc/src/sgml/ref/create_= table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml

Distinguish in the synopsis the two sets of storage parameters in play her= e.

@@ -30,7 +30,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | = TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
=C2=A0[ INHERITS ( <replaceabl= e>parent_table</replaceable> [, ... ] ) ]
=C2=A0[ PARTITION BY = { RANGE | LIST | HASH } ( { <replaceable class=3D"parameter"&g= t;column_name</replaceable> | ( <replaceable class=3D"paramet= er">expression</replaceable> ) } [ COLLATE <replaceable cl= ass=3D"parameter">collation</replaceable> ] [ <replac= eable class=3D"parameter">opclass</replaceable> ] [, ...= ] ) ]
=C2=A0[ USING <replaceable class=3D"parameter">me= thod</replaceable> ]
-[ WITH ( <replaceable class=3D"param= eter">storage_parameter</replaceable> [=3D <replaceable cl= ass=3D"parameter">value</replaceable>] [, ... ] ) | WITH= OUT OIDS ]
+[ WITH ( <replaceable class=3D"parameter">ta= ble_storage_parameter</replaceable> [=3D <replaceable class=3D&quo= t;parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]=
=C2=A0[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
=C2=A0[ T= ABLESPACE <replaceable class=3D"parameter">tablespace_name&= lt;/replaceable> ]
=C2=A0
@@ -42,7 +42,7 @@ CREATE [ [ GLOBAL | LO= CAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
=C2=A0) ]
= =C2=A0[ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class=3D&q= uot;parameter">column_name</replaceable> | ( <replaceable = class=3D"parameter">expression</replaceable> ) } [ COLLA= TE <replaceable class=3D"parameter">collation</replaceab= le> ] [ <replaceable class=3D"parameter">opclass</rep= laceable> ] [, ... ] ) ]
=C2=A0[ USING <replaceable class=3D"= parameter">method</replaceable> ]
-[ WITH ( <replaceabl= e class=3D"parameter">storage_parameter</replaceable> [= =3D <replaceable class=3D"parameter">value</replaceable&= gt;] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class=3D"= ;parameter">table_storage_parameter</replaceable> [=3D <re= placeable class=3D"parameter">value</replaceable>] [, ..= . ] ) | WITHOUT OIDS ]
=C2=A0[ ON COMMIT { PRESERVE ROWS | DELETE ROWS |= DROP } ]
=C2=A0[ TABLESPACE <replaceable class=3D"parameter&quo= t;>tablespace_name</replaceable> ]
=C2=A0
@@ -54,7 +54,7 @@ = CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NO= T EXI
=C2=A0) ] { FOR VALUES <replaceable class=3D"parameter&quo= t;>partition_bound_spec</replaceable> | DEFAULT }
=C2=A0[ PARTI= TION BY { RANGE | LIST | HASH } ( { <replaceable class=3D"parameter= ">column_name</replaceable> | ( <replaceable class=3D"= ;parameter">expression</replaceable> ) } [ COLLATE <replac= eable class=3D"parameter">collation</replaceable> ] [ &l= t;replaceable class=3D"parameter">opclass</replaceable> = ] [, ... ] ) ]
=C2=A0[ USING <replaceable class=3D"parameter&quo= t;>method</replaceable> ]
-[ WITH ( <replaceable class=3D&qu= ot;parameter">storage_parameter</replaceable> [=3D <replac= eable class=3D"parameter">value</replaceable>] [, ... ] = ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class=3D"parameter&quo= t;>table_storage_parameter</replaceable> [=3D <replaceable clas= s=3D"parameter">value</replaceable>] [, ... ] ) | WITHOU= T OIDS ]
=C2=A0[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
= =C2=A0[ TABLESPACE <replaceable class=3D"parameter">tablesp= ace_name</replaceable> ]
=C2=A0
@@ -100,7 +100,7 @@ WITH ( MODU= LUS <replaceable class=3D"parameter">numeric_literal</re= placeable>, REM
=C2=A0<phrase><replaceable class=3D"par= ameter">index_parameters</replaceable> in <literal>UNIQ= UE</literal>, <literal>PRIMARY KEY</literal>, and <lit= eral>EXCLUDE</literal> constraints are:</phrase>
=C2=A0=C2=A0[ INCLUDE ( <replaceable class=3D"parameter">column= _name</replaceable> [, ... ] ) ]
-[ WITH ( <replaceable class= =3D"parameter">storage_parameter</replaceable> [=3D <= replaceable class=3D"parameter">value</replaceable>] [, = ... ] ) ]
+[ WITH ( <replaceable class=3D"parameter">ind= ex_storage_parameter</replaceable> [=3D <replaceable class=3D"= ;parameter">value</replaceable>] [, ... ] ) ]
=C2=A0[ USIN= G INDEX TABLESPACE <replaceable class=3D"parameter">tablesp= ace_name</replaceable> ]


Add t= he second variant in the description area consistent with the other multi-v= ariant=C2=A0syntax blocks being documented here.
Also mention and l= ink to the index ones directly instead of only via the table storage parame= ters section.
The comment about OIDS doesn't fit in with the pa= ragraph about storage parameters, give it its own paragraph.

@@= -1451,12 +1451,17 @@ WITH ( MODULUS <replaceable class=3D"paramete= r">numeric_literal</replaceable>, REM
=C2=A0 =C2=A0 </v= arlistentry>
=C2=A0
=C2=A0 =C2=A0 <varlistentry id=3D"sql-= createtable-parms-with">
- =C2=A0 =C2=A0<term><literal&= gt;WITH ( <replaceable class=3D"parameter">storage_paramete= r</replaceable> [=3D <replaceable class=3D"parameter">= ;value</replaceable>] [, ... ] )</literal></term>
+ = =C2=A0 =C2=A0<term><literal>WITH ( <replaceable class=3D&quo= t;parameter">table_storage_parameter</replaceable> [=3D <r= eplaceable class=3D"parameter">value</replaceable>] [, .= .. ] )</literal></term>
+ =C2=A0 =C2=A0<term><liter= al>WITH ( <replaceable class=3D"parameter">index_storage= _parameter</replaceable> [=3D <replaceable class=3D"parameter= ">value</replaceable>] [, ... ] )</literal></term>= ;
=C2=A0 =C2=A0 =C2=A0<listitem>
=C2=A0 =C2=A0 =C2=A0 <para&= gt;
=C2=A0 =C2=A0 =C2=A0 =C2=A0This clause specifies optional storage pa= rameters for a table or index;
=C2=A0 =C2=A0 =C2=A0 =C2=A0see <xref l= inkend=3D"sql-createtable-storage-parameters"/> below for more=
- =C2=A0 =C2=A0 =C2=A0information.=C2=A0 For backward-compatibility the= <literal>WITH</literal>
+ =C2=A0 =C2=A0 =C2=A0information o= n table storage parameters. For index storage parameters
+ =C2=A0 =C2=A0= =C2=A0see <xref linkend=3D"sql-createindex-storage-parameters"= ;/>.
+ =C2=A0 =C2=A0 </para>
+ =C2=A0 =C2=A0 <para>+ =C2=A0 =C2=A0 =C2=A0For backward-compatibility the <literal>WITH&l= t;/literal>
=C2=A0 =C2=A0 =C2=A0 =C2=A0clause for a table can also in= clude <literal>OIDS=3DFALSE</literal> to
=C2=A0 =C2=A0 =C2= =A0 =C2=A0specify that rows of the new table should not contain OIDs (objec= t
=C2=A0 =C2=A0 =C2=A0 =C2=A0identifiers), <literal>OIDS=3DTRUE<= ;/literal> is not supported anymore.

We already nam= e Index Storage Parameters, we should add "Table" here.
<= br>@@ -1555,8 +1560,8 @@ WITH ( MODULUS <replaceable class=3D"param= eter">numeric_literal</replaceable>, REM
=C2=A0
=C2=A0 = =C2=A0</variablelist>
=C2=A0
- =C2=A0<refsect2 id=3D"sq= l-createtable-storage-parameters" xreflabel=3D"Storage Parameters= ">
- =C2=A0 <title>Storage Parameters</title>
+ = =C2=A0<refsect2 id=3D"sql-createtable-storage-parameters" xref= label=3D"Table Storage Parameters">
+ =C2=A0 <title>T= able Storage Parameters</title>
=C2=A0
=C2=A0 <indexterm zon= e=3D"sql-createtable-storage-parameters">
=C2=A0 =C2=A0<= primary>storage parameters</primary>

And poi= nt to the actual storage parameter section directly instead of the whole pa= ge.

@@ -1567,7 +1572,7 @@ WITH ( MODULUS <replaceable class= =3D"parameter">numeric_literal</replaceable>, REM
=C2= =A0 =C2=A0 =C2=A0for tables, and for indexes associated with a <literal&= gt;UNIQUE</literal>,
=C2=A0 =C2=A0 =C2=A0<literal>PRIMARY KE= Y</literal>, or <literal>EXCLUDE</literal> constraint.=C2=A0 =C2=A0 =C2=A0Storage parameters for
- =C2=A0 =C2=A0indexes are d= ocumented in <xref linkend=3D"sql-createindex"/>.
+ =C2= =A0 =C2=A0indexes are documented in <xref linkend=3D"sql-createinde= x-storage-parameters"/>
=C2=A0 =C2=A0 =C2=A0The storage paramete= rs currently
=C2=A0 =C2=A0 =C2=A0available for tables are listed below.= =C2=A0 For many of these parameters, as
=C2=A0 =C2=A0 =C2=A0shown, there= is an additional parameter with the same name prefixed with



We continue to speak of "storage para= meters" in each page without qualification, just adding table/index fo= r titles and syntax labels for the specific clarity needed in those cases.<= /div>

David J.

--000000000000c071c1064c8d1f0d-- --000000000000c071c2064c8d1f0f Content-Type: text/x-patch; charset="US-ASCII"; name="with-clause-create-relation-doc-index.diff" Content-Disposition: attachment; filename="with-clause-create-relation-doc-index.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmihggov0 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2luZGV4LnNnbWwgYi9kb2Mvc3Jj L3NnbWwvcmVmL2NyZWF0ZV9pbmRleC5zZ21sCmluZGV4IGJiNzUwNWQxNzFiLi5kNTBjNzFjMGEx MSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfaW5kZXguc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9pbmRleC5zZ21sCkBAIC0yNSw3ICsyNSw3IEBAIENSRUFU RSBbIFVOSVFVRSBdIElOREVYIFsgQ09OQ1VSUkVOVExZIF0gWyBbIElGIE5PVCBFWElTVFMgXSA8 cmVwbGFjZWFibGUgY2xhc3M9CiAgICAgKCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ICkgfSBbIENPTExBVEUgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmNvbGxhdGlvbjwvcmVwbGFjZWFibGU+IF0gWyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+b3BjbGFzczwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+b3BjbGFzc19wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiA9IDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+IFssIC4uLiBd ICkgXSBdIFsgQVNDIHwgREVTQyBdIFsgTlVMTFMgeyBGSVJTVCB8IExBU1QgfSBdIFssIC4uLl0g KQogICAgIFsgSU5DTFVERSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5f bmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSBdCiAgICAgWyBOVUxMUyBbIE5PVCBdIERJU1RJ TkNUIF0KLSAgICBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3RvcmFn ZV9wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiBbPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dmFsdWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0gKSBdCisgICAgWyBXSVRIICggPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3N0b3JhZ2VfcGFyYW1ldGVyPC9yZXBsYWNl YWJsZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJs ZT5dIFssIC4uLiBdICkgXQogICAgIFsgVEFCTEVTUEFDRSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+dGFibGVzcGFjZV9uYW1lPC9yZXBsYWNlYWJsZT4gXQogICAgIFsgV0hFUkUgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnByZWRpY2F0ZTwvcmVwbGFjZWFibGU+IF0KIDwv c3lub3BzaXM+CkBAIC0zNDksNyArMzQ5LDcgQEAgQ1JFQVRFIFsgVU5JUVVFIF0gSU5ERVggWyBD T05DVVJSRU5UTFkgXSBbIFsgSUYgTk9UIEVYSVNUUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0KICAg ICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgIDx0ZXJtPjxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFi bGU+PC90ZXJtPgorICAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmlu ZGV4X3N0b3JhZ2VfcGFyYW1ldGVyPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgICA8bGlzdGl0 ZW0+CiAgICAgICAgPHBhcmE+CiAgICAgICAgIFRoZSBuYW1lIG9mIGFuIGluZGV4LW1ldGhvZC1z cGVjaWZpYyBzdG9yYWdlIHBhcmFtZXRlci4gIFNlZQpAQCAtMzg1LDYgKzM4NSwxMCBAQCBDUkVB VEUgWyBVTklRVUUgXSBJTkRFWCBbIENPTkNVUlJFTlRMWSBdIFsgWyBJRiBOT1QgRVhJU1RTIF0g PHJlcGxhY2VhYmxlIGNsYXNzPQogICA8cmVmc2VjdDIgaWQ9InNxbC1jcmVhdGVpbmRleC1zdG9y YWdlLXBhcmFtZXRlcnMiIHhyZWZsYWJlbD0iSW5kZXggU3RvcmFnZSBQYXJhbWV0ZXJzIj4KICAg IDx0aXRsZT5JbmRleCBTdG9yYWdlIFBhcmFtZXRlcnM8L3RpdGxlPgogCisgPGluZGV4dGVybSB6 b25lPSJzcWwtY3JlYXRlaW5kZXgtc3RvcmFnZS1wYXJhbWV0ZXJzIj4KKyAgPHByaW1hcnk+c3Rv cmFnZSBwYXJhbWV0ZXJzPC9wcmltYXJ5PgorIDwvaW5kZXh0ZXJtPgorCiAgICA8cGFyYT4KICAg ICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+V0lUSDwvbGl0ZXJhbD4gY2xhdXNlIHNwZWNpZmllcyA8 Zmlyc3R0ZXJtPnN0b3JhZ2UKICAgICBwYXJhbWV0ZXJzPC9maXJzdHRlcm0+IGZvciB0aGUgaW5k ZXguICBFYWNoIGluZGV4IG1ldGhvZCBoYXMgaXRzIG93biBzZXQKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90 YWJsZS5zZ21sCmluZGV4IDk4MjUzMmZlNzI1Li5hY2Q2MTUzNDI2NSAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV90YWJsZS5zZ21sCkBAIC0zMCw3ICszMCw3IEBAIENSRUFURSBbIFsgR0xPQkFMIHwgTE9D QUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJ CiBbIElOSEVSSVRTICggPHJlcGxhY2VhYmxlPnBhcmVudF90YWJsZTwvcmVwbGFjZWFibGU+IFss IC4uLiBdICkgXQogWyBQQVJUSVRJT04gQlkgeyBSQU5HRSB8IExJU1QgfCBIQVNIIH0gKCB7IDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ ICkgfSBbIENPTExBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbGxhdGlvbjwv cmVwbGFjZWFibGU+IF0gWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3BjbGFzczwv cmVwbGFjZWFibGU+IF0gWywgLi4uIF0gKSBdCiBbIFVTSU5HIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5tZXRob2Q8L3JlcGxhY2VhYmxlPiBdCi1bIFdJVEggKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+c3RvcmFnZV9wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiBbPSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0g KSB8IFdJVEhPVVQgT0lEUyBdCitbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dGFibGVfc3RvcmFnZV9wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiBbPSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0gKSB8IFdJVEhP VVQgT0lEUyBdCiBbIE9OIENPTU1JVCB7IFBSRVNFUlZFIFJPV1MgfCBERUxFVEUgUk9XUyB8IERS T1AgfSBdCiBbIFRBQkxFU1BBQ0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxl c3BhY2VfbmFtZTwvcmVwbGFjZWFibGU+IF0KIApAQCAtNDIsNyArNDIsNyBAQCBDUkVBVEUgWyBb IEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxF IFsgSUYgTk9UIEVYSQogKSBdCiBbIFBBUlRJVElPTiBCWSB7IFJBTkdFIHwgTElTVCB8IEhBU0gg fSAoIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNl YWJsZT4gfCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBs YWNlYWJsZT4gKSB9IFsgQ09MTEFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29s bGF0aW9uPC9yZXBsYWNlYWJsZT4gXSBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5v cGNsYXNzPC9yZXBsYWNlYWJsZT4gXSBbLCAuLi4gXSApIF0KIFsgVVNJTkcgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm1ldGhvZDwvcmVwbGFjZWFibGU+IF0KLVsgV0lUSCAoIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+ IFs9IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBb LCAuLi4gXSApIHwgV0lUSE9VVCBPSURTIF0KK1sgV0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSAp IHwgV0lUSE9VVCBPSURTIF0KIFsgT04gQ09NTUlUIHsgUFJFU0VSVkUgUk9XUyB8IERFTEVURSBS T1dTIHwgRFJPUCB9IF0KIFsgVEFCTEVTUEFDRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dGFibGVzcGFjZV9uYW1lPC9yZXBsYWNlYWJsZT4gXQogCkBAIC01NCw3ICs1NCw3IEBAIENS RUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VE IF0gVEFCTEUgWyBJRiBOT1QgRVhJCiApIF0geyBGT1IgVkFMVUVTIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5wYXJ0aXRpb25fYm91bmRfc3BlYzwvcmVwbGFjZWFibGU+IHwgREVGQVVM VCB9CiBbIFBBUlRJVElPTiBCWSB7IFJBTkdFIHwgTElTVCB8IEhBU0ggfSAoIHsgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gfCAoIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4gKSB9IFsg Q09MTEFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sbGF0aW9uPC9yZXBsYWNl YWJsZT4gXSBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcGNsYXNzPC9yZXBsYWNl YWJsZT4gXSBbLCAuLi4gXSApIF0KIFsgVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPm1ldGhvZDwvcmVwbGFjZWFibGU+IF0KLVsgV0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSApIHwgV0lU SE9VVCBPSURTIF0KK1sgV0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJs ZV9zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSApIHwgV0lUSE9VVCBPSURT IF0KIFsgT04gQ09NTUlUIHsgUFJFU0VSVkUgUk9XUyB8IERFTEVURSBST1dTIHwgRFJPUCB9IF0K IFsgVEFCTEVTUEFDRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVzcGFjZV9u YW1lPC9yZXBsYWNlYWJsZT4gXQogCkBAIC0xMDAsNyArMTAwLDcgQEAgV0lUSCAoIE1PRFVMVVMg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFi bGU+LCBSRU0KIDxwaHJhc2U+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3Bh cmFtZXRlcnM8L3JlcGxhY2VhYmxlPiBpbiA8bGl0ZXJhbD5VTklRVUU8L2xpdGVyYWw+LCA8bGl0 ZXJhbD5QUklNQVJZIEtFWTwvbGl0ZXJhbD4sIGFuZCA8bGl0ZXJhbD5FWENMVURFPC9saXRlcmFs PiBjb25zdHJhaW50cyBhcmU6PC9waHJhc2U+CiAKIFsgSU5DTFVERSAoIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgXQot WyBXSVRIICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0b3JhZ2VfcGFyYW1ldGVy PC9yZXBsYWNlYWJsZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9y ZXBsYWNlYWJsZT5dIFssIC4uLiBdICkgXQorWyBXSVRIICggPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmluZGV4X3N0b3JhZ2VfcGFyYW1ldGVyPC9yZXBsYWNlYWJsZT4gWz0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4uLiBdICkg XQogWyBVU0lORyBJTkRFWCBUQUJMRVNQQUNFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZXNwYWNlX25hbWU8L3JlcGxhY2VhYmxlPiBdCiAKIDxwaHJhc2U+PHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2x1ZGVfZWxlbWVudDwvcmVwbGFjZWFibGU+IGluIGFuIDxs aXRlcmFsPkVYQ0xVREU8L2xpdGVyYWw+IGNvbnN0cmFpbnQgaXM6PC9waHJhc2U+CkBAIC0xNDUx LDEyICsxNDUxLDE3IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICA8L3Zhcmxpc3RlbnRy eT4KIAogICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLXdpdGgiPgot ICAgIDx0ZXJtPjxsaXRlcmFsPldJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ c3RvcmFnZV9wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiBbPSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0gKTwvbGl0ZXJhbD48L3Rlcm0+ CisgICAgPHRlcm0+PGxpdGVyYWw+V0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZV9zdG9yYWdlX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSApPC9saXRlcmFs PjwvdGVybT4KKyAgICA8dGVybT48bGl0ZXJhbD5XSVRIICggPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmluZGV4X3N0b3JhZ2VfcGFyYW1ldGVyPC9yZXBsYWNlYWJsZT4gWz0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4uLiBdICk8 L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+CiAgICAgICBUaGlz IGNsYXVzZSBzcGVjaWZpZXMgb3B0aW9uYWwgc3RvcmFnZSBwYXJhbWV0ZXJzIGZvciBhIHRhYmxl IG9yIGluZGV4OwogICAgICAgc2VlIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGV0YWJsZS1zdG9y YWdlLXBhcmFtZXRlcnMiLz4gYmVsb3cgZm9yIG1vcmUKLSAgICAgIGluZm9ybWF0aW9uLiAgRm9y IGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgdGhlIDxsaXRlcmFsPldJVEg8L2xpdGVyYWw+CisgICAg ICBpbmZvcm1hdGlvbiBvbiB0YWJsZSBzdG9yYWdlIHBhcmFtZXRlcnMuIEZvciBpbmRleCBzdG9y YWdlIHBhcmFtZXRlcnMKKyAgICAgIHNlZSA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRlaW5kZXgt c3RvcmFnZS1wYXJhbWV0ZXJzIi8+LgorICAgICA8L3BhcmE+CisgICAgIDxwYXJhPgorICAgICAg Rm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgdGhlIDxsaXRlcmFsPldJVEg8L2xpdGVyYWw+CiAg ICAgICBjbGF1c2UgZm9yIGEgdGFibGUgY2FuIGFsc28gaW5jbHVkZSA8bGl0ZXJhbD5PSURTPUZB TFNFPC9saXRlcmFsPiB0bwogICAgICAgc3BlY2lmeSB0aGF0IHJvd3Mgb2YgdGhlIG5ldyB0YWJs ZSBzaG91bGQgbm90IGNvbnRhaW4gT0lEcyAob2JqZWN0CiAgICAgICBpZGVudGlmaWVycyksIDxs aXRlcmFsPk9JRFM9VFJVRTwvbGl0ZXJhbD4gaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlLgpAQCAt MTU1NSw4ICsxNTYwLDggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KIAogICA8L3ZhcmlhYmxl bGlzdD4KIAotICA8cmVmc2VjdDIgaWQ9InNxbC1jcmVhdGV0YWJsZS1zdG9yYWdlLXBhcmFtZXRl cnMiIHhyZWZsYWJlbD0iU3RvcmFnZSBQYXJhbWV0ZXJzIj4KLSAgIDx0aXRsZT5TdG9yYWdlIFBh cmFtZXRlcnM8L3RpdGxlPgorICA8cmVmc2VjdDIgaWQ9InNxbC1jcmVhdGV0YWJsZS1zdG9yYWdl LXBhcmFtZXRlcnMiIHhyZWZsYWJlbD0iVGFibGUgU3RvcmFnZSBQYXJhbWV0ZXJzIj4KKyAgIDx0 aXRsZT5UYWJsZSBTdG9yYWdlIFBhcmFtZXRlcnM8L3RpdGxlPgogCiAgPGluZGV4dGVybSB6b25l PSJzcWwtY3JlYXRldGFibGUtc3RvcmFnZS1wYXJhbWV0ZXJzIj4KICAgPHByaW1hcnk+c3RvcmFn ZSBwYXJhbWV0ZXJzPC9wcmltYXJ5PgpAQCAtMTU2Nyw3ICsxNTcyLDcgQEAgV0lUSCAoIE1PRFVM VVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFj ZWFibGU+LCBSRU0KICAgICBmb3IgdGFibGVzLCBhbmQgZm9yIGluZGV4ZXMgYXNzb2NpYXRlZCB3 aXRoIGEgPGxpdGVyYWw+VU5JUVVFPC9saXRlcmFsPiwKICAgICA8bGl0ZXJhbD5QUklNQVJZIEtF WTwvbGl0ZXJhbD4sIG9yIDxsaXRlcmFsPkVYQ0xVREU8L2xpdGVyYWw+IGNvbnN0cmFpbnQuCiAg ICAgU3RvcmFnZSBwYXJhbWV0ZXJzIGZvcgotICAgIGluZGV4ZXMgYXJlIGRvY3VtZW50ZWQgaW4g PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZWluZGV4Ii8+LgorICAgIGluZGV4ZXMgYXJlIGRvY3Vt ZW50ZWQgaW4gPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZWluZGV4LXN0b3JhZ2UtcGFyYW1ldGVy cyIvPgogICAgIFRoZSBzdG9yYWdlIHBhcmFtZXRlcnMgY3VycmVudGx5CiAgICAgYXZhaWxhYmxl IGZvciB0YWJsZXMgYXJlIGxpc3RlZCBiZWxvdy4gIEZvciBtYW55IG9mIHRoZXNlIHBhcmFtZXRl cnMsIGFzCiAgICAgc2hvd24sIHRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgcGFyYW1ldGVyIHdpdGgg dGhlIHNhbWUgbmFtZSBwcmVmaXhlZCB3aXRoCg== --000000000000c071c2064c8d1f0f--