On Sat, Jul 03, 2021 at 10:46:55AM -0700, Paul A Jungwirth wrote: > On Fri, Jul 2, 2021 at 2:39 PM Paul A Jungwirth > <p...@illuminatedcomputing.com> wrote: > > > > On Wed, Jun 30, 2021 at 10:39 AM Paul A Jungwirth > > <p...@illuminatedcomputing.com> wrote: > > > Here is a set of patches to add SQL:2011 application-time support (aka > > > valid-time). > > > > Here is a small fix to prevent `FOR PORTION OF valid_at FROM MAXVALUE > > TO foo` or `FROM foo TO MINVALUE`. I rebased on latest master too. > > Here is a patch set that cleans up the catalog docs for pg_period. The > columns have changed since that was written, and also we use a > different sgml structure on those pages now. Note pg_period still > contains a couple essentially-unused columns, perislocal and > perinhcount. Those are intended for supporting table inheritance, so > I've left them in. >
Hi Paul, Thanks for working on this. It would be a great improvement. I wanted to test the patches but: patch 01: does apply but doesn't compile, attached the compile errors. patch 04: does not apply clean. Please fix and resend. -- Jaime Casanova Director de Servicios Profesionales SystemGuards - Consultores de PostgreSQL
parse_utilcmd.c: En la función ‘generateClonedIndexStmt’: parse_utilcmd.c:1730:2: aviso: ISO C90 prohíbe mezclar declaraciones y código [-Wdeclaration-after-statement] Period *p = makeNode(Period); ^~~~~~ tablecmds.c: En la función ‘ATPrepCmd’: tablecmds.c:4637:24: error: tipo incompatible para el argumento 1 de ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~ tablecmds.c:403:48: nota: se esperaba ‘AlterTableType’ {también conocido como ‘enum AlterTableType’} pero el argumento es de tipo ‘Relation’ {también conocido como ‘struct RelationData *’} static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ~~~~~~~~~~~~~~~^~~~~~~ tablecmds.c:308:23: aviso: el paso del argumento 2 de ‘ATSimplePermissions’ crea un puntero desde un entero sin una conversión [-Wint-conversion] #define ATT_TABLE 0x0001 ^~~~~~ tablecmds.c:4637:29: nota: en expansión de macro ‘ATT_TABLE’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~ tablecmds.c:403:66: nota: se esperaba ‘Relation’ {también conocido como ‘struct RelationData *’} pero el argumento es de tipo ‘int’ static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ~~~~~~~~~^~~ tablecmds.c:4637:4: error: faltan argumentos para la función ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~~~~~~~~~~~ tablecmds.c:403:13: nota: se declara aquí static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ^~~~~~~~~~~~~~~~~~~ tablecmds.c:4645:24: error: tipo incompatible para el argumento 1 de ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~ tablecmds.c:403:48: nota: se esperaba ‘AlterTableType’ {también conocido como ‘enum AlterTableType’} pero el argumento es de tipo ‘Relation’ {también conocido como ‘struct RelationData *’} static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ~~~~~~~~~~~~~~~^~~~~~~ tablecmds.c:308:23: aviso: el paso del argumento 2 de ‘ATSimplePermissions’ crea un puntero desde un entero sin una conversión [-Wint-conversion] #define ATT_TABLE 0x0001 ^~~~~~ tablecmds.c:4645:29: nota: en expansión de macro ‘ATT_TABLE’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~ tablecmds.c:403:66: nota: se esperaba ‘Relation’ {también conocido como ‘struct RelationData *’} pero el argumento es de tipo ‘int’ static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ~~~~~~~~~^~~ tablecmds.c:4645:4: error: faltan argumentos para la función ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~~~~~~~~~~~ tablecmds.c:403:13: nota: se declara aquí static void ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets); ^~~~~~~~~~~~~~~~~~~ tablecmds.c: En la función ‘alter_table_type_to_string’: tablecmds.c:6179:2: aviso: el valor de enumeración ‘AT_AddPeriod’ no se maneja en un switch [-Wswitch] switch (cmdtype) ^~~~~~ tablecmds.c:6179:2: aviso: el valor de enumeración ‘AT_DropPeriod’ no se maneja en un switch [-Wswitch] tablecmds.c: En la función ‘ATExecDropPeriod’: tablecmds.c:7968:23: error: tipo incompatible para el argumento 1 de ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~ tablecmds.c:6325:36: nota: se esperaba ‘AlterTableType’ {también conocido como ‘enum AlterTableType’} pero el argumento es de tipo ‘Relation’ {también conocido como ‘struct RelationData *’} ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets) ~~~~~~~~~~~~~~~^~~~~~~ tablecmds.c:308:23: aviso: el paso del argumento 2 de ‘ATSimplePermissions’ crea un puntero desde un entero sin una conversión [-Wint-conversion] #define ATT_TABLE 0x0001 ^~~~~~ tablecmds.c:7968:28: nota: en expansión de macro ‘ATT_TABLE’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~ tablecmds.c:6325:54: nota: se esperaba ‘Relation’ {también conocido como ‘struct RelationData *’} pero el argumento es de tipo ‘int’ ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets) ~~~~~~~~~^~~ tablecmds.c:7968:3: error: faltan argumentos para la función ‘ATSimplePermissions’ ATSimplePermissions(rel, ATT_TABLE); ^~~~~~~~~~~~~~~~~~~ tablecmds.c:6325:1: nota: se declara aquí ATSimplePermissions(AlterTableType cmdtype, Relation rel, int allowed_targets) ^~~~~~~~~~~~~~~~~~~ make[3]: *** [../../../src/Makefile.global:939: tablecmds.o] Error 1 make[2]: *** [common.mk:39: commands-recursive] Error 2 make[2]: *** Se espera a que terminen otras tareas.... make[1]: *** [Makefile:42: all-backend-recurse] Error 2 make: *** [GNUmakefile:11: all-src-recurse] Error 2