Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mMblr-0001bh-6i for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Sep 2021 19:56:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mMblo-00052P-Si for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Sep 2021 19:56:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mMblo-00052H-D3 for pgsql-hackers@lists.postgresql.org; Sat, 04 Sep 2021 19:56:08 +0000 Received: from mail-qk1-x72b.google.com ([2607:f8b0:4864:20::72b]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mMblh-0000Ao-BP for pgsql-hackers@lists.postgresql.org; Sat, 04 Sep 2021 19:56:05 +0000 Received: by mail-qk1-x72b.google.com with SMTP id b64so2784282qkg.0 for ; Sat, 04 Sep 2021 12:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemguards-com-ec.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=TX1d/aIWOqemGLCeQporxtCsQfwdr9AV6lLxxJ3Wnu0=; b=PGjzbJ3/aifB8LM/HOc1crRuWtPjIiDegNAsysim/Hj24h5mdacyilEhQiVpo1zlb6 K/OHiJj6VDntIvTDCLItB9cniXxU19N9/egnzmxd1bGfoajwVPhI3BVI+2JaCBpM56Nl cf4d2CfvcpNWPrSwpgvutjQYt3WD1aXO+KzIlg58AQwUhWFgbEUF8l7Xuz1EiWkO0EG/ qVR3VTrotF9iNUG8xwvDYV+UwiAc/Gz37WCAoqJkvVPYzrs8oI2PWm5g0Oi/WENS0ZVQ +KqysY1Xo4MK/SWkNKHrZ4Ulv2pzTak/JjDfHKuFIeMJRxGvPLpmzYqUjn+STw27rNiY talw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=TX1d/aIWOqemGLCeQporxtCsQfwdr9AV6lLxxJ3Wnu0=; b=Sj789Comn1cV/HsXmg96RWfmESh0r1M1nE9Lh9AoLUY0C4Y6plnGl4XDE2egE5gbPT /D7yuEDPWVRV0K6QtFsUJbhMvjE2xZ8KxwkOKBXuYDI1KBN5LI0sgaUC7IEVaG3HG6WY rD5hxcVlYEZYuk6H4Gs+ko8P4JmU6alYqHyFOv78x5VDR75zAO9FQtSconTmK6Qmzf0q hgRWmo8dZBEIW2MEgXbbVDTlv4BxZa0hgcki5DmSVSckObvydqJFCmt+fBdE8ZLnAXqe AH/8D15PUbcKL/wcqIaJ9jrxXTogipsjPgPEI9H5+fp49IH+7ePBjr/LeqlDEnuYBGRc DLPQ== X-Gm-Message-State: AOAM531jI6ndQjCP2Y/JS8+ZafNY6JEQg94+o3BPdrMpL9R8EV06LeJp I5Fl2yUQCzFgsyQdVushd6jL1Q== X-Google-Smtp-Source: ABdhPJyz0w/r7TnjgS4OhzqaoHIklS3UCabOsC9PZIFzE3dlHU8dXaLZetbMo5vc7pF9b2gGKpZFEg== X-Received: by 2002:a37:a45:: with SMTP id 66mr4545631qkk.137.1630785360101; Sat, 04 Sep 2021 12:56:00 -0700 (PDT) Received: from ahch-to ([201.183.4.120]) by smtp.gmail.com with ESMTPSA id j184sm2384720qkd.74.2021.09.04.12.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Sep 2021 12:55:59 -0700 (PDT) Date: Sat, 4 Sep 2021 14:55:56 -0500 From: Jaime Casanova To: Paul A Jungwirth Cc: PostgreSQL Hackers Subject: Re: SQL:2011 application time Message-ID: <20210904195556.GA10553@ahch-to> References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="lrZ03NoBR/3+SXJZ" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --lrZ03NoBR/3+SXJZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 > wrote: > > > > On Wed, Jun 30, 2021 at 10:39 AM Paul A Jungwirth > > 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 --lrZ03NoBR/3+SXJZ Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="v6-0001-Add-PERIODs-compile-errors.log" Content-Transfer-Encoding: 8bit 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 --lrZ03NoBR/3+SXJZ--