public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Paul A Jungwirth <[email protected]>
Cc: Corey Huinker <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Cc: Jaime Casanova <[email protected]>
Subject: Re: SQL:2011 application time
Date: Wed, 12 Jul 2023 10:24:45 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+renyVyMOb+t6QNoq=PBK1CY_oa9wdJrObjj6S1-RK9CxYwKQ@mail.gmail.com>
References: <CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com>
<CADkLM=d-Qaq0wJNjV5K1jN9+CSNY1B9uXodAnM8dxwaDFxVCfQ@mail.gmail.com>
<CA+renyXTJ_mACO=_pZ7q06qaGy3KsG60Q66HXypCGzSxM_qRkA@mail.gmail.com>
<CADkLM=ekdXZceMyggb6Lqj2447VfiS-Bw22Gdgd5tBotfKmi6A@mail.gmail.com>
<CA+renyUMKg4-MyVbAi8Kj12Srd9BkU5Gt3FdbGdNr-ezHpL6cw@mail.gmail.com>
<[email protected]>
<CA+renyWqpNdsi9OaPmXheeQL72adi_iz36VgVsqyyGpQ20FDAg@mail.gmail.com>
<[email protected]>
<CA+renyX0ipvY6A_jUOHeB1q9mL4bEYfAZ5FBB7G7jUo5bykjrA@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<CA+renyVyMOb+t6QNoq=PBK1CY_oa9wdJrObjj6S1-RK9CxYwKQ@mail.gmail.com>
On 07.07.23 03:03, Paul A Jungwirth wrote:
> Here are some new patch files based on discussions from PGCon.
Here are a few fixup patches to get things building without warnings and
errors.
The last patch (your 0005) fails the regression test for me and it
didn't appear to be a trivial problem, so please take another look at
that sometime. (Since it's the last patch, it's obviously lower priority.)
From 6694912b0fdd8742e583ff2a524f32284c330711 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 09:45:56 +0200
Subject: [PATCH v12] fixup! Add temporal PRIMARY KEY and UNIQUE constraints
---
src/bin/pg_dump/pg_dump.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index a95e1d3696..33ad34ad66 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -7029,16 +7029,14 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
"(SELECT pg_catalog.array_agg(attstattarget ORDER BY attnum) "
" FROM pg_catalog.pg_attribute "
" WHERE attrelid = i.indexrelid AND "
- " attstattarget >= 0) AS indstatvals, "
- "c.conexclop IS NOT NULL AS withoutoverlaps, ");
+ " attstattarget >= 0) AS indstatvals, ");
else
appendPQExpBufferStr(query,
"0 AS parentidx, "
"i.indnatts AS indnkeyatts, "
"i.indnatts AS indnatts, "
"'' AS indstatcols, "
- "'' AS indstatvals, "
- "null AS withoutoverlaps, ");
+ "'' AS indstatvals, ");
if (fout->remoteVersion >= 150000)
appendPQExpBufferStr(query,
@@ -7047,6 +7045,13 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
appendPQExpBufferStr(query,
"false AS indnullsnotdistinct, ");
+ if (fout->remoteVersion >= 170000)
+ appendPQExpBufferStr(query,
+ "c.conexclop IS NOT NULL AS withoutoverlaps ");
+ else
+ appendPQExpBufferStr(query,
+ "null AS withoutoverlaps ");
+
/*
* The point of the messy-looking outer join is to find a constraint that
* is related by an internal dependency link to the index. If we find one,
--
2.41.0
From 49932adb8e626036b8d8edf26ed1465f39db82bd Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 10:16:53 +0200
Subject: [PATCH v12] fixup! Add UPDATE/DELETE FOR PORTION OF
---
doc/src/sgml/ref/delete.sgml | 2 ++
doc/src/sgml/ref/update.sgml | 2 ++
src/backend/parser/analyze.c | 5 +++--
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml
index 868cf0d1f9..aec593239b 100644
--- a/doc/src/sgml/ref/delete.sgml
+++ b/doc/src/sgml/ref/delete.sgml
@@ -55,6 +55,7 @@ <title>Description</title>
circumstances.
</para>
+ <!-- FIXME
<para>
If the table has a <link linkend="ddl-periods-application-periods">temporal
primary key</link>, you may supply a
@@ -63,6 +64,7 @@ <title>Description</title>
the <literal>FOR PORTION OF</literal> bounds, then new rows spanning the "cut
off" duration will be inserted to preserve the old values.
</para>
+ -->
<para>
The optional <literal>RETURNING</literal> clause causes <command>DELETE</command>
diff --git a/doc/src/sgml/ref/update.sgml b/doc/src/sgml/ref/update.sgml
index f2042e0b25..62e9e0e1f0 100644
--- a/doc/src/sgml/ref/update.sgml
+++ b/doc/src/sgml/ref/update.sgml
@@ -52,6 +52,7 @@ <title>Description</title>
circumstances.
</para>
+ <!-- FIXME
<para>
If the table has a <link linkend="ddl-periods-application-periods">temporal
primary key</link>, you may supply a
@@ -61,6 +62,7 @@ <title>Description</title>
within the bounds, and new rows spanning the "cut off" duration will be
inserted to preserve the old values.
</para>
+ -->
<para>
The optional <literal>RETURNING</literal> clause causes <command>UPDATE</command>
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index 0b2109d1bb..c6d2b7e1d1 100644
--- a/src/backend/parser/analyze.c
+++ b/src/backend/parser/analyze.c
@@ -1247,6 +1247,7 @@ transformForPortionOfClause(ParseState *pstate,
char *range_name = forPortionOf->range_name;
char *range_type_name = NULL;
int range_attno = InvalidAttrNumber;
+ Form_pg_attribute attr;
ForPortionOfExpr *result;
List *targetList;
Node *target_start, *target_end;
@@ -1264,7 +1265,7 @@ transformForPortionOfClause(ParseState *pstate,
range_name,
RelationGetRelationName(targetrel)),
parser_errposition(pstate, forPortionOf->range_name_location)));
- Form_pg_attribute attr = TupleDescAttr(targetrel->rd_att, range_attno - 1);
+ attr = TupleDescAttr(targetrel->rd_att, range_attno - 1);
// TODO: check attr->attisdropped (?),
// and figure out concurrency issues with that in general.
// It should work the same as updating any other column.
@@ -1317,12 +1318,12 @@ transformForPortionOfClause(ParseState *pstate,
* Now make sure we update the start/end time of the record.
* For a range col (r) this is `r = r * targetRange`.
*/
- targetList = NIL;
Expr *rangeSetExpr = (Expr *) makeSimpleA_Expr(AEXPR_OP, "*",
(Node *) copyObject(rangeVar), (Node *) fc,
forPortionOf->range_name_location);
TargetEntry *tle;
+ targetList = NIL;
rangeSetExpr = (Expr *) transformExpr(pstate, (Node *) rangeSetExpr, EXPR_KIND_UPDATE_PORTION);
tle = makeTargetEntry(rangeSetExpr,
range_attno,
--
2.41.0
From a831c9d79bb979a1360e90db00adddb156dd582a Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 10:13:01 +0200
Subject: [PATCH v12] fixup! Add PERIODs
---
doc/src/sgml/ref/alter_table.sgml | 2 +-
src/backend/catalog/heap.c | 3 ++-
src/backend/catalog/meson.build | 1 +
src/backend/commands/tablecmds.c | 3 ++-
src/include/catalog/meson.build | 1 +
src/test/modules/test_ddl_deparse/test_ddl_deparse.c | 6 ++++++
6 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 487f09f88a..d6aed3dff8 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -582,7 +582,7 @@ <title>Description</title>
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altertable-desc-drop-period">
<term><literal>DROP PERIOD FOR</literal></term>
<listitem>
<para>
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 022a2ede4c..a31c22c6b7 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -2062,7 +2062,6 @@ Oid
StorePeriod(Relation rel, const char *periodname, AttrNumber startnum,
AttrNumber endnum, AttrNumber rangenum, Oid conoid)
{
- Assert(rangenum != InvalidAttrNumber);
Datum values[Natts_pg_period];
bool nulls[Natts_pg_period];
Relation pg_period;
@@ -2071,6 +2070,8 @@ StorePeriod(Relation rel, const char *periodname, AttrNumber startnum,
NameData pername;
ObjectAddress myself, referenced;
+ Assert(rangenum != InvalidAttrNumber);
+
namestrcpy(&pername, periodname);
MemSet(values, 0, sizeof(values));
diff --git a/src/backend/catalog/meson.build b/src/backend/catalog/meson.build
index fa6609e577..c499cd2f5d 100644
--- a/src/backend/catalog/meson.build
+++ b/src/backend/catalog/meson.build
@@ -26,6 +26,7 @@ backend_sources += files(
'pg_namespace.c',
'pg_operator.c',
'pg_parameter_acl.c',
+ 'pg_period.c',
'pg_proc.c',
'pg_publication.c',
'pg_range.c',
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index ef17b3e31e..d95f742b29 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8384,6 +8384,7 @@ ATExecAddPeriod(Relation rel, PeriodDef *period, AlterTableUtilityContext *conte
Relation attrelation;
ObjectAddress address = InvalidObjectAddress;
Constraint *constr;
+ ColumnDef *rangecol;
Oid conoid, periodoid;
List *cmds = NIL;
AlterTableCmd *cmd;
@@ -8418,7 +8419,7 @@ ATExecAddPeriod(Relation rel, PeriodDef *period, AlterTableUtilityContext *conte
conoid = get_relation_constraint_oid(RelationGetRelid(rel), period->constraintname, false);
/* Make the range column */
- ColumnDef *rangecol = make_range_column_for_period(period);
+ rangecol = make_range_column_for_period(period);
cmd = makeNode(AlterTableCmd);
cmd->subtype = AT_AddColumn;
cmd->def = (Node *) rangecol;
diff --git a/src/include/catalog/meson.build b/src/include/catalog/meson.build
index c3fd05d027..158496d19d 100644
--- a/src/include/catalog/meson.build
+++ b/src/include/catalog/meson.build
@@ -57,6 +57,7 @@ catalog_headers = [
'pg_collation.h',
'pg_parameter_acl.h',
'pg_partitioned_table.h',
+ 'pg_period.h',
'pg_range.h',
'pg_transform.h',
'pg_sequence.h',
diff --git a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
index 82f937fca4..2436996b1c 100644
--- a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
+++ b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
@@ -180,6 +180,12 @@ get_altertable_subcmdinfo(PG_FUNCTION_ARGS)
case AT_DropConstraint:
strtype = "DROP CONSTRAINT";
break;
+ case AT_AddPeriod:
+ strtype = "ADD PERIOD";
+ break;
+ case AT_DropPeriod:
+ strtype = "DROP PERIOD";
+ break;
case AT_ReAddComment:
strtype = "(re) ADD COMMENT";
break;
--
2.41.0
Attachments:
[text/plain] v12-0002-fixup-Add-temporal-PRIMARY-KEY-and-UNIQU.patch.nocfbot (1.8K, ../[email protected]/2-v12-0002-fixup-Add-temporal-PRIMARY-KEY-and-UNIQU.patch.nocfbot)
download | inline diff:
From 6694912b0fdd8742e583ff2a524f32284c330711 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 09:45:56 +0200
Subject: [PATCH v12] fixup! Add temporal PRIMARY KEY and UNIQUE constraints
---
src/bin/pg_dump/pg_dump.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index a95e1d3696..33ad34ad66 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -7029,16 +7029,14 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
"(SELECT pg_catalog.array_agg(attstattarget ORDER BY attnum) "
" FROM pg_catalog.pg_attribute "
" WHERE attrelid = i.indexrelid AND "
- " attstattarget >= 0) AS indstatvals, "
- "c.conexclop IS NOT NULL AS withoutoverlaps, ");
+ " attstattarget >= 0) AS indstatvals, ");
else
appendPQExpBufferStr(query,
"0 AS parentidx, "
"i.indnatts AS indnkeyatts, "
"i.indnatts AS indnatts, "
"'' AS indstatcols, "
- "'' AS indstatvals, "
- "null AS withoutoverlaps, ");
+ "'' AS indstatvals, ");
if (fout->remoteVersion >= 150000)
appendPQExpBufferStr(query,
@@ -7047,6 +7045,13 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
appendPQExpBufferStr(query,
"false AS indnullsnotdistinct, ");
+ if (fout->remoteVersion >= 170000)
+ appendPQExpBufferStr(query,
+ "c.conexclop IS NOT NULL AS withoutoverlaps ");
+ else
+ appendPQExpBufferStr(query,
+ "null AS withoutoverlaps ");
+
/*
* The point of the messy-looking outer join is to find a constraint that
* is related by an internal dependency link to the index. If we find one,
--
2.41.0
[text/plain] v12-0005-fixup-Add-UPDATE-DELETE-FOR-PORTION-OF.patch.nocfbot (3.3K, ../[email protected]/3-v12-0005-fixup-Add-UPDATE-DELETE-FOR-PORTION-OF.patch.nocfbot)
download | inline diff:
From 49932adb8e626036b8d8edf26ed1465f39db82bd Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 10:16:53 +0200
Subject: [PATCH v12] fixup! Add UPDATE/DELETE FOR PORTION OF
---
doc/src/sgml/ref/delete.sgml | 2 ++
doc/src/sgml/ref/update.sgml | 2 ++
src/backend/parser/analyze.c | 5 +++--
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml
index 868cf0d1f9..aec593239b 100644
--- a/doc/src/sgml/ref/delete.sgml
+++ b/doc/src/sgml/ref/delete.sgml
@@ -55,6 +55,7 @@ <title>Description</title>
circumstances.
</para>
+ <!-- FIXME
<para>
If the table has a <link linkend="ddl-periods-application-periods">temporal
primary key</link>, you may supply a
@@ -63,6 +64,7 @@ <title>Description</title>
the <literal>FOR PORTION OF</literal> bounds, then new rows spanning the "cut
off" duration will be inserted to preserve the old values.
</para>
+ -->
<para>
The optional <literal>RETURNING</literal> clause causes <command>DELETE</command>
diff --git a/doc/src/sgml/ref/update.sgml b/doc/src/sgml/ref/update.sgml
index f2042e0b25..62e9e0e1f0 100644
--- a/doc/src/sgml/ref/update.sgml
+++ b/doc/src/sgml/ref/update.sgml
@@ -52,6 +52,7 @@ <title>Description</title>
circumstances.
</para>
+ <!-- FIXME
<para>
If the table has a <link linkend="ddl-periods-application-periods">temporal
primary key</link>, you may supply a
@@ -61,6 +62,7 @@ <title>Description</title>
within the bounds, and new rows spanning the "cut off" duration will be
inserted to preserve the old values.
</para>
+ -->
<para>
The optional <literal>RETURNING</literal> clause causes <command>UPDATE</command>
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index 0b2109d1bb..c6d2b7e1d1 100644
--- a/src/backend/parser/analyze.c
+++ b/src/backend/parser/analyze.c
@@ -1247,6 +1247,7 @@ transformForPortionOfClause(ParseState *pstate,
char *range_name = forPortionOf->range_name;
char *range_type_name = NULL;
int range_attno = InvalidAttrNumber;
+ Form_pg_attribute attr;
ForPortionOfExpr *result;
List *targetList;
Node *target_start, *target_end;
@@ -1264,7 +1265,7 @@ transformForPortionOfClause(ParseState *pstate,
range_name,
RelationGetRelationName(targetrel)),
parser_errposition(pstate, forPortionOf->range_name_location)));
- Form_pg_attribute attr = TupleDescAttr(targetrel->rd_att, range_attno - 1);
+ attr = TupleDescAttr(targetrel->rd_att, range_attno - 1);
// TODO: check attr->attisdropped (?),
// and figure out concurrency issues with that in general.
// It should work the same as updating any other column.
@@ -1317,12 +1318,12 @@ transformForPortionOfClause(ParseState *pstate,
* Now make sure we update the start/end time of the record.
* For a range col (r) this is `r = r * targetRange`.
*/
- targetList = NIL;
Expr *rangeSetExpr = (Expr *) makeSimpleA_Expr(AEXPR_OP, "*",
(Node *) copyObject(rangeVar), (Node *) fc,
forPortionOf->range_name_location);
TargetEntry *tle;
+ targetList = NIL;
rangeSetExpr = (Expr *) transformExpr(pstate, (Node *) rangeSetExpr, EXPR_KIND_UPDATE_PORTION);
tle = makeTargetEntry(rangeSetExpr,
range_attno,
--
2.41.0
[text/plain] v12-0008-fixup-Add-PERIODs.patch.nocfbot (4.0K, ../[email protected]/4-v12-0008-fixup-Add-PERIODs.patch.nocfbot)
download | inline diff:
From a831c9d79bb979a1360e90db00adddb156dd582a Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Wed, 12 Jul 2023 10:13:01 +0200
Subject: [PATCH v12] fixup! Add PERIODs
---
doc/src/sgml/ref/alter_table.sgml | 2 +-
src/backend/catalog/heap.c | 3 ++-
src/backend/catalog/meson.build | 1 +
src/backend/commands/tablecmds.c | 3 ++-
src/include/catalog/meson.build | 1 +
src/test/modules/test_ddl_deparse/test_ddl_deparse.c | 6 ++++++
6 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 487f09f88a..d6aed3dff8 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -582,7 +582,7 @@ <title>Description</title>
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altertable-desc-drop-period">
<term><literal>DROP PERIOD FOR</literal></term>
<listitem>
<para>
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 022a2ede4c..a31c22c6b7 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -2062,7 +2062,6 @@ Oid
StorePeriod(Relation rel, const char *periodname, AttrNumber startnum,
AttrNumber endnum, AttrNumber rangenum, Oid conoid)
{
- Assert(rangenum != InvalidAttrNumber);
Datum values[Natts_pg_period];
bool nulls[Natts_pg_period];
Relation pg_period;
@@ -2071,6 +2070,8 @@ StorePeriod(Relation rel, const char *periodname, AttrNumber startnum,
NameData pername;
ObjectAddress myself, referenced;
+ Assert(rangenum != InvalidAttrNumber);
+
namestrcpy(&pername, periodname);
MemSet(values, 0, sizeof(values));
diff --git a/src/backend/catalog/meson.build b/src/backend/catalog/meson.build
index fa6609e577..c499cd2f5d 100644
--- a/src/backend/catalog/meson.build
+++ b/src/backend/catalog/meson.build
@@ -26,6 +26,7 @@ backend_sources += files(
'pg_namespace.c',
'pg_operator.c',
'pg_parameter_acl.c',
+ 'pg_period.c',
'pg_proc.c',
'pg_publication.c',
'pg_range.c',
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index ef17b3e31e..d95f742b29 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8384,6 +8384,7 @@ ATExecAddPeriod(Relation rel, PeriodDef *period, AlterTableUtilityContext *conte
Relation attrelation;
ObjectAddress address = InvalidObjectAddress;
Constraint *constr;
+ ColumnDef *rangecol;
Oid conoid, periodoid;
List *cmds = NIL;
AlterTableCmd *cmd;
@@ -8418,7 +8419,7 @@ ATExecAddPeriod(Relation rel, PeriodDef *period, AlterTableUtilityContext *conte
conoid = get_relation_constraint_oid(RelationGetRelid(rel), period->constraintname, false);
/* Make the range column */
- ColumnDef *rangecol = make_range_column_for_period(period);
+ rangecol = make_range_column_for_period(period);
cmd = makeNode(AlterTableCmd);
cmd->subtype = AT_AddColumn;
cmd->def = (Node *) rangecol;
diff --git a/src/include/catalog/meson.build b/src/include/catalog/meson.build
index c3fd05d027..158496d19d 100644
--- a/src/include/catalog/meson.build
+++ b/src/include/catalog/meson.build
@@ -57,6 +57,7 @@ catalog_headers = [
'pg_collation.h',
'pg_parameter_acl.h',
'pg_partitioned_table.h',
+ 'pg_period.h',
'pg_range.h',
'pg_transform.h',
'pg_sequence.h',
diff --git a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
index 82f937fca4..2436996b1c 100644
--- a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
+++ b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
@@ -180,6 +180,12 @@ get_altertable_subcmdinfo(PG_FUNCTION_ARGS)
case AT_DropConstraint:
strtype = "DROP CONSTRAINT";
break;
+ case AT_AddPeriod:
+ strtype = "ADD PERIOD";
+ break;
+ case AT_DropPeriod:
+ strtype = "DROP PERIOD";
+ break;
case AT_ReAddComment:
strtype = "(re) ADD COMMENT";
break;
--
2.41.0
view thread (10+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: SQL:2011 application time
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox