Обсуждение: UPDATE with database name alias

Поиск
Список
Период
Сортировка

UPDATE with database name alias

От
andres@sayago.info
Дата:
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

От
Dave Cramer
Дата:
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

От
andres@sayago.info
Дата:
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

От
Kris Jurka
Дата:

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

От
John R Pierce
Дата:
> 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

От
Tom Lane
Дата:
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

От
Dave Cramer
Дата:
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

От
John R Pierce
Дата:
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

От
Vadim Nasardinov
Дата:
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

От
andres@sayago.info
Дата:
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

От
Vadim Nasardinov
Дата:
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

От
andres@sayago.info
Дата:
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

От
François
Дата:
I'm interested in your solution but your link is no longer working....