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 1ts4iY-00EyN8-44 for pgsql-general@arkaria.postgresql.org; Tue, 11 Mar 2025 18:52:42 +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 1ts4iW-004iWx-1r for pgsql-general@arkaria.postgresql.org; Tue, 11 Mar 2025 18:52:40 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ts4iV-004iWp-93 for pgsql-general@lists.postgresql.org; Tue, 11 Mar 2025 18:52:39 +0000 Received: from mail-bn7nam10olkn2082a.outbound.protection.outlook.com ([2a01:111:f403:2804::82a] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ts4iR-002HIT-1R for pgsql-general@postgresql.org; Tue, 11 Mar 2025 18:52:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h8hLjyQUnDOQccY6nnaMRdV5adQ0WbAFs2JbuyzGO2+ckjx53SyVpeNlL36/q8gdOI402xAfcx5UdUxRoN9AIgt+KXwdW2qMs5qTDdXldm0HvArd10G2FXFggFZZCm3cfhTegtHhc5Pf3QIRQG+Y7ofjFhWcCcxlE6HZ33074oGkBz285lcgOUiBQ3fYBLtjcjoCjWLkzgeXbDUxE9+11qN3JXlpMcnEPC/Jy6jDFz03kGtAyLRWk6vzczcd0X/5LyiEkvUtYgVBtpqaqk0inUDS0ktT5madZ0n11KllD8/hCjDpCh9yhBM6uC1ZxUln4pUSnIlEhq2AvaKJZJd2vQ== 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=5+pZRTvjnCmi0Z7tn8sqZmttEMUneUU6+kRanMY4YZg=; b=lY3N3vNbsuK2x8KYRpjH23mJcolr3DA48doqFzImwqql59QQnstfyFhOyDimwA3++RNvZyuboixjZxvyAiy0dQGAPcbkB/pbzjH7IljnKM1YNVA1n9gcGJG1i7qZSmEo7jND9oNC4+KY0QYogzQY8q2q/9V956SXimyPNTg0wZFC6WQUH0KRArk31JKyEK8rGlKZfzdJ67Bs9ov7VIJX1PQJUgPxcWEumwABNJKqfK9qDq7OeMkuLLR72r/fKjg+4B54Q8aBOnYGlVJNZghl161ttd9PnlLdRkeeQo9WNukmpSe91+F2T7nfzItZ+n5DDphZqMttRI1TPZ4DpJlv9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5+pZRTvjnCmi0Z7tn8sqZmttEMUneUU6+kRanMY4YZg=; b=TeLuTwHu86bdaJTyE3WaWNazS+S8SMcB3rbONg00vXAzm8orOeILYZJmLRoXpfijCEKAv56cbjJKvOqDPRRRZiwNx3b9NcPW0qzyGUkcWASNTqN5cGF0+/tTMVnl9ZN3i8YNfeKnr/c+BaDdnUO19wYol8f9BmS0urE+3aaadRG0xE6cg2YGteJW8crGxZP5JMGc/SZ7lO8kGteMmI2NtbQehw6oirNfAmL9xl4OsjJeIT7rbZF1nN+W7n066DM7jOcx1cZi06tr8Z5ISqIt4+CykhUFIrp68tyRkF7spc+Cq9nCEQ31B/ZLA6iC2fh2fNqtPd46h1oxWNjFMKkGtA== Received: from SJ2PR22MB4328.namprd22.prod.outlook.com (2603:10b6:a03:547::6) by SJ2PR22MB4267.namprd22.prod.outlook.com (2603:10b6:a03:536::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar 2025 18:52:29 +0000 Received: from SJ2PR22MB4328.namprd22.prod.outlook.com ([fe80::2440:4b5e:d794:94e]) by SJ2PR22MB4328.namprd22.prod.outlook.com ([fe80::2440:4b5e:d794:94e%6]) with mapi id 15.20.8534.017; Tue, 11 Mar 2025 18:52:29 +0000 From: mark bradley To: Adrian Klaver CC: pgsql-general Subject: Re: Duplicate Key Values Thread-Topic: Duplicate Key Values Thread-Index: AQHbjfSQTi8IT+qnIE+vrsDEftWknrNk0i6AgABZWESAAAeigIAAA0qAgAEyu6OAAAQ9gIAACBsIgAAUTYCAAACl9oAACBWAgAEp+imAABowgIAAQNjvgAAKxYCABeQlYIAACUYAgAACETqAAAJXAIAAALnDgAAMoYCAABfCkQ== Date: Tue, 11 Mar 2025 18:52:29 +0000 Message-ID: References: <75b33741-ee99-4524-b63a-edad21c1266d@aklaver.com> <9d919848-3fe1-46fd-b343-c5f2931864f7@aklaver.com> <513ddbee-135c-4af2-b6f6-acca667b8d09@aklaver.com> <84aac7bf-5638-4f1f-9772-ace0ea27e848@aklaver.com> In-Reply-To: <84aac7bf-5638-4f1f-9772-ace0ea27e848@aklaver.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ2PR22MB4328:EE_|SJ2PR22MB4267:EE_ x-ms-office365-filtering-correlation-id: 38d281bc-67a5-47e8-1ed5-08dd60cddf7c x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|7092599003|9400799030|12050799009|461199028|8060799006|15030799003|19110799003|8062599003|10035399004|102099032|3412199025|4302099013|440099028|41001999003|1602099012; x-microsoft-antispam-message-info: =?us-ascii?Q?1otvylS8s8N/5ov/8gdTwGfTl5xg2axmN2QVhdAJvSpyif9oawIkwlfeB3TJ?= =?us-ascii?Q?8hoivedmh5FoK5gqn3XHOiI+RnBA0tFEMyAeq5moK37NEtkqJiMmBRVWaEEP?= =?us-ascii?Q?KtthIq+0xGQ/m398TSyfNzs7Cu/acWvFAmrA+BrXeqXmTM11Jv+n/aK3yY3Y?= =?us-ascii?Q?wxDqLeDoh8ls3LXHY49NFiHNvWt8Ll1X7ysupnCu8nVNLlpUQGDyh01pC9Xz?= =?us-ascii?Q?c6ITFXpSZxi1nwCCPFoHEQ5080G1NO2QtKBD+Xtf4wtGzUApNLeSqOaaM24V?= =?us-ascii?Q?Nj8/mhkImj1RlcN7F0F7oLoYcDFXk1kF5hL8ews3puESSDFWBVXo36Pnz7d+?= =?us-ascii?Q?Xc+rEGqwgDFvaeI7lhCcFOnecSW6ISvLpiJAgg7+6PZpvzmcpdwgSl9oL5Nf?= =?us-ascii?Q?bshABABfAaCM5uygFWH3/VFjDFnPRb468lp3njT/wcpBdXc30RSTRfE1xbyI?= =?us-ascii?Q?OHcOqc/vVgExz/I1XCldsNfEMCj8IgaU/j+945Wz7LnNQhl7nUjABmrQi8Ik?= =?us-ascii?Q?/fUYSV8k/UmImSs8BaRB7RnVl+Zdl0HisMgcqadoBgDcyV1hzTPtBIhOqIaZ?= =?us-ascii?Q?x0nRg71N/96ThtYjoxD/P1/XW2JafXjsdBljq14y+ACU0M+uD3nzqN94OquZ?= =?us-ascii?Q?d+vyMitZPOjTqWxMBWrI9wGdAqlWdHQXudrl4N0CkP7+OHnnxXJp5yAU6Ilw?= =?us-ascii?Q?dIZoU+N6kmkpH5GiD85mH2izyT/H3fQjrktwnt4ttBvdlzUpYniRgyu5irtX?= =?us-ascii?Q?1oY+CyoJwYHFkMJ/VT/Jk5mG8gjjDSjN4zZ3Mw8rrnzW5M0Z3sou3yrQdzFA?= =?us-ascii?Q?9JQpqm+lx7Zs4p6S6FEGMNbemKl0P8o+Zl1xInAhivIUxZccLPrcSnQcp3ER?= =?us-ascii?Q?4Hrxgt68eYkLWKfydSaDJhNSnM9AZ/cIEfwZJ1yySXDoe+ZSLL4yVoMAfwU6?= =?us-ascii?Q?h3RWVc3Ylr2OzTNBXixKROzQM8CId4smmZMdF0N37COETpif6yMCiefjseXP?= =?us-ascii?Q?icnszVXKbTvbE1WWtWqONPlg7lpV1z1MgU2k0i0+km2+wuW8v4vPWj5Ptmnd?= =?us-ascii?Q?yA5Io21jZy/u/1Ov977raoMdRtO1BuGv6yz0l+UxOg+7pqFuFv9M1yZE25l4?= =?us-ascii?Q?7mDaQD7saQn3+XMoEBmac05N7RucWRzBafUZPg8qsamJ+W+1lEDJHv69/mnH?= =?us-ascii?Q?cXq5wN1GA+mn9DcRzGBGi/fjs9emgiNowE3KhujKHeDjJpuAKkz1xEefBv4u?= =?us-ascii?Q?5jjKw6WWT7KcrSiRYha9v5+WJ1y907KKws3QZ0dbapvD0L31mUvwP0FwHLT7?= =?us-ascii?Q?xLWNz75ZqwXeHco1dnyI4AfQ?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?fJRDsyMBsNXDKFgS0LmyUYOIusPu6P/FO2Pd9bX1hRk5TnMnazYc0IXyvgOg?= =?us-ascii?Q?r8p67acd9ZfT7tRS1wun+lCRfpUcNiGNvQ0RBRE9qPeohJ9W5Un+WFgqOXww?= =?us-ascii?Q?JCVAVb3jwsZ+0H5YQhMUtTf6QQ/kZNiz/bae9dw5O1/ec4n5zG151G4SUHpd?= =?us-ascii?Q?mq5xLxb8zmG7q5PLN6XUC3NmRzbA5IRngjSuNtfc9AR95/jGZ4rdSsOY9yJ1?= =?us-ascii?Q?zkdmDFUVnyyfcUHr6NxOr+kuPyZDTr1gaPqUPAvtppjgzkJ6qEr3WEfLai/9?= =?us-ascii?Q?QT7Xyusi/dMUCM7nMIYsS4sv/GPhotJK93IYJo/wM2qTlF3QmY06Zc2EC+bJ?= =?us-ascii?Q?hWOnyAGwkYP1itMQN0M+kllLgBULEUaTZIBo9adw/qqP0YSCewJysEvFMrSf?= =?us-ascii?Q?Y5PMa3aLrmV3HrMuVA7tiD+WfPgCDvZz7gqbmLCwRejxLKIM9eF3S8JDRnNv?= =?us-ascii?Q?+Kx2Wlz3ODCshqrSt0wOwURlwK1W1wkMtZPVEsFA/M2GpYWT4h/doTXG5GS+?= =?us-ascii?Q?xlsXX4VeeZNpRwEyz0M/VjooCJ0QLXi/3igH8Ka9ZWe6C2yh9wZBHDSkp2j6?= =?us-ascii?Q?3uxKpofbfOjUt8epg8cQP+ZRbdlFcXilxHjv9qK9nAKq2OAWVtkhjuyPzaHl?= =?us-ascii?Q?XhRsAYV8MdKrALx0f0OF+hJmlZeuOX/oUToEoCTHUQFqU3UEK8m7jSZ22kMw?= =?us-ascii?Q?gOocJfV1gFldAXbGZiHchGZ20qrNMG3URQCYFJJkAR7EiqSf2Q8NYScdA+o0?= =?us-ascii?Q?gaFLbAb90pGn/Q+QhGbxCF2LGOHxeayMt27yKkc6zDIYYOKAGiI7VQOGTEgE?= =?us-ascii?Q?ndf6/2UAxV9iJlhUaBHIjehcc6xFB/wOn2q++sqNkUUQZ3U5wrg8jmTtVVNt?= =?us-ascii?Q?1cUt1L337urZdQvj0UwpnNYYpVRtrzaVRvobBNxVZEz2HvVewBiP7FwkfmpM?= =?us-ascii?Q?SRzUM0IyD5dThxx6dYLaeJbSn5DkrYQRPpx9trDJEyypnQ7zJchAVL6GCuWG?= =?us-ascii?Q?8e1oLa39bo3EfG57//YpaGFs4qT75uUqDlNGZ8pc4yEYeub1Q9yn3b2s60tu?= =?us-ascii?Q?zg0W9b6fEhAGwUvs75VRvsEZacRWhMS9IiO5Bvp9R9ETPzwR4wKhq4dleyBg?= =?us-ascii?Q?nZXwSF0Ql2gBT0cq7tZAUyJ8soEnEzytADDGR0fM0dqOE+VJIUlAsnNSYU4C?= =?us-ascii?Q?qkrKRApgpEmoqpcNuZrXC8RPridMDfQL8OOuJzv/C61vpXRl0Cw8wy+LAZM?= =?us-ascii?Q?=3D?= Content-Type: multipart/alternative; boundary="_000_SJ2PR22MB4328CEB1B47FC1AC4A996CB3BAD12SJ2PR22MB4328namp_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ2PR22MB4328.namprd22.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 38d281bc-67a5-47e8-1ed5-08dd60cddf7c X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2025 18:52:29.0456 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR22MB4267 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_SJ2PR22MB4328CEB1B47FC1AC4A996CB3BAD12SJ2PR22MB4328namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable there is an index on node_id as it is the Primary Key. Why do you think there is not? My mistake, I misread the output from \d dataset Can you elaborate more on point 3. Are you calling the Foreign Key relationships subclassing? Although I did not explicitly use Postgres to declare inheritance, logicall= y speaking table dataset and processing _node inherit or are subclasses of = node because they are subclasses of node in a dataflow diagram. In terms of keys, this is accomplished by having the node_id key in the nod= e table appear as a foreign key and as a primary key in both the dataset an= d processing_node tables. Is there anything in Postgres log at the time you did the above that showed it did more then a REINDEX? Not that I can tell. Best regards, Mark Brady amazon.com/author/markjbrady ________________________________ From: Adrian Klaver Sent: Tuesday, March 11, 2025 12:00 PM To: mark bradley Cc: pgsql-general Subject: Re: Duplicate Key Values On 3/11/25 08:16, mark bradley wrote: A) 1) Please do not top post. Either inline or bottom post. It makes things like the below easier to follow. I wrote the post you responded to and it took me a bit to catch the b as a reference to: > b > b) Or for any node_ids that where duplicated did reindexing eliminate all rows with that node_id. B) From a previous post of yours: " 1. Originally, the key in the node table was a sequence, but I changed it to a non-sequence. 2. There is no index on the primary key node_id, and I understand there should be one. 3. I didn't explicitly use Postgres inheritance but there are two tables that are subclasses of node. There are dataset nodes and processing_node [s] tables. Each is a type of node and have primary keys that are foreign keys from the node table. This key is node_id. " As to point 2, from this message: https://www.postgresql.org/message-id/75b33741-ee99-4524-b63a-edad21c1266d%= 40aklaver.com there is an index on node_id as it is the Primary Key. Why do you think there is not? Can you elaborate more on point 3. Are you calling the Foreign Key relationships subclassing? C) > REINDEX TABLE node; > > Also reindexed table with node_id as a foreign key in the same way. Is there anything in Postgres log at the time you did the above that showed it did more then a REINDEX? > > > Best regards, > Mark Brady > _amazon.com/author/markjbrady _ > ------------------------------------------------------------------------ > *From:* Adrian Klaver > *Sent:* Tuesday, March 11, 2025 11:12 AM > *To:* mark bradley > *Cc:* pgsql-general > *Subject:* Re: Duplicate Key Values > On 3/11/25 08:05, mark bradley wrote: >> The rows that were preserved in the nodes table were the ones that were >> not dups originally. > > 1) To be specific: > > a) If there where two or more rows with a node_id, after the reindexing > was there only one left? > > b) Or for any node_ids that where duplicated did reindexing eliminate > all rows with that node_id. > > > 2) Per post from Greg Sabino Mullane, you need to show us the steps you > took to reindex the table. > >> >> >> Best regards, >> Mark Brady >> _amazon.com/author/markjbrady >_ >> ------------------------------------------------------------------------ >> *From:* Adrian Klaver >> *Sent:* Tuesday, March 11, 2025 10:56 AM >> *To:* mark bradley >> *Cc:* pgsql-general >> *Subject:* Re: Duplicate Key Values >> On 3/11/25 07:28, mark bradley wrote: >>> An "interesting" effect of reindexing is that all the records that were >>> dups in the nodes table were deleted, both copies. >> >> I am trying to understand above. >> >> Was there at least one row of each node_id left? >> >>> >>> Also, all rows having node_id as a foreign key in other tables were >>> deleted, which means all rows in these tables were deleted. >>> >>> Fortunately these are not huge tables. I will reenter the data, make a >>> backup, and then try your further extended suggestions. >>> >>> Best regards, >>> Mark Brady >>> _amazon.com/author/markjbrady > >>_ >> >> >> -- >> Adrian Klaver >> adrian.klaver@aklaver.com >> > > -- > Adrian Klaver > adrian.klaver@aklaver.com > -- Adrian Klaver adrian.klaver@aklaver.com --_000_SJ2PR22MB4328CEB1B47FC1AC4A996CB3BAD12SJ2PR22MB4328namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable


there is an index on node_id as it is the Primary Key.

Why do you think there is not?
My mistake, I misread the output from \d dataset



Can you elaborate more on point 3.

Are you calling the Foreign Key relationships subclassing?


Although I did not explicitly use Postgres to declare inheritance, logicall= y speaking table dataset and processing _node inherit or are subclas= ses of node because they are subclasses of node in a dataflow diagram.


In terms of keys, this is accomplished by having the node_id ke= y in the node table appear as a foreign key and as a primary key in both th= e dataset and processing_node tables.  



Is there anything in Postgres log at the time you did the above that
showed it did more then a REINDEX?


Not that I can tell.  




Best regards,
Mark Brady

From: Adrian Klaver <adr= ian.klaver@aklaver.com>
Sent: Tuesday, March 11, 2025 12:00 PM
To: mark bradley <markbradyju@outlook.com>
Cc: pgsql-general <pgsql-general@postgresql.org>
Subject: Re: Duplicate Key Values
 
On 3/11/25 08:16, mark bradley wrote:

A)
   1) Please do not top post. Either inline or bottom post. It ma= kes
things like the below easier to follow. I wrote the post you responded
to and it took me a bit to catch the b as a reference to:

> b
>


b) Or for any node_ids that where duplicated did reindexing eliminate
all rows with that node_id.



B)
  From a previous post of yours:

"
1.
Originally, the key in the node table was a sequence, but I changed it
to a non-sequence.

2.
There is no index on the primary key node_id, and I understand there
should be one.

3.
I didn't explicitly use Postgres inheritance but there are two tables
that are subclasses of node.  There are dataset nodes and
processing_node [s] tables.  Each is a type of node and have primary <= br> keys that are foreign keys from the node table.  This key is node_id.<= br> "

As to point 2, from this message:

https://www.postgresql.org/message-id/75b33741-ee= 99-4524-b63a-edad21c1266d%40aklaver.com

there is an index on node_id as it is the Primary Key.

Why do you think there is not?

Can you elaborate more on point 3.

Are you calling the Foreign Key relationships subclassing?

C)

 > REINDEX TABLE node;
 >
 > Also reindexed table with node_id as a foreign key in the same w= ay.

Is there anything in Postgres log at the time you did the above that
showed it did more then a REINDEX?


>
>
> Best regards,
> Mark Brady
> _amazon.com/author/markjbrady <https://amazon.com/author/markjbrady>_
> ----------------------------------------------------------------------= --
> *From:* Adrian Klaver <adrian.klaver@aklaver.com>
> *Sent:* Tuesday, March 11, 2025 11:12 AM
> *To:* mark bradley <markbradyju@outlook.com>
> *Cc:* pgsql-general <pgsql-general@postgresql.org>
> *Subject:* Re: Duplicate Key Values
> On 3/11/25 08:05, mark bradley wrote:
>> The rows that were preserved in the nodes table were the ones that= were
>> not dups originally.
>
> 1) To be specific:
>
> a) If there where two or more rows with a node_id, after the reindexin= g
> was there only one left?
>
> b) Or for any node_ids that where duplicated did reindexing eliminate<= br> > all rows with that node_id.
>
>
> 2) Per post from Greg Sabino Mullane, you need to show us the steps yo= u
> took to reindex the table.
>
>>
>>
>> Best regards,
>> Mark Brady
>> _amazon.com/author/markjbrady <https://amazon.= com/author/markjbrady
> <https://amazon.co= m/author/markjbrady>>_
>> ------------------------------------------------------------------= ------
>> *From:* Adrian Klaver <adrian.klaver@aklaver.com>
>> *Sent:* Tuesday, March 11, 2025 10:56 AM
>> *To:* mark bradley <markbradyju@outlook.com>
>> *Cc:* pgsql-general <pgsql-general@postgresql.org>
>> *Subject:* Re: Duplicate Key Values
>> On 3/11/25 07:28, mark bradley wrote:
>>> An "interesting" effect of reindexing is that all th= e records that were
>>> dups in the nodes table were deleted, both copies.
>>
>> I am trying to understand above.
>>
>> Was there at least one row of each node_id left?
>>
>>>
>>> Also, all rows having node_id as a foreign key in other tables= were
>>> deleted, which means all rows in these tables were deleted. >>>
>>> Fortunately these are not huge tables.  I will reenter th= e data, make a
>>> backup, and then try your further extended suggestions.
>>>
>>> Best regards,
>>> Mark Brady
>>> _amazon.com/author/markjbrady <https://ama= zon.com/author/markjbrady
>> <https://amazon.com/author/markjbrady
> <https://amazon.co= m/author/markjbrady>>>_
>>
>>
>> --
>> Adrian Klaver
>> adrian.klaver@aklaver.com
>>
>
> --
> Adrian Klaver
> adrian.klaver@aklaver.com
>

--
Adrian Klaver
adrian.klaver@aklaver.com

--_000_SJ2PR22MB4328CEB1B47FC1AC4A996CB3BAD12SJ2PR22MB4328namp_--