Re: Compare with default value?

From: Ulrich Goebel <ml(at)fam-goebel(dot)de>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Compare with default value?
Date: 2021-03-14 17:38:15
Message-ID: f96a7e25-fc6f-7c22-5783-a8fc5d009fd7@fam-goebel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Am 14.03.21 um 18:13 schrieb Adrian Klaver:
> On 3/14/21 6:30 AM, Ulrich Goebel wrote:
>> Hi,
>>
>> Am 13.03.21 um 22:21 schrieb Tim Cross:
>>>
>
>>> I think you may need to re-think your design or at least come at it from
>>> a different perspective. As shown by another post in the thread, at some
>>> level, this is 'sort of' possible, but it will be ugly and fragile.
>>
>> Yes, I am re-thinking allredy...
>>
>>>
>
>>
>> o.k.: For a conference I have a tbl_person which holds all peoble
>> which are involved: participants and people which provide private
>> lodgins for other participants. (There are much more roles, but for
>> illustration these two should be enough.) Of course each person can
>> have one or more roles at the conference, a n-n-relation models that.
>> Now our workflow allows that one person find it way in the tbl_person
>> twice (ore even more often): for example the conference office
>> generates a row for Tom, because he provides private lodgin. Later on
>> Tom decides to participate an fills the online registration formular.
>> These data generate the second row for Tom. Both rows hold significant
>> information which the other doesn't hold. Let's say the online
>> register gave the birthday, the other holds information about the
>> lodgin (bed with or without breakfast). The next step then is that the
>> conference office get notice of the doubled person an should make one
>> row out of the existing two rows. The office decide which of the two
>> rows should be completed with data from the other row. Therefore I
>> would like to pick the columns in the first row where we have default
>> values and replace it by the value from the second row.
>
> This is just part of a bigger issue, which value to believe:
>
>     col_1         col_2          col_3      col_4
> row 1    default      some_val    default      some_val
> row 2    other_val       default         default   other_val
>
> How do you arrive at assumption that row 2(or any other row) has
> precedence over row 1?

That goes in two steps:
1. The conference office will decide, which of the two rows will be
completed by the other
2. My function will do the job, but only for the columns, where it would
overwrite the default value.

By the way: the discussion here brought me to give up the completely
automated (generic) way. Now in my python code for step 2. I go through
all of the columns and decide for each of them what to do:
- either to overwrite a default value (which I define in python rather
then take it from the database)
- or put the values together (for examples in the case of "remarks",
which could be significant in both rows
- or even other handling...

Thank You all for creative thinking on my issue!

>
>>
>> There are more ways to end with two or even more rows per person. May
>> be it would have been much better to avoid these possibilities. But
>> for the moment I have a given database structure running in productive
>> mode, so it is not easy to re-structure the structure or even the
>> workflows...
>>
>> Thanks for patience reading all that!
>>
>
>

--
Ulrich Goebel
Am Büchel 57, 53173 Bonn

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tim Cross 2021-03-14 21:11:25 Re: Compare with default value?
Previous Message Adrian Klaver 2021-03-14 17:13:14 Re: Compare with default value?