Thread: UPDATE with database name alias

UPDATE with database name alias

From
andres@sayago.info
Date:
Hello friends.

I'm new in this list, but not in the database world. I have a question and
I need yout colaboration.

I am programming with JDeveloper 10g, and I want to use PostgreSQL
database. I'm using Oracle but I wanna do the migration. But, I have a big
problem: I use PostgreSQL with ADF and ADF uses aliasses for the database
name when it need to do a UPDATE. Example:

UPDATE conference_romms ConferenceRooms
SET ConferenceRooms.room_name = 'Golden'
WHERE ConferenceRooms.room_id = 57;

That sentence fail because the UPDATE clause don't support aliasses.

I'm thinking right? Or I am mistaked.

PostgreSQL don't support database name aliasses for the UPDATE option??

How can I do it??

Thanks,

Andrés Säyago
Bogotá D.C., Colombia

Re: UPDATE with database name alias

From
Dave Cramer
Date:
Don't use aliases ?

Dave
On 19-Sep-05, at 2:08 PM, andres@sayago.info wrote:

> Hello friends.
>
> I'm new in this list, but not in the database world. I have a
> question and
> I need yout colaboration.
>
> I am programming with JDeveloper 10g, and I want to use PostgreSQL
> database. I'm using Oracle but I wanna do the migration. But, I
> have a big
> problem: I use PostgreSQL with ADF and ADF uses aliasses for the
> database
> name when it need to do a UPDATE. Example:
>
> UPDATE conference_romms ConferenceRooms
> SET ConferenceRooms.room_name = 'Golden'
> WHERE ConferenceRooms.room_id = 57;
>
> That sentence fail because the UPDATE clause don't support aliasses.
>
> I'm thinking right? Or I am mistaked.
>
> PostgreSQL don't support database name aliasses for the UPDATE
> option??
>
> How can I do it??
>
> Thanks,
>
> Andrés Säyago
> Bogotá D.C., Colombia
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org
>
>


Re: UPDATE with database name alias

From
andres@sayago.info
Date:
It's a perfect idea, but I don't use alias, ADF use them.

With JDeveloper+ADF, ADF is who connect to the database, I dont do it.

JDeveloper use alias to UPDATE, an dthen, what can I do?

PostgreSQL don't use alias to UPATE? Never?

Thanks,

Andrés


> Don't use aliases ?
>
> Dave
> On 19-Sep-05, at 2:08 PM, andres@sayago.info wrote:
>
>> Hello friends.
>>
>> I'm new in this list, but not in the database world. I have a
>> question and
>> I need yout colaboration.
>>
>> I am programming with JDeveloper 10g, and I want to use PostgreSQL
>> database. I'm using Oracle but I wanna do the migration. But, I
>> have a big
>> problem: I use PostgreSQL with ADF and ADF uses aliasses for the
>> database
>> name when it need to do a UPDATE. Example:
>>
>> UPDATE conference_romms ConferenceRooms
>> SET ConferenceRooms.room_name = 'Golden'
>> WHERE ConferenceRooms.room_id = 57;
>>
>> That sentence fail because the UPDATE clause don't support aliasses.
>>
>> I'm thinking right? Or I am mistaked.
>>
>> PostgreSQL don't support database name aliasses for the UPDATE
>> option??
>>
>> How can I do it??
>>
>> Thanks,
>>
>> Andrés Säyago
>> Bogotá D.C., Colombia
>>
>> ---------------------------(end of
>> broadcast)---------------------------
>> TIP 4: Have you searched our list archives?
>>
>>                http://archives.postgresql.org
>>
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: UPDATE with database name alias

From
Kris Jurka
Date:

On Mon, 19 Sep 2005 andres@sayago.info wrote:

> JDeveloper use alias to UPDATE, an dthen, what can I do?
>

Your only option would be to ajdust the postgresql backend grammar to
allow an alias.

> PostgreSQL don't use alias to UPATE? Never?
>

Right, the SQL standard does not allow aliases on UPDATEs and neither does
postgresql.

Kris Jurka

Re: UPDATE with database name alias

From
John R Pierce
Date:
> Right, the SQL standard does not allow aliases on UPDATEs and neither
> does postgresql.

amusing aside, a bit of googling (since I didn't know what ADF was) has
some suit from Oracle Inc.  boasting how ADF works with any "SQL
Compatible" database.  Last Q&A on this page:
http://www.itwriting.com/jdev1.php


Re: UPDATE with database name alias

From
Tom Lane
Date:
Kris Jurka <books@ejurka.com> writes:
> On Mon, 19 Sep 2005 andres@sayago.info wrote:
>> JDeveloper use alias to UPDATE, an dthen, what can I do?

> Your only option would be to ajdust the postgresql backend grammar to
> allow an alias.

Isn't it an option to point out to the JDeveloper authors that they are
emitting SQL that is illegal per spec?

            regards, tom lane

Re: UPDATE with database name alias

From
Dave Cramer
Date:
It's an option, but it's an Oracle product, chances are they would
ignore it.

Dave
On 19-Sep-05, at 10:53 PM, Tom Lane wrote:

> Kris Jurka <books@ejurka.com> writes:
>
>> On Mon, 19 Sep 2005 andres@sayago.info wrote:
>>
>>> JDeveloper use alias to UPDATE, an dthen, what can I do?
>>>
>
>
>> Your only option would be to ajdust the postgresql backend grammar to
>> allow an alias.
>>
>
> Isn't it an option to point out to the JDeveloper authors that they
> are
> emitting SQL that is illegal per spec?
>
>             regards, tom lane
>
>


Re: UPDATE with database name alias

From
John R Pierce
Date:
Tom Lane wrote:
> Kris Jurka <books@ejurka.com> writes:
>
>>On Mon, 19 Sep 2005 andres@sayago.info wrote:
>>
>>>JDeveloper use alias to UPDATE, an dthen, what can I do?
>
>
>>Your only option would be to ajdust the postgresql backend grammar to
>>allow an alias.
>
>
> Isn't it an option to point out to the JDeveloper authors that they are
> emitting SQL that is illegal per spec?
>

JDeveloper and ADF are from Oracle.  you expected something different?

Re: UPDATE with database name alias

From
Vadim Nasardinov
Date:
On Monday 19 September 2005 18:46, Kris Jurka wrote:
> > JDeveloper use alias to UPDATE, an dthen, what can I do?
> >
>
> Your only option would be to ajdust the postgresql backend grammar
> to allow an alias.

In practical terms, you're right.

In theory, this may also be addressed by using a wrapper JDBC driver
like P6Spy (but not as buggy) that would sit between the application
and the real PostgreSQL JDBC driver.  The wrapper driver would have
the opportunity to rewrite UPDATE statements in a spec-compliant
manner before passing them on to the real driver.

 http://sourceforge.net/projects/p6spy/
 http://www.google.com/search?q=antlr+SQL+grammar
 http://www.google.com/search?q=JavaCC+SQL+grammar

UPDATE with alias - P6Spy on JDeveloper

From
andres@sayago.info
Date:
Thanks Vadim, but I have another problem.

I can't install P6Spy on JDeveloper. I tried using the instructions, but
in the P6Spy READ file don't exist about JDeveloper.

I tried replacing, in the JDeveloper connections, the PostgreSQL driver
"org.postgresql.Driver" by "com.p6spy.engine.spy.P6SpyDriver", and then
configuring the "spy.properties" file with the correct realdriver, but I
get the following message:

-----
oracle.jdeveloper.cm.CMException: Unable to instantiate driver:
com.p6spy.engine.spy.P6SpyDriver
    at
oracle.jdeveloper.cm.JdbcConnectionWrapper.createConnection(JdbcConnectionWrapper.java:130)
    at
oracle.jdeveloper.cm.JdbcConnectionWrapper.getJdbcConnection(JdbcConnectionWrapper.java:181)
    at
oracle.jdeveloper.cm.JdbcConnectionWrapper.getPresentation(JdbcConnectionWrapper.java:168)
    at
oracle.jdevimpl.cm.dt.browser.jdbc.JdbcBrowser.openConnectionBrowser(JdbcBrowser.java:208)
    at
oracle.jdeveloper.cm.dt.ConnectionNode$NodeOpen.doWork(ConnectionNode.java:210)
    at oracle.jdeveloper.cm.dt.ProgressRunnable.run(ProgressRunnable.java:165)
    at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:540)
    at java.lang.Thread.run(Thread.java:534)
-----

Anyone know this? :(

Andrés


> On Monday 19 September 2005 18:46, Kris Jurka wrote:
>> > JDeveloper use alias to UPDATE, an dthen, what can I do?
>> >
>>
>> Your only option would be to ajdust the postgresql backend grammar
>> to allow an alias.
>
> In practical terms, you're right.
>
> In theory, this may also be addressed by using a wrapper JDBC driver
> like P6Spy (but not as buggy) that would sit between the application
> and the real PostgreSQL JDBC driver.  The wrapper driver would have
> the opportunity to rewrite UPDATE statements in a spec-compliant
> manner before passing them on to the real driver.
>
>  http://sourceforge.net/projects/p6spy/
>  http://www.google.com/search?q=antlr+SQL+grammar
>  http://www.google.com/search?q=JavaCC+SQL+grammar
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: UPDATE with alias - P6Spy on JDeveloper

From
Vadim Nasardinov
Date:
On Tuesday 20 September 2005 10:48, andres@sayago.info wrote:
> I can't install P6Spy on JDeveloper. I tried using the instructions, but
> in the P6Spy READ file don't exist about JDeveloper.

P6Spy is a waste of time.  I only mentioned it as an example of an existing
wrapper that kinda sorta does something similar to what you'd have to do
if you chose to fix up Oracle's broken UPDATE statements without changing
the backend SQL grammar on the PostgreSQL server side.

If you are seriously considering going down this path, you might be better
off starting from scratch.  In any case, this is not the right list to ask
about P6Spy.  Try
  http://sourceforge.net/forum/?group_id=49288


Problems with alias in UPDATE over JDeveloper+ADF: I have the answer

From
andres@sayago.info
Date:
Hello.

Do you remember that I was trying to connect JDeveloper+ADF with
Postgres but I
got a SQL sintaxis error?

Well, I have the answer. I rewrote the JDBC Java driver to allow that ADF can
send UPDATE with aliases, and the driver can eliminate them.

If you are interested in this subject, please visit:

http://www.sayago.info/jdbc-pgsql/index_en.php

and if you need the explanation in Spanish, visit:

http://www.sayago.info/jdbc-pgsql/index.php

Thanks to all people that sent me colaboration!!

Andrés Sáyago


Re: Problems with alias in UPDATE over JDeveloper+ADF: I havethe answer

From
François
Date:
I'm interested in your solution but your link is no longer working....