Readit News logoReadit News
supportlocal4h · 3 years ago
I want compatability in a whole different direction. Let's get really crazy and rip the db out from under vendor solutions. Let their app with its compiled in Oracle driver communicate with a Pg server. We'll completely void any support contract we have, but at least we'll be Oracle free!

Can you imagine just swapping in Postgres under a Peoplesoft deployment? As long as you don't make me actually attempt it, it makes me chuckle.

kiratp · 3 years ago
The software license will still stop you from doing that. No business that would need Oracle will run Oracle software knowingly violating the license.
koolba · 3 years ago
It’s also likely in violation of arcane copyright law. The oracle wire protocol includes a handshake procedure that sends a poem in one of the initial messages. It’s untested legal theory whether copying that poem in a new work (e.g. a new driver or compatability layer) would violate Oracle’s copyright on the poem.

https://dacut.blogspot.com/2008/03/oracle-poetry.html

supportlocal4h · 3 years ago
Please explain which license would be violated?
tiffanyh · 3 years ago
Huge benefit of SaaS is it makes the underlining database being used irrelevant.
vladsanchez · 3 years ago
It will be a success when it fully supports, Object Types, Packages, Autonomous transactions, PL/SQL, and BULK Collect Operations among other features.
forinti · 3 years ago
Oracle Apex will have to be considered too.

It's undeniably a good platform for developing applications and firms get hooked on it.

fredsmith219 · 3 years ago
That was my question. Is it compatible with PL/SQL? And how is the performance?
cafard · 3 years ago
Somebody makes a Postgres variant that supports not only PL/SQL, but supplies a number of the standard DBMS_xyz packages. EnterpriseDB?
rnd0 · 3 years ago
Wiped out by Oracle's legal team (patents, whatever) in 4...3...2...
u320 · 3 years ago
They haven't hit EnterpriseDB who have been doing the same thing, except not open source, since forever.
hans_castorp · 3 years ago
To my knowledge IBM's DB2 too has an "Oracle compatibility" switch that makes it also support PL/SQL.
jinseokim · 3 years ago
A Korean company Tmax sells Tibero, the Oracle-compatible DBMS (proprietary). AFAIK, it's quite so much "compatible" (it even has same typos with Oracle DB), and they're not sued by Oracle.
chasil · 3 years ago
Were they going to wipe out the SQL/PSM standard that has been approved by ISO?

"SQL/PSM is derived, seemingly directly, from Oracle's PL/SQL. Oracle developed PL/SQL and released it in 1991, basing the language on the US Department of Defense's Ada programming language."

https://en.m.wikipedia.org/wiki/SQL/PSM

They can always wipe out the Ada programming language while they're at it.

s3000 · 3 years ago
How can Oracle do it when they couldn't do it for the Java API?
zaphirplane · 3 years ago
As a fact, There are 2 ways to “win” a legal Fight, one is to get the desired judgment the other is to make fighting the case prohibitively expensive for the other party
tabtab · 3 years ago
I thought they "half-won" that case.
pfix · 3 years ago
I don't get what this is. Is this a postgres fork? An extension? The documentation says it's Version 2 but the docs are rather lacking. Having something providing an "Oracle API" on Postgres would be awesome but not sure if this works like that?
paulryanrogers · 3 years ago
> IvorySQL has imported and enhanced the Orafce extension to add support for numerous Oracle compatibility features including built-in PACKAGES, data types, and conversion functions

Sounds and looks like a fork to me.

EnterpriseDB used to offer some Oracle compatibility built on Pg, as a fork IIRC. Don't see it on their site any more though.

EDIT: Much thanks to replies with links to EDB.

rst · 3 years ago
Also, their docs leave me wondering about the level of Oracle compatibility they're claiming. Their page on the subject, https://www.ivorysql.org/docs/compatibillity_features/hierar... , lists a bunch of immediate sore points -- date types and functions, the CONNECT BY query syntax, etc. But there are other things Oracle supports that are not listed, and still potentially serious stumbling blocks -- "fast" (incremental) automatic refresh of materialized views, IGNORE NULLS in window functions, and so forth.

Oddly, I'd take their compatibility claims more seriously if they were more clearly up-front about the limits.

skissane · 3 years ago
Does it need to be a fork, as opposed to just an extension?

I understand why upstream Postgres might not want to put Oracle compatibility in the core, since it would be adding a lot of crud which only a minority of people would benefit from. However, making sure the Postgres core has the extension points necessary to support extensions providing compatibility with Oracle (or DB2, MSSQL, MySQL, etc), is something they might be more willing to entertain.

asah · 3 years ago
EDB PostgreSQL is still very much alive and Oracle compatibility is a big success among enterprises that have chosen to migrate and need to smooth the process.
sbuttgereit · 3 years ago
That was the whole hook for EnterpriseDB. They still sell the product:

https://www.enterprisedb.com/products/edb-enterprise

The difference here is that the EnterpriseDB product is not open source.

znpy · 3 years ago
That sounds like the description of a distribution of postgresql to me.

Think of a gnu/linux distro, that gives you some pre-packaged software built with an intended goal (more or less general) and according to a certain set of opinions.

tamasnet · 3 years ago
Their Oracle compatibility is still a thing, at least commercially: https://www.enterprisedb.com/products/edb-postgres-advanced-...
Alupis · 3 years ago
Can someone elaborate on what specifically something like this would be used for?

I would imagine if you're going through the pain of migrating off Oracle, picking something like IvorySQL is just a half-measure. Why not just make the switch to PostgreSQL (or other) and be done with worrying about compatibility? How long will this project last, and how great will the compatibility actually be - is it a drop-in replacement?

Most folks use ORM's these days too - making switching databases simple (although not always trivial).

So why does this need to exist?

kijin · 3 years ago
Full migration can take months if not years. Meanwhile, a drop-in replacement will allow you to stop paying Oracle immediately.

I wouldn't be too optimistic about ORM usage in the kinds of organizations that chose Oracle in the first place.

SoftTalker · 3 years ago
If you're using an ORM then you're by default using the database fairly generically. I'd ask why you are paying for any commercial DB in that case.

Organizations who committed to and paid for Oracle are probably using a lot of the features that are unique to Oracle. Or they have a lot of legacy that is.

If IvorySQL can take all their custom plsql packages and ETL batch jobs and run them without changes that's a big win. It's not clear to me that it really can do that, though.

Schnitz · 3 years ago
Oracle is expensive. Salesforce has been developing something similar internally for years to replace Oracle.
ergonaught · 3 years ago
The last time I did real work with Oracle and MSSQL, I must have created something like 50 megabytes of "SQL" via stored procedures and such for them. The idea of migrating away from those databases to something with compatible syntax and such would have actually been feasible, but otherwise 100% dead on arrival.

If you could "just switch" then you probably shouldn't be using RDBMS at all.

u320 · 3 years ago
Because migrating off Oracle to an Oracle-compatible DB is less work than migrating to straight Postgres. This is not rocket science.
tomrod · 3 years ago
'' is NULL in Oracle. The switch is non-trivial.
Justsignedup · 3 years ago
So correct me if I am mis-understanding...

it has to be in oracle or pg compatibility mode, so effectively its just an oracle api replacement, but should more or less behave like oracle

so the only primary benefit is you stop paying oracle because you just want to leave oracle?

It doesn't exactly let you move away from oracle APIs though.

It is a big win financially. So good on them, I hope it gets all the traction!

nnurmanov · 3 years ago
okaram · 3 years ago
But that one is for MS SQL Server, not Oracle
chasil · 3 years ago
It's postgres, but implementing TDS. It is important to understand that the networking is not the server.

https://en.m.wikipedia.org/wiki/Tabular_Data_Stream

I use freetds in many places.

https://www.freetds.org/

I don't think that the programming language inside Sybase/Microsoft SQL Server, known as Transact-SQL, has been implemented in postgres, but I could be wrong.

https://en.m.wikipedia.org/wiki/Transact-SQL

Microsoft does not implement SQL/PSM in SQL Server. They need to do so. Immediately.

mdaniel · 3 years ago
I presume this still requires the postgres drivers to connect but then just accepts Oracle syntax once connected? That seems like a very specialized replacement case -- where I guess the app has a lot of complex reporting logic or a monster amount of stored procs that can't be changed, but the consuming app(s) can change drivers and exception handling for the PG ones
gavinray · 3 years ago
Wasn't this also possible open-source from AWS's "Babelfish" plugin?