1. Pierre DETE
  2. PowerBuilder
  3. Monday, 26 October 2020 18:21 PM UTC

Hi PB users,

As PostgreSql support was announced for 2017R2, we study the possibility to implement a PostgreSql compatibility for our PB application which is connected to Oracle for now.

We would like to keep Both Oracle and PostgreSql compatibility with the same sources code/datawindow except for the specifics parts to each system.

Historically the application was Oracle, Watcom and Sybase compatible and we have abandoned these features in favor of Oracle, so we expect to apply the same principles for PostgreSql.

Do you think it's possible?

We know we have to duplicate embedded SQL. But what about datawindow? If the SQL contains some (+) for joins for example? Is it to convert too?

And what about columns definition? Is it possible to build an Oracle/PostgreSql datawindow compatible?

Do you know of a migration that has already been successfully completed?

Thank you in advance for your ideas.

Best regards,

 

mike S Accepted Answer Pending Moderation
  1. Monday, 26 October 2020 18:43 PM UTC
  2. PowerBuilder
  3. # 1

I strongly recommend changing all database specific sql to ANSI standard.  That applies to any database really.

DO replace all the += weird oracle outer joins to LEFT OUTER JOIN.  This will be worth the effort.

 Postgresql and oracle are pretty similar, so it shouldn't be super hard.  

 

 

replace functions such as NVL() with COALESCE  , etc.

don't forget to cheat - if an oracle function does not exist in postgresql , you can write your own  to match it.

 

If you do the above, then you should be able to use the exact same sql for all your datawindows and embedded sql.  I say that because my app runs on oracle, sql server, sql anywhere, ase, and will probably be adding postgresql at some point.

 

 

 

 

 

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.