public inbox for [email protected]  
help / color / mirror / Atom feed
From: Achilleas Mantzios - cloud <[email protected]>
To: Dave Cramer <[email protected]>
Cc: Vladimir Sitnikov <[email protected]>
Cc: [email protected]
Subject: Re: Regarding useObjects
Date: Wed, 27 Sep 2023 14:11:42 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <CADK3HHJ=QiKdH7x8uE-Rp4dzzU_MMOrb14qkWFDPBzoqJ4siqg@mail.gmail.com>
References: <[email protected]>
	<CAB=Je-HiDQ_pSp5PTfuRUEt6WA5bNNgYWS_8Q6wUHO1qg4=RFQ@mail.gmail.com>
	<[email protected]>
	<CAB=Je-G=X8UbhjB5HF8d9WS5eZdVUgqopvsocD5_0WpxOHcAyw@mail.gmail.com>
	<[email protected]>
	<CADK3HH+9O5=Y4RSCxCCBaewGPWBQ3zzTjqD0DoZJuD9wCc73uQ@mail.gmail.com>
	<CAB=Je-FzZjbr2bdUFWs7O4cKCfQVfG_miKUZk16-hhh8DS_2EQ@mail.gmail.com>
	<[email protected]>
	<CADK3HHL7JGKre6r0xVTqAQg5Em1zC5McMrgr0v6Dudzfb0DybQ@mail.gmail.com>
	<[email protected]>
	<CADK3HHJ=QiKdH7x8uE-Rp4dzzU_MMOrb14qkWFDPBzoqJ4siqg@mail.gmail.com>


On 9/27/23 13:39, Dave Cramer wrote:
>
>
> On Wed, 27 Sept 2023 at 06:28, Achilleas Mantzios - cloud 
> <[email protected]> wrote:
>
>
>     On 9/27/23 13:17, Dave Cramer wrote:
>>
>>
>>     On Wed, 27 Sept 2023 at 06:07, Achilleas Mantzios - cloud
>>     <[email protected]> wrote:
>>
>>
>>         On 9/27/23 12:55, Vladimir Sitnikov wrote:
>>>         > So the problem with using float instead of Float is that
>>>         it is impossible to have a null float and arrays can have nulls.
>>>
>>>         There's a feature request for retrieving primitive arrays:
>>>         https://github.com/pgjdbc/pgjdbc/issues/2939
>>
>>         back in pre-postgresql-42* dayswe used to use -888 and
>>         -888.888 to represent int NULL and float NULL respectively,
>>         quite ...primitive but it worked. We should retain this old
>>         mapping , but once all systems are up to date we will start
>>         storing and reading NULLs in arrays as NULLs.
>>
>>     Using that mapping is not something that we would entertain.
>>
>>     If you are going to actually store NULL in the array, how would
>>     that work with primitives ?
>
>     We support our central system (master) plus 120 slave systems
>     communicating via satellites (running very old versions of
>     everything , linux, postgersql , java, jdbc, etc) using custom
>     replication code (a hack of DBmirror) that we wrote back in 2003
>     or so. Data come back and forth, so we have to support all those
>     120 archaic slaves while we upgrade and after we upgrade the
>     central system.
>
>     When everything is up to date, (which will be some years from
>     now), then we will start actually storing NULLs inside arrays
>     instead of -888 and -888.888 . BUT even then, we are not willing
>     to update the actual old data (-888) to the new NULL version,
>     because that would trigger a massive replication traffic from our
>     central system to the slaves. Also updating all past / historic
>     values would cause bloating, huge autovacuum activity, among other
>     things on those remote slaves that run unmanned (in simple english
>     : I am the only DBA for all 1 + 120 postgresql instances) . So we
>     should support historic data as they are, until something bigger
>     happens (like a vast update in our topology/logic/etc).
>
>
> So it sounds like this would work for you if someone implemented 
> primitive arrays.

Yes or we could just upgrade JDBC driver in the central system, and 
touch those ~ 200 source files to just work (not throw exception), but 
still retaining the -888 representation.

But an implementation of primitive arrays for ints,longs,floats,doubles 
would be better at this stage.


>
> Dave

view thread (14+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Regarding useObjects
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox