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.94.2) (envelope-from ) id 1tp1Dx-00H7dy-ES for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Mar 2025 08:32:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tp0je-000tv3-Ha for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Mar 2025 08:01:10 +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.94.2) (envelope-from ) id 1tp0gU-000nQE-A4 for pgsql-hackers@lists.postgresql.org; Mon, 03 Mar 2025 07:57:54 +0000 Received: from esa2.fujitsucc.c3s2.iphmx.com ([68.232.152.246]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tp0gQ-000f3h-0b for pgsql-hackers@lists.postgresql.org; Mon, 03 Mar 2025 07:57:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1740988672; x=1772524672; h=from:to:cc:subject:date:message-id:mime-version; bh=VwRwRROegdiXzLaH4zbWoljchmCR1Pu+bE8k/G2EZh8=; b=tz3JtOc4WJf519FNcDPBk7zhaoBJbBTalRoUG+geAXQ4oIRNecNrDZDJ oLsE5h172t9s8Y0TWDd7ims+0twctawxJci8me61MTn5+MM/D1H7FJ2nU x1Fl+Qp1aAlune0r1YRtu5qddFsDkNuVZGiQsZw1rP5KjCVj3cKPCTfLg KoCQFrFbe7Vgy9NnNcpub4RLp/JMI1ma5j8dB0h5zgrgAIJTsSJwRUS2c YppJZwFLqEZmkhvi+jr6ERqzx/duW9mex6gP7MrtyiU905H0/QPbZstfX LR+24T1lVItv0J1AHpC1bRmG3nrVQSWImQTFRZt5EhcjyIUR+yNUQx36s A==; X-CSE-ConnectionGUID: ZGXi+9GeQzOsF+kPqv9nPQ== X-CSE-MsgGUID: Ma+nlgzwS4iIRi5rqzblmw== X-IronPort-AV: E=McAfee;i="6700,10204,11361"; a="59140618" X-IronPort-AV: E=Sophos;i="6.13,329,1732546800"; d="scan'208,223";a="59140618" Received: from mail-japanwestazlp17010005.outbound.protection.outlook.com (HELO OS0P286CU011.outbound.protection.outlook.com) ([40.93.130.5]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2025 16:57:36 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x93heVCfNGklSCzxxeKpzan4hcBxuq7tJ4C4qYJJd1xtg2XqNutg55voJfRJBoFEbYHfbJ/rBwsDSIUUySZoWzXZuYximdb1mOgLjczXnE54YmilBApdKPwalk4u18X+jnbqH07Q+o1Jmk+X98itzLBjUkGh4std3DQyuegQB5+0mapno63hKZFv65CMV32VM2Mjud4X2DhhlGo0ha1qGv0hNti5LJjGvDA6drpv2e2dlwcjBHlPvaeHaNb7f/OYv14/J1lv/ZZFwdqI88P47kV+59qtxs+7A1gxaQsI9Xl1IDg30tiNMrx9NMCncTv35iBCif7wiuPucNXexnijpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cOceoE5ziWoexfEEEQ0rJ7zW3tiDmJCMuSt2TKpdaxU=; b=ThY0DlErFfriSM4frW8cgEb/whaTD+dgym1CEVsKhSRA86963+ejoGspXWp0OavQfs6axb3aHqgnUZ0jdhAoD00EGFWbSjGJRlfe/+gbeR5WXLbPQleuFIDgKJHvjCaLgxDPEwVtaz07FoCeCWdC91HObsYyNYX8neYsJMrg9FcR/tPrUImRODvsYfFmVqNAUufmB45lmCjr1QTHAPx5VLLfYDO2NJUr4gqSbCzvpHoYS+0pWjy4mmFOx2lomCKZsB1UMC4i0zw4sAxzveCD30PnkvwyLUNASLvksLZYWE8m4fAZk625VLCbRcm2/z+c76gyvKbz2MDHAfVbeUvaFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from OSCPR01MB14966.jpnprd01.prod.outlook.com (2603:1096:604:3b1::6) by TY4PR01MB15124.jpnprd01.prod.outlook.com (2603:1096:405:283::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar 2025 07:57:32 +0000 Received: from OSCPR01MB14966.jpnprd01.prod.outlook.com ([fe80::584f:6bba:2ecf:6b06]) by OSCPR01MB14966.jpnprd01.prod.outlook.com ([fe80::584f:6bba:2ecf:6b06%4]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025 07:57:32 +0000 From: "Hayato Kuroda (Fujitsu)" To: "'pgsql-hackers@lists.postgresql.org'" CC: Amit Kapila , "Zhijie Hou (Fujitsu)" , "ShlokKumar.Kyal@fujitsu.com" , Masahiko Sawada Subject: Selectively invalidate caches in pgoutput module Thread-Topic: Selectively invalidate caches in pgoutput module Thread-Index: AduMEVURgFGp6eUAQN6YSv+hf231NA== Date: Mon, 3 Mar 2025 07:57:32 +0000 Message-ID: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=df04c440-dd6d-4706-9ade-2ed6da0f696a;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2025-03-03T07:51:13Z;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OSCPR01MB14966:EE_|TY4PR01MB15124:EE_ x-ms-office365-filtering-correlation-id: 44bd355f-f457-494a-80a9-08dd5a290d90 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|1580799027|4053099003|38070700018; x-microsoft-antispam-message-info: =?iso-2022-jp?B?TExSOFJ5UTBXQzY2eGZTcDBUalViREdxMHhCUEF5VWQzeXFKa1Z1RW9Y?= =?iso-2022-jp?B?TnpCQ3RpSmhMbm9obXE4QjZGWVJSOHJuQmxjdTA5OWtIN0NsNkRFSUdr?= =?iso-2022-jp?B?QllORklRT01wbTVERjZYY3owdVQwdFNxL3ZQTmxmUTk5a0lLbURIZXor?= =?iso-2022-jp?B?Nlk2VEU5cFY1TkdodlRWbWFzVGc4eTl5ZkR5QzB2VVF5T2FNTithMUFi?= =?iso-2022-jp?B?YkRnWU9IaVRzczVaSnV6Z2cyd1NhT1RRbyt0dlgyTTZZNVg5Vzlxd3c3?= =?iso-2022-jp?B?ckdjU0RTNzQxcDN2Q3E2bWdkaDVuMVBHMmh5aEJrU09pNytaSjlUS1By?= =?iso-2022-jp?B?Tks2WFFHYVRVbUNIUFJRZWF3WmdXZXp3VVZEaFFDdm03M2VsT08xSUl6?= =?iso-2022-jp?B?eFR3ekE3ZzRFV0o3ZHZSSWEzYk1qcktkNlhlVllaeUF2dHJ3SFBwakh5?= =?iso-2022-jp?B?VlFBVmxjTzB0S3diVUxqSVU3SzJ0WkJYVS8rNEc2TWE3WGNJcWdQT2pX?= =?iso-2022-jp?B?bFAvalpkRlFlRnFZLzl5OHJERlJ2UEFwNVhkQmh2djcwSTJzTkJXVzVa?= =?iso-2022-jp?B?VktmL0VXRmllN0psTXEwMFNhQVJCeklXM1MydjZubUdBM3FUeVRQbEll?= =?iso-2022-jp?B?REFOSGZZVk1NZUFuZmlpcm44N0tDajJ1U2RjQU5WcERaclNhWGlSdm15?= =?iso-2022-jp?B?Y2FBYnlUd2J1UWJ5MG45QjBuREw4bWM5cm5yem9vOEhENUc5d2UzUUgr?= =?iso-2022-jp?B?SVd4ZlcxT0c5MzJnSElILzhFN2R3WGRTZ1hlNFRKbWw0cTVqUmQ0RW1U?= =?iso-2022-jp?B?NFZxR1lrcklPS1d6OE5YeWI2QWFSdmxvVEUzTG1LcGRBU3Z3VWNZRE5U?= =?iso-2022-jp?B?bE9JY1YxamQvbnZKUFluYkhsbkNlWDU2K3U0b0pGS2Zyc2pCcDFZNVQz?= =?iso-2022-jp?B?VkNLRkQxK05GRnpHcFQ3OWJENDdLM1ZBUGdLdzR6K1NZOUZrYUFpQldz?= =?iso-2022-jp?B?TjRxdzFKUTViMHNTU0NrN2IzaEZhdm1Yc0RFa2YrVGNEQzF3SS9kOGlO?= =?iso-2022-jp?B?N2tHNit4VlpNRi9ZaGJhK282ditHQ2FnQVhsK0tZWFd2bWRiZFB6b3Bu?= =?iso-2022-jp?B?M05yVTlLYU10d2p2VENlUi9FOUZ6VXhDbGxJbE5lMG0vOWVHdGJuS0wx?= =?iso-2022-jp?B?NnRqUCs5YnBIckxDd1IyODZOL1Ayc3VmeWtDSUxiN2xMSXhmWnpVenJO?= =?iso-2022-jp?B?ZnpYdnFxYko5M1VMemJoNUNGdnJhQlJta2FXWlBYcVFwK2VpQmZWaStl?= =?iso-2022-jp?B?bVZIWjRzWER1NVJkQkZpU00za3BKRVVzMmt3akNxcmNGQ2g3b2hHYW4v?= =?iso-2022-jp?B?VGpsbXhwbmdkMEsrMWhxWUNpZGFhN1YvVElKbWNsZW50NUpSUGlvUVRB?= =?iso-2022-jp?B?VUJDQ0hjSFhDUWZUVVlmZUUxWHVCTjZIM01reUR3T2VDaDFZQlVWTmFF?= =?iso-2022-jp?B?OGtEZmtJdGMxYmJxcHVkSVRpbGRSYStra3oxWVU1SktFQkJVN25raUhM?= =?iso-2022-jp?B?Y3ZYS0RiakRka0loTU9vdFYzYkR2YzJ6cTg4OTM0MEU1T2tVOXlkVUoy?= =?iso-2022-jp?B?eTBVamtvNjhTV0ZHMUR5YjRBUVlYaVFFVEhwNEZGZmdiQi83NjZyb3dM?= =?iso-2022-jp?B?M3U2bG9BUW9KNERyeFl4TnZ4S2thVVpETEhPbHd5S2ZQR1AwQlAzN3N3?= =?iso-2022-jp?B?eFRZU240QmRxSHoyMUMxQTgzNGs0LzlVckhXWGJMK054d0RIYnhoOWxF?= =?iso-2022-jp?B?dDgxL0NWMmx5N2lvRGF0aXFIYlVDZVphbVN3bmhjWW9rK2phanFGUUhY?= =?iso-2022-jp?B?UTU2cW81Q2R6Rkl3Um1nR05YQVUwVjlPUnRDTEdsSmdYTHNYeWlHZHFT?= =?iso-2022-jp?B?NVVZZWhEdG1XeFlTTEx3cjBaZVFJRWdYeEhLc2pya2VGcFFlVXBSSlRD?= =?iso-2022-jp?B?SHV2dW1OM2R6T1duZC9ia3FmMk5ONzE4Z1JZMS9lWlVSTHE4RWVuMEJx?= =?iso-2022-jp?B?b1dkVWlKMDFjVEU5dDB0Y1FOOGFQY3BwVmZCdzAyMXNJa2o0dHVxWTVw?= =?iso-2022-jp?B?NkxtRWUzekNkSHh3UXVPOHVjMXhSd1hSSk1GSlZ0ZXoxU1FTbk12eXZx?= =?iso-2022-jp?B?QXBnPQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSCPR01MB14966.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(1580799027)(4053099003)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?SHpVRERBTHVYK1ljZkxMblExMjZTWnVMUjNUNW1nQnJWTmFqTUxiRVEz?= =?iso-2022-jp?B?akY4YzBjbjd6OXBuV29GMU1HZ2lOVnBHSUpkajVOMkJUY3JOeVdaeG5u?= =?iso-2022-jp?B?eEcxdGkvVVo3V2pjdUhmSU1ydS9VZzg4citiWXFHR2VjTWZIYTFNQnNR?= =?iso-2022-jp?B?eldteWRXaEF2V0xQZ0pWNFltWVlxVVNVSTEyajFmUjlvbU5STWgyd29Y?= =?iso-2022-jp?B?RVVGWkVPRkhYWThmNk5sV1UyQzNnT3hhQVZrODdma1VrU3pZY2NicTFl?= =?iso-2022-jp?B?eWtBWGIwU1NWZnRrZGthcTZ1MzVQQ1R5OEJ2K1VRQ0NXRmR2M2N1UVhz?= =?iso-2022-jp?B?MUI4WHJES2g2OFhPbXN6NmVtU0pFVzhTd1VHUE50bnJvOWtUKzVhbmdn?= =?iso-2022-jp?B?cFVvb2V0VmFIY3k3MmVTSzNyclUxaUJtTmtqSm0xK0R6Nnkrc2krUEU3?= =?iso-2022-jp?B?VXVBcVdaRHZHSk9wSTBDY0l1dEtKdFNYUkFaTWVjVC9mNy8ybk5KSHF1?= =?iso-2022-jp?B?Y0pxQkpkUTl6OVF3Y0V4eE9zWnBYVHlKNksrQUJYbVhCQUdKWkZiMkNJ?= =?iso-2022-jp?B?MXpJMUprbUMxTlA1bXZpdHhXclozSnJoUHNvMGIyRFJoUXprZkJ5YkhV?= =?iso-2022-jp?B?ZFdhV1pRbGdDMzdicHRWdGlFUDJORkhQT3h3d21LT1pKdXV2NFp4NDBw?= =?iso-2022-jp?B?b090RnNnYkoybUFKMUtuZTNmckEwK21DNGhVSW1xZitZNk1lMmozcmlz?= =?iso-2022-jp?B?REtURDJHeWVqNXVEK1I0RTJEL0lHYnNldUhFQ1VMS1Fzc2w4ZU8vS2c3?= =?iso-2022-jp?B?OUlnS0QvV215NEhIcmhhMWtBRko2Vkl1UjI1WXJaY0xVUzBQbTh1bHRa?= =?iso-2022-jp?B?MER0UkhtVEFkYS92b3pYK2JQMGl2VmcvLzZFU2dkYXVOWlN1UzhlRzRm?= =?iso-2022-jp?B?UTBBYmxPSEZIczlhSmF1eThKMXM5Q0JhTW1Yd3ltVnlKcTI2RXlGL2wv?= =?iso-2022-jp?B?MWFNM2dUR280VnZrYVB3VXQyTEJUQno4MnJtV1d3OGJCNHB4QjJ5SEkv?= =?iso-2022-jp?B?bS9KS05kM1FyZzdDYjdteE9CMHlXQzhjWW1PQlAwamRkTjNRQ3V2QXo1?= =?iso-2022-jp?B?Y1A4TTd1WFR0bkhta0tKZ1hNVWVxY2FodXF4Q3ErcVpBUWYvM1NYclpQ?= =?iso-2022-jp?B?dlRVd09LREFzOTRhSFZkSVdVS2J0M1lESjVYd2I1bU50TXMrTDVzTC9u?= =?iso-2022-jp?B?eHdwaE81M1RyMUcrNFo0QnQ3bEhudWFVbWZ4My9aMkRRS0w4S04xZGww?= =?iso-2022-jp?B?dVJlVHRyclVZY1BZc1JkN3piOVF3eUsrV1M1dDZvV2hqeXFtY3dOckpM?= =?iso-2022-jp?B?eFNMdGhCbExHcmdpbTVONlFhaHpsNUZHRXJlTzhjZ2JlNXF1UjVPN25q?= =?iso-2022-jp?B?MllmT0hxNDczSlVLUlByM3d2QU5NckR4WGdWZlV5eHM2ekphOXVPTEVV?= =?iso-2022-jp?B?dWhRdURZMXljVUpUYkJvUklUbzRIODlydkN1Wjc0ZXRjVmNlMEh4VEhP?= =?iso-2022-jp?B?dXBENURTaml5MGh5OXR5YnpnWlZWYk1SRGRjWjFVRnpzczdkQzVFNTFj?= =?iso-2022-jp?B?QnNCS2I2bW1hUWN6QUovR2M3YlNkUlRaeFBvb2lKRzJzc3B3eXVHUlNX?= =?iso-2022-jp?B?OHM2ek5kSXRSbDZ0VXdoVHg4dlNxa21KV0JNa05kaVlpUVZZMWw0T2d1?= =?iso-2022-jp?B?aG9xeVpVaytSYTMvZUZnV2FHMW8vd2hzMjlTWlQwWmJMUUZJRUFKWFow?= =?iso-2022-jp?B?RGNvRVJYaEFPdTZCS3VkKzIrbEdZRnhyRTAzYXltRWhVWGcxdkh2SzRs?= =?iso-2022-jp?B?aTkzcTVUa2QxU0JsRHIxc3dUL3RoVEF2MVNBaFJiaWYvNDZlVGNCMHR0?= =?iso-2022-jp?B?ZGYxRUVkRXQ2U2RPR1kvL2lXZ2NaVDV1OFUzdDFKNVFJTHdnY3F4dER0?= =?iso-2022-jp?B?bWovVkM5c3lxRVdxeDE2ZzRlRGJjWWVSa2ZmRU5iY0YyR2RzVXpwS2Y5?= =?iso-2022-jp?B?Vy8wWlZUdk1Ia3hjaG8rRzNiQStsSVJEeEhLcU5XcDJiVkdlSjI5Qkp3?= =?iso-2022-jp?B?anZyQXFXR0IwOVMydGVzSVYyOG8vYmNmSFZWa0xPYitmNDdTcE5JSzdy?= =?iso-2022-jp?B?eVM5MkpyL1pCc3kycm4weGt3QTFGUitlalA0NVZQSXJCRXRadTd3aFMx?= =?iso-2022-jp?B?TGJxcnpKNm5WMzBkTTAxRXBPYUZsUFRsdXJCVitPYVZNRXNJWUJob3pS?= =?iso-2022-jp?B?YWp3eg==?= Content-Type: multipart/mixed; boundary="_002_OSCPR01MB14966C09AA201EFFA706576A7F5C92OSCPR01MB14966jp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: V8Gga2SUeX4MBQ2j7Zg0Y4FYXv7E88B7rWOpvLs4+dUaxr1Aga/gIOEYCe004b70nL5qQfbXamQ+4zpcHQWKmfWPIVmoaTNqh8FaxmzowCZZ5rtnqhEkld7isXW0L2pJccndrvxbb9GaAg9oGAfddVtubseghPS9NVBdyV/Vc1ASaC9iwNwvxtoxeM+5vuDu2v2KtTPzfUmazIDtC7Daug3Oqvz0/Et9VFQZ2ptSi2dUm8xm//B9zabr3KoHEucgjBwG7ZdabkvULarj7k0x63OLcgB6zYetrrEe5m0r2SY5EiUDJ9jgC+u1ItKJzFeQYjlSUeR2bpKc+regr8C5AkUSrKS9L4AaU+0I+JbUaWcUW+p3X+2A6NJIumDB2kmSVlOghj3dmxWy67Wsut5G3F3D2K9tcs6XIKoRTKhYsXDJEIpT6W5LI9ZFB8QgdfV+5X+z8EcNZCh6KEwpxlFzViVSkx1+glUDaXZZ4byX1ZYLj3DSzufN6z7Gs8H4T/ez8svknRZQ2qFznNWcRA58lRablZ8jJVeP/O8O5k1WecOeBaPurdaMpiLfgVTMXLYIIuwqRbC9MTJSouEfylT66yS4srPax46rYLKvEP4AM/7fHUXmI5F0Jo280EA3do4Q X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OSCPR01MB14966.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44bd355f-f457-494a-80a9-08dd5a290d90 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2025 07:57:32.3628 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +hEVmH+uN4eMnNT2VWQx4o/Izq6ZnKhS0u6UC8XpsnljFAjpLWPz+E6Jyf/8nLexrqE64GPkIe5cFJhNFodqPL8vsSDztv2I8hrcmlleyD0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY4PR01MB15124 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OSCPR01MB14966C09AA201EFFA706576A7F5C92OSCPR01MB14966jp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable Dear hackers, Hi, this is a fork thread from [1]. I want to propose a small optimization = for logical replication system. Background =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D When the ALTER PUBLICATION command is executed, all entries in RelationSync= Cache will be discarded anyway. This mechanism works well but is sometimes not ef= ficient. For example, when the ALTER PUBLICATION DROP TABLE is executed, 1) the specific entry in RelationSyncCache will be removed, and then 2) all entries will be discarded twice. This happens because the pgoutput plugin registers both RelcacheCallback (rel_sync_cache_relation_cb) and SyscacheCallback (publication_invalidation= _cb, rel_sync_cache_publication_cb). Then, when ALTER PUBLICATION ADD/SET/DROP i= s executed, both the relation cache of added tables and the syscache of pg_publication_= rel and pg_publication are invalidated. The callback for the relation cache will remove an entry from the hash tabl= e, and syscache callbacks will look up all entries and invalidate them. However, A= FAICS does not need to invalidate all of them. I grepped source codes and found this happens since the initial version. Currently the effect of the behavior may not be large, but [1] may affect significantly because it propagates invalidation messages to all in-progres= s decoding transactions. Patch overview =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Based on the background, the patch avoids dropping all entries in RelationS= yncCache when ALTER PUBLICATION is executed. It removes sys cache callbacks for pg_p= ublication_rel and pg_publication_namespace and avoids discarding entries in sys cache for= pg_publication. Apart from the above, this patch also ensures that relcaches of publishing = tables are invalidated when ALTER PUBLICATION is executed. ADD/SET/DROP already ha= s this mechanism, but ALTER PUBLICATION OWNER TO and RENAME TO do not. Regarding RENAME TO, now we are using a common function, but it is replaced= with RenamePublication() to do invalidations. How do you think? [1]: https://www.postgresql.org/message-id/de52b282-1166-1180-45a2-8d8917ca= 74c6@enterprisedb.com Best regards, Hayato Kuroda FUJITSU LIMITED --_002_OSCPR01MB14966C09AA201EFFA706576A7F5C92OSCPR01MB14966jp_ Content-Type: application/octet-stream; name="0001-Selectively-invalidate-cache-in-pgoutput.patch" Content-Description: 0001-Selectively-invalidate-cache-in-pgoutput.patch Content-Disposition: attachment; filename="0001-Selectively-invalidate-cache-in-pgoutput.patch"; size=7907; creation-date="Mon, 03 Mar 2025 07:52:17 GMT"; modification-date="Mon, 03 Mar 2025 07:53:24 GMT" Content-Transfer-Encoding: base64 RnJvbSA1ZWE0MDk1YzQ0YjE5MTFlODAyMTYxOTM2ZGIxZTVkZDc3MDkyN2RhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGxvayBLeWFsIDxzaGxvay5reWFsLm9zc0BnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjQgRmViIDIwMjUgMTU6MzQ6MzEgKzA1MzAKU3ViamVjdDogW1BBVENIXSBT ZWxlY3RpdmVseSBpbnZhbGlkYXRlIGNhY2hlIGluIHBnb3V0cHV0CgpXaGVuIHRoZSBBTFRFUiBQ VUJMSUNBVElPTiBjb21tYW5kIGlzIGV4ZWN1dGVkLCBhbGwgZW50cmllcyBpbiBSZWxhdGlvblN5 bmNDYWNoZQp3aWxsIGJlIGRpc2NhcmRlZCBhbnl3YXkuIFRoaXMgbWVjaGFuaXNtIHdvcmtzIHdl bGwgYnV0IGlzIHNvbWV0aW1lcyBub3QKZWZmaWNpZW50LiBGb3IgZXhhbXBsZSwgd2hlbiB0aGUg QUxURVIgUFVCTElDQVRJT04gRFJPUCBUQUJMRSBpcyBleGVjdXRlZCwKMSkgdGhlIHNwZWNpZmlj IGVudHJ5IGluIFJlbGF0aW9uU3luY0NhY2hlIHdpbGwgYmUgcmVtb3ZlZCwgYW5kIHRoZW4gMikg YWxsCmVudHJpZXMgd2lsbCBiZSBkaXNjYXJkZWQuCgpUaGlzIHBhdGNoIGF2b2lkcyBkcm9wcGlu ZyBhbGwgZW50cmllcyBpbiBSZWxhdGlvblN5bmNDYWNoZSB3aGVuIEFMVEVSClBVQkxJQ0FUSU9O IGlzIGV4ZWN1dGVkLiBUaGVvcmV0aWNhbGx5LCBpdCBpcyBlbm91Z2ggdG8gaW52YWxpZGF0ZSB0 aGUgcmVsYXRlZApyZWxhY2FjaGUgc2luY2UgUmVsYWNoZUNhbGxiYWNrIGhhcyBhbHJlYWR5IGJl ZW4gcmVnaXN0ZXJlZC4gVGhlIG1lY2hhbmlzbQpleGlzdHMgZm9yIEFMVEVSIFBVQkxJQ0FUSU9O IEFERC9TRVQvRFJPUCwgc28gYWRkZWQgZm9yIE9XTkVSIFRPIGFuZCBSRU5BTUUKVE8gc3RhdGVt ZW50cy4gUmVnYXJkaW5nIHRoZSBSRU5BTUUgVE8sIHdlIHN0b3AgdXNpbmcgYSBjb21tb24gZnVu Y3Rpb24gYW5kCnJlcGxhY2VkIGl0IHdpdGggUmVuYW1lUHVibGljYXRpb24oKS4KCkF1dGhvcjog U2hsb2sgS3lhbCBhbmQgSGF5YXRvIEt1cm9kYQotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2Fs dGVyLmMgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3B1Ymxp Y2F0aW9uY21kcy5jICAgICAgfCAxMDcgKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgfCAgMTggLS0tLQogc3JjL2luY2x1ZGUvY29t bWFuZHMvcHVibGljYXRpb25jbWRzLmggICAgICB8ICAgMSArCiA1IGZpbGVzIGNoYW5nZWQsIDEx MiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9hbHRlci5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0ZXIuYwppbmRleCA3 OGMxZDRlMWI4Li5hNzkzMjlhY2MxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9h bHRlci5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FsdGVyLmMKQEAgLTQwMCw2ICs0MDAs OSBAQCBFeGVjUmVuYW1lU3RtdChSZW5hbWVTdG10ICpzdG10KQogCQljYXNlIE9CSkVDVF9UWVBF OgogCQkJcmV0dXJuIFJlbmFtZVR5cGUoc3RtdCk7CiAKKwkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJ T046CisJCQlyZXR1cm4gUmVuYW1lUHVibGljYXRpb24oc3RtdC0+c3VibmFtZSwgc3RtdC0+bmV3 bmFtZSk7CisKIAkJY2FzZSBPQkpFQ1RfQUdHUkVHQVRFOgogCQljYXNlIE9CSkVDVF9DT0xMQVRJ T046CiAJCWNhc2UgT0JKRUNUX0NPTlZFUlNJT046CkBAIC00MTcsNyArNDIwLDYgQEAgRXhlY1Jl bmFtZVN0bXQoUmVuYW1lU3RtdCAqc3RtdCkKIAkJY2FzZSBPQkpFQ1RfVFNESUNUSU9OQVJZOgog CQljYXNlIE9CSkVDVF9UU1BBUlNFUjoKIAkJY2FzZSBPQkpFQ1RfVFNURU1QTEFURToKLQkJY2Fz ZSBPQkpFQ1RfUFVCTElDQVRJT046CiAJCWNhc2UgT0JKRUNUX1NVQlNDUklQVElPTjoKIAkJCXsK IAkJCQlPYmplY3RBZGRyZXNzIGFkZHJlc3M7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9wdWJsaWNhdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3B1YmxpY2F0aW9u Y21kcy5jCmluZGV4IDE1MGE3NjhkMTYuLjE4MmQyMTg3ZjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3B1YmxpY2F0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3B1YmxpY2F0aW9uY21kcy5jCkBAIC00OTEsNiArNDkxLDg3IEBAIHB1Yl9jb250YWluc19pbnZh bGlkX2NvbHVtbihPaWQgcHViaWQsIFJlbGF0aW9uIHJlbGF0aW9uLCBMaXN0ICphbmNlc3RvcnMs CiAJcmV0dXJuICppbnZhbGlkX2NvbHVtbl9saXN0IHx8ICppbnZhbGlkX2dlbl9jb2w7CiB9CiAK Ky8qCisgKiBFeGVjdXRlIEFMVEVSIFBVQkxJQ0FUSU9OIFJFTkFNRQorICovCitPYmplY3RBZGRy ZXNzCitSZW5hbWVQdWJsaWNhdGlvbihjb25zdCBjaGFyICpvbGRuYW1lLCBjb25zdCBjaGFyICpu ZXduYW1lKQoreworCVJlbGF0aW9uCQkJcmVsOworCUhlYXBUdXBsZQkJCXR1cDsKKwlPYmplY3RB ZGRyZXNzCQlhZGRyZXNzOworCUZvcm1fcGdfcHVibGljYXRpb24JcHViZm9ybTsKKwlib29sCQkJ CXJlcGxhY2VzW05hdHRzX3BnX3B1YmxpY2F0aW9uXTsKKwlib29sCQkJCW51bGxzW05hdHRzX3Bn X3B1YmxpY2F0aW9uXTsKKwlEYXR1bQkJCQl2YWx1ZXNbTmF0dHNfcGdfcHVibGljYXRpb25dOwor CisJcmVsID0gdGFibGVfb3BlbihQdWJsaWNhdGlvblJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxv Y2spOworCisJdHVwID0gU2VhcmNoU3lzQ2FjaGVDb3B5MShQVUJMSUNBVElPTk5BTUUsCisJCQkJ CQkJICBDU3RyaW5nR2V0RGF0dW0ob2xkbmFtZSkpOworCisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlk KHR1cCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURf T0JKRUNUKSwKKwkJCQkgZXJybXNnKCJwdWJsaWNhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3Qi LAorCQkJCQkJb2xkbmFtZSkpKTsKKworCXB1YmZvcm0gPSAoRm9ybV9wZ19wdWJsaWNhdGlvbikg R0VUU1RSVUNUKHR1cCk7CisKKwkvKiBtdXN0IGJlIG93bmVyICovCisJaWYgKCFvYmplY3Rfb3du ZXJjaGVjayhQdWJsaWNhdGlvblJlbGF0aW9uSWQsIHB1YmZvcm0tPm9pZCwgR2V0VXNlcklkKCkp KQorCQlhY2xjaGVja19lcnJvcihBQ0xDSEVDS19OT1RfT1dORVIsIE9CSkVDVF9QVUJMSUNBVElP TiwKKwkJCQkJICAgTmFtZVN0cihwdWJmb3JtLT5wdWJuYW1lKSk7CisKKwkvKiBFdmVyeXRoaW5n IG9rLCBmb3JtIGEgbmV3IHR1cGxlLiAqLworCW1lbXNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1 ZXMpKTsKKwltZW1zZXQobnVsbHMsIGZhbHNlLCBzaXplb2YobnVsbHMpKTsKKwltZW1zZXQocmVw bGFjZXMsIGZhbHNlLCBzaXplb2YocmVwbGFjZXMpKTsKKworCS8qIE9ubHkgdXBkYXRlIHRoZSBw dWJuYW1lICovCisJdmFsdWVzW0FudW1fcGdfcHVibGljYXRpb25fcHVibmFtZSAtIDFdID0KKwkJ RGlyZWN0RnVuY3Rpb25DYWxsMShuYW1laW4sIENTdHJpbmdHZXREYXR1bShuZXduYW1lKSk7CisJ cmVwbGFjZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJuYW1lIC0gMV0gPSB0cnVlOworCisJdHVw ID0gaGVhcF9tb2RpZnlfdHVwbGUodHVwLCBSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywg bnVsbHMsCisJCQkJCQkJcmVwbGFjZXMpOworCisJLyogSW52YWxpZGF0ZSB0aGUgcmVsY2FjaGUu ICovCisJaWYgKHB1YmZvcm0tPnB1YmFsbHRhYmxlcykKKwl7CisJCUNhY2hlSW52YWxpZGF0ZVJl bGNhY2hlQWxsKCk7CisJfQorCWVsc2UKKwl7CisJCUxpc3QJICAgKnJlbGlkcyA9IE5JTDsKKwkJ TGlzdAkgICAqc2NoZW1hcmVsaWRzID0gTklMOworCisJCS8qCisJCSAqIEZvciBwYXJ0aXRpb24g dGFibGUsIHdoZW4gd2UgaW5zZXJ0IGRhdGEsIGdldF9yZWxfc3luY19lbnRyeSBpcworCQkgKiBj YWxsZWQgYW5kIGEgaGFzaCBlbnRyeSBpcyBjcmVhdGVkIGZvciB0aGUgY29ycmVzcG9uZGluZyBs ZWFmIHRhYmxlLgorCQkgKiBTbyBpbnZhbGlkYXRpbmcgdGhlIGxlYWYgbm9kZXMgd291bGQgYmUg c3VmZmljaWVudCBoZXJlLgorCQkgKi8KKwkJcmVsaWRzID0gR2V0UHVibGljYXRpb25SZWxhdGlv bnMocHViZm9ybS0+b2lkLAorCQkJCQkJCQkJCSBQVUJMSUNBVElPTl9QQVJUX0xFQUYpOworCQlz Y2hlbWFyZWxpZHMgPSBHZXRBbGxTY2hlbWFQdWJsaWNhdGlvblJlbGF0aW9ucyhwdWJmb3JtLT5v aWQsCisJCQkJCQkJCQkJCQkJCVBVQkxJQ0FUSU9OX1BBUlRfTEVBRik7CisKKwkJcmVsaWRzID0g bGlzdF9jb25jYXRfdW5pcXVlX29pZChyZWxpZHMsIHNjaGVtYXJlbGlkcyk7CisKKwkJSW52YWxp ZGF0ZVB1YmxpY2F0aW9uUmVscyhyZWxpZHMpOworCX0KKworCUNhdGFsb2dUdXBsZVVwZGF0ZShy ZWwsICZ0dXAtPnRfc2VsZiwgdHVwKTsKKworCU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgUHVi bGljYXRpb25SZWxhdGlvbklkLCBwdWJmb3JtLT5vaWQpOworCisJaGVhcF9mcmVldHVwbGUodHVw KTsKKworCXRhYmxlX2Nsb3NlKHJlbCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gYWRk cmVzczsKK30KKwogLyogY2hlY2tfZnVuY3Rpb25zX2luX25vZGUgY2FsbGJhY2sgKi8KIHN0YXRp YyBib29sCiBjb250YWluX211dGFibGVfb3JfdXNlcl9mdW5jdGlvbnNfY2hlY2tlcihPaWQgZnVu Y19pZCwgdm9pZCAqY29udGV4dCkKQEAgLTE5OTYsNiArMjA3NywzMiBAQCBBbHRlclB1YmxpY2F0 aW9uT3duZXJfaW50ZXJuYWwoUmVsYXRpb24gcmVsLCBIZWFwVHVwbGUgdHVwLCBPaWQgbmV3T3du ZXJJZCkKIAl9CiAKIAlmb3JtLT5wdWJvd25lciA9IG5ld093bmVySWQ7CisKKwkvKiBJbnZhbGlk YXRlIHRoZSByZWxjYWNoZS4gKi8KKwlpZiAoZm9ybS0+cHViYWxsdGFibGVzKQorCXsKKwkJQ2Fj aGVJbnZhbGlkYXRlUmVsY2FjaGVBbGwoKTsKKwl9CisJZWxzZQorCXsKKwkJTGlzdAkgICAqcmVs aWRzID0gTklMOworCQlMaXN0CSAgICpzY2hlbWFyZWxpZHMgPSBOSUw7CisKKwkJLyoKKwkJICog Rm9yIHBhcnRpdGlvbiB0YWJsZSwgd2hlbiB3ZSBpbnNlcnQgZGF0YSwgZ2V0X3JlbF9zeW5jX2Vu dHJ5IGlzCisJCSAqIGNhbGxlZCBhbmQgYSBoYXNoIGVudHJ5IGlzIGNyZWF0ZWQgZm9yIHRoZSBj b3JyZXNwb25kaW5nIGxlYWYgdGFibGUuCisJCSAqIFNvIGludmFsaWRhdGluZyB0aGUgbGVhZiBu b2RlcyB3b3VsZCBiZSBzdWZmaWNpZW50IGhlcmUuCisJCSAqLworCQlyZWxpZHMgPSBHZXRQdWJs aWNhdGlvblJlbGF0aW9ucyhmb3JtLT5vaWQsCisJCQkJCQkJCQkJIFBVQkxJQ0FUSU9OX1BBUlRf TEVBRik7CisJCXNjaGVtYXJlbGlkcyA9IEdldEFsbFNjaGVtYVB1YmxpY2F0aW9uUmVsYXRpb25z KGZvcm0tPm9pZCwKKwkJCQkJCQkJCQkJCQkJUFVCTElDQVRJT05fUEFSVF9MRUFGKTsKKworCQly ZWxpZHMgPSBsaXN0X2NvbmNhdF91bmlxdWVfb2lkKHJlbGlkcywgc2NoZW1hcmVsaWRzKTsKKwor CQlJbnZhbGlkYXRlUHVibGljYXRpb25SZWxzKHJlbGlkcyk7CisJfQorCiAJQ2F0YWxvZ1R1cGxl VXBkYXRlKHJlbCwgJnR1cC0+dF9zZWxmLCB0dXApOwogCiAJLyogVXBkYXRlIG93bmVyIGRlcGVu ZGVuY3kgcmVmZXJlbmNlICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55 IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCA3ZDk5YzkzNTVjLi40OWZlMDU2N2M1 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkKQEAgLTk1MTMsNyArOTUxMyw3IEBAIFJlbmFtZVN0bXQ6IEFMVEVSIEFH R1JFR0FURSBhZ2dyZWdhdGVfd2l0aF9hcmd0eXBlcyBSRU5BTUUgVE8gbmFtZQogCQkJCQlSZW5h bWVTdG10ICpuID0gbWFrZU5vZGUoUmVuYW1lU3RtdCk7CiAKIAkJCQkJbi0+cmVuYW1lVHlwZSA9 IE9CSkVDVF9QVUJMSUNBVElPTjsKLQkJCQkJbi0+b2JqZWN0ID0gKE5vZGUgKikgbWFrZVN0cmlu ZygkMyk7CisJCQkJCW4tPnN1Ym5hbWUgPSAkMzsKIAkJCQkJbi0+bmV3bmFtZSA9ICQ2OwogCQkJ CQluLT5taXNzaW5nX29rID0gZmFsc2U7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCmluZGV4IDdkNDY0ZjY1NmEuLmIy OGNlNjM2ZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bn b3V0cHV0LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQu YwpAQCAtMTc4OSwxMiArMTc4OSw2IEBAIHN0YXRpYyB2b2lkCiBwdWJsaWNhdGlvbl9pbnZhbGlk YXRpb25fY2IoRGF0dW0gYXJnLCBpbnQgY2FjaGVpZCwgdWludDMyIGhhc2h2YWx1ZSkKIHsKIAlw dWJsaWNhdGlvbnNfdmFsaWQgPSBmYWxzZTsKLQotCS8qCi0JICogQWxzbyBpbnZhbGlkYXRlIHBl ci1yZWxhdGlvbiBjYWNoZSBzbyB0aGF0IG5leHQgdGltZSB0aGUgZmlsdGVyaW5nIGluZm8KLQkg KiBpcyBjaGVja2VkIGl0IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZSBuZXcgcHVibGljYXRpb24g c2V0dGluZ3MuCi0JICovCi0JcmVsX3N5bmNfY2FjaGVfcHVibGljYXRpb25fY2IoYXJnLCBjYWNo ZWlkLCBoYXNodmFsdWUpOwogfQogCiAvKgpAQCAtMTk3MCwxOCArMTk2NCw2IEBAIGluaXRfcmVs X3N5bmNfY2FjaGUoTWVtb3J5Q29udGV4dCBjYWNoZWN0eCkKIAkJCQkJCQkJICByZWxfc3luY19j YWNoZV9wdWJsaWNhdGlvbl9jYiwKIAkJCQkJCQkJICAoRGF0dW0pIDApOwogCi0JLyoKLQkgKiBG bHVzaCBhbGwgY2FjaGUgZW50cmllcyBhZnRlciBhbnkgcHVibGljYXRpb24gY2hhbmdlcy4gIChX ZSBuZWVkIG5vCi0JICogY2FsbGJhY2sgZW50cnkgZm9yIHBnX3B1YmxpY2F0aW9uLCBiZWNhdXNl IHB1YmxpY2F0aW9uX2ludmFsaWRhdGlvbl9jYgotCSAqIHdpbGwgdGFrZSBjYXJlIG9mIGl0LikK LQkgKi8KLQlDYWNoZVJlZ2lzdGVyU3lzY2FjaGVDYWxsYmFjayhQVUJMSUNBVElPTlJFTE1BUCwK LQkJCQkJCQkJICByZWxfc3luY19jYWNoZV9wdWJsaWNhdGlvbl9jYiwKLQkJCQkJCQkJICAoRGF0 dW0pIDApOwotCUNhY2hlUmVnaXN0ZXJTeXNjYWNoZUNhbGxiYWNrKFBVQkxJQ0FUSU9OTkFNRVNQ QUNFTUFQLAotCQkJCQkJCQkgIHJlbF9zeW5jX2NhY2hlX3B1YmxpY2F0aW9uX2NiLAotCQkJCQkJ CQkgIChEYXR1bSkgMCk7Ci0KIAlyZWxhdGlvbl9jYWxsYmFja3NfcmVnaXN0ZXJlZCA9IHRydWU7 CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3B1YmxpY2F0aW9uY21kcy5o IGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmgKaW5kZXggZTExYTk0MmVh MC4uM2RmY2VlZjcwZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHVibGljYXRp b25jbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmgKQEAg LTM4LDUgKzM4LDYgQEAgZXh0ZXJuIGJvb2wgcHViX2NvbnRhaW5zX2ludmFsaWRfY29sdW1uKE9p ZCBwdWJpZCwgUmVsYXRpb24gcmVsYXRpb24sCiAJCQkJCQkJCQkJY2hhciBwdWJnZW5jb2xzX3R5 cGUsCiAJCQkJCQkJCQkJYm9vbCAqaW52YWxpZF9jb2x1bW5fbGlzdCwKIAkJCQkJCQkJCQlib29s ICppbnZhbGlkX2dlbl9jb2wpOworZXh0ZXJuIE9iamVjdEFkZHJlc3MgUmVuYW1lUHVibGljYXRp b24oY29uc3QgY2hhciAqb2xkbmFtZSwgY29uc3QgY2hhciAqbmV3bmFtZSk7CiAKICNlbmRpZgkJ CQkJCQkvKiBQVUJMSUNBVElPTkNNRFNfSCAqLwotLSAKMi40My41Cgo= --_002_OSCPR01MB14966C09AA201EFFA706576A7F5C92OSCPR01MB14966jp_--