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 1wPwJl-0019kM-1N for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 05:51:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wPwJi-009E2m-2a for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 05:51:35 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wPwJi-009E2d-1Z for pgsql-hackers@lists.postgresql.org; Thu, 21 May 2026 05:51:35 +0000 Received: from mail-qv1-xf32.google.com ([2607:f8b0:4864:20::f32]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wPwJh-00000000gOu-21cb for pgsql-hackers@lists.postgresql.org; Thu, 21 May 2026 05:51:35 +0000 Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-8b1f2b7f1bcso86740566d6.1 for ; Wed, 20 May 2026 22:51:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779342690; cv=none; d=google.com; s=arc-20240605; b=kPOFYjxIBcgfcKnj5DECthm4P5cqnrbLVwyLJd0JLvgqWD/bKgHgB7XsxUChBfaF7y JhZnIt0FKnTz1MUY1YXoZ8JRvHmghgSxAXFAg/YFC/m9zOgIWLvzK9dtsG2H7nzCjMst bODNGfc64kbnfAvdROntY3lEDza8ieN9mtWdRwpLEMfXBr8sUNjj/mkNZWujMT1tjn7h sf1SQT11Uej7Kjed17MDsajh4HzXaDJiD27STQHsAsbCfAl4NAxFW8aSb8Hmouz7lSU5 SJzju0I5WSPBO7orvDnakgUh6S760wkGnyIRopUNNUTBvJkl+pc/ji+C3O8pMNM83FSq ufKw== 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=VUagQI1ofgNbSbWwMAaALsPUqHshQXUwokWRqQPGMlg=; fh=eVPv8MH6I3jN0PKhM6EEDVfX2/Ot7wMpraO5vCiZBgc=; b=i20JKXBTn7N+dyVY1/0FV4n7saVol4vqQaQafJtZBswO1jvUl9AbB/34HIZaTcKDGl iijHzoxf6j8k+ihxpI1Xmk7xrNaQ/00JWrLl+iLZ6C3bYIPGb6dAH6mX6YP4PiK6eBzC C2Y1gYrB+ve2SB5pMIpbhMwB5y1RvNiUee+cEbfxgbtVRPw+0f20l+kxBuqZyd1ZQJrX XnrOVSBMOuG5b75nK+bRSWMzySQrUqe7/kpYuIP5GIEZwyObkKQwj8rJVkvxLaEgTaDR nyPNkKN40Sa8Iv6e1oFbqxJ2Ix9NtUkU6yNrBxY6WYliWK+ya3dYK3pyaK+R0YqJTfkL kQHw==; 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=20251104; t=1779342690; x=1779947490; 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=VUagQI1ofgNbSbWwMAaALsPUqHshQXUwokWRqQPGMlg=; b=Eq3dpJ/fpQj4JB1ktCNv1gaZabExk8lFQ4b4urgY2d48wuvhSRUOnLPPE+23TnVvun frRlmYyr+zmFzvynnKvVYuykea/1eko9IYQA8sddiWxYlSJnQbAyaNhQ0+tg29Uxaf5k +xu5qa0Ig4yCbb3A1ZPUFuqyHPG9q1fKkjcJRs14hCLSbDmdibhf+eTAAjzY5yWwdZaA y6GbCCjMAC5Iy3+4XCX1VvSPIox+1CUGVl2Y6R2WyrUQ4GNEEORYtujjG9CU4NEbyPvZ v0EXm6RFdtXx+X+u3lA9AqEAaRbC+hwt99KGt9UlCI4jgEkX5uiWn9W28nUiH/OTBhco +Izg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779342690; x=1779947490; 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=VUagQI1ofgNbSbWwMAaALsPUqHshQXUwokWRqQPGMlg=; b=mI0FTUnds6ui2T31qRardJik3olrDdgF3vVyGFZ0TWKF4L+RagxSloegS/2KTXeHnb KKOeRyEIw18euAkpjTzTrpWIJDbqw9PAaD1rsLBHQ3MIX9mOAri36vGxbzkojDzdx/pe pk+pNXlvRRuOefY1GOz1/Tcfm5Qg0RQlObu9b51u7fRNQIqFMtoHPkFSe/yAF/VdEhB8 j9+vkSlUQkw5kp8Gevj1S/hkpZWFluoRf+nQx0bDrb5ZKgBQrrAvgeY1yEAjotM6/jWg aDZn27H2U8EZWTQWlnSM/jd4idWEI5NtKM7ul2A+1LPWKh1+5TvjENgE821gZ8LJoo5f VR+Q== X-Forwarded-Encrypted: i=1; AFNElJ//q1GhFY/PVH+xN2+phu7ybSyAjghvcxphaSYLtJlwC6akpUjCWZ3M7G4qqEFnqYhvKC5uHFxRyQe74z+7@lists.postgresql.org X-Gm-Message-State: AOJu0YwiAWYQ8j9wreFfkHZM84jmxngHti743Mae8BEF2vZKsZ76fSsT lZcSLw2jWVkdvgd01X7mGVrIFZhQZxL25eaEumXPC1tsvZoQpHtSmdagAnjl31qsUGfBNAczZzb /R6gH6i/I+v2qrn7cwO+qzaN59ZPVHf8= X-Gm-Gg: Acq92OET3TT3bdJ/tBeQchuE+QdpoZNM3fyc3D+3d36B9mGQ3G9keXCIWHqaVS5uueG dBFhyDYiflL4hJg+w3/f1VIRxmC39MMv9/s+ms16C7GBPA5E8/ky8H3qpO7xXgH3zCyTGNgk9uo JX4hKhZiJLmmTiJ9U07PW4Jx4uOx8wNy9jcgD+2A2nqH65X6IYZqkLZZz12/lq/0JqLwIG/10zv BPMdEhNqF4IFW/Tlxh8AWEAs33Jbm99+JiaDEdb8dHx5lDGZbiv9HzsLLqDonA6iY6b/0xhAK4z 0QRtdTzAmJEBqbIIiA== X-Received: by 2002:a05:6214:ac5:b0:8cc:e13:ba02 with SMTP id 6a1803df08f44-8cc6eaa4cd4mr18855006d6.21.1779342690137; Wed, 20 May 2026 22:51:30 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Peter Smith Date: Thu, 21 May 2026 15:51:02 +1000 X-Gm-Features: AVHnY4LX5UGlMKWRr6EdJrr_VpHLmxwkmENs_cEnqn2QcJmiGVdXg8i9O1kutkI Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: vignesh C Cc: Dilip Kumar , Nisha Moond , Amit Kapila , shveta malik , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers , shveta malik Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Vignesh, Some minor review comments for patches v37-0005/0006 combined. ====== src/backend/replication/logical/conflict.c 1. +/* Schema for the elements within the 'local_conflicts' JSON array */ +static const ConflictLogColumnDef LocalConflictSchema[] = +{ + { .attname = "xid", .atttypid = XIDOID }, + { .attname = "commit_ts", .atttypid = TIMESTAMPTZOID }, + { .attname = "origin", .atttypid = TEXTOID }, + { .attname = "key", .atttypid = JSONOID }, + { .attname = "tuple", .atttypid = JSONOID } +}; + +#define NUM_LOCAL_CONFLICT_ATTRS lengthof(LocalConflictSchema) + IMO this belongs *below* the ConflictLogSchema[], which is where 'local_conflicts' attribute was introduced, instead of above it. ~~~ 2. + + static int errcode_apply_conflict(ConflictType type); ~ There are some spurious blank lines here that should not be in the patch. ~~~ ProcessPendingConflictLogTuple: 3. + /* Open conflict log table and insert the tuple */ + conflictlogrel = GetConflictLogDestAndTable(&dest); + Assert(CONFLICTS_LOGGED_TO_TABLE(dest)); Maybe here it's better to say Assert(conflictlogrel); ====== Kind Regards, Peter Smith. Fujitsu Australia