Converting sql anywhere to postgres

From: Russell Rose | Passfield Data Systems <russellrose(at)passfield(dot)co(dot)uk>
To: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Converting sql anywhere to postgres
Date: 2023-08-15 15:06:16
Message-ID: VI1P191MB0638BCDD1BAB2335CDCEA8C4F214A@VI1P191MB0638.EURP191.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi there

I am trying to convert a SQL Anywhere database to postgres. Within SQL anywhere a field can have a default value of 'last user'. This means that when you perform an update on a table, if the field is not explicitly set then the current user is used. So for instance if I have a field called mod_user in a table, but when I do an update on the table and do not set mod_user then SQL Anywhere sets the field to current_uer. I have tried to replicate this using a postgres trigger in the before update. However, if I do not set the value then it automatically picks up the value that was already in the field. Is there a way to tell the difference between me setting the value to the same as the previous value and postgres automatically picking it up.

If the field myfield contains the word 'me'. Can I tell the difference between:
Update table1 set field1='something',myfield='me'
And
Update table1 set field1='something'

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2023-08-15 15:22:24 Re: Replace known_assigned_xids_lck by memory barrier
Previous Message Alexander Lakhin 2023-08-15 15:00:01 Re: Avoid a potential unstable test case: xmlmap.sql