FAQ
Hello group,

The following is a Hibernate generated statement,

select count(*) as y0_
from view_localized_task this_
inner join TASKS nonlocaliz1_ on this_.non_localized_task_id=nonlocaliz1_.TASK_ID
where (this_.ended>=? or this_.state=? or this_.state=? or this_.state=?)
and this_.submitted<=?
and (nonlocaliz1_.TASK_ID in (select distinct this_.TASK_ID as y0_
from TASKS this_
left outer join TASK_OBJECT_HANDLES taskobject3_ on this_.TASK_ID=taskobject3_.TASK_ID
left outer join OBJECT_HANDLE taskobject1_ on taskobject3_.OBJECT_HANDLE_ID=taskobject1_.ID
where taskobject1_.ID in (select distinct this_.objecthandle_id as y0_
from OBJECT_VISIBILITY_CONTEXT this_
where this_.context_handle_id in (?)))
or nonlocaliz1_.globalTask=?
or lower(this_.userId) like ?
escape '\')

It works with PostgreSQL 8.2. But it fails after I upgrade the database to PostgreSQL 8.4, nothing else is changed.
The jdbc driver is 8.4 build 701.

Here is the error message from the code:

2010-06-07 10:31:35,541 [WARN ] JDBCExceptionReporter - SQL Error: 0, SQLState: 42601
2010-06-07 10:31:35,541 [ERROR] JDBCExceptionReporter - ERROR: unterminated quoted string at or near "'\')"
Position: 718

The value for the last parameter is "superuser".

Thanks in advance for your help.

Harry


_________________________________________________________________
Turn down-time into play-time with Messenger games
http://go.microsoft.com/?linkid=9734385

Search Discussions

  • Mladen Gogala at Jun 7, 2010 at 10:52 pm
    There have been some changes with that. SQL is going to change, too.
    Backslash is the default character, no need to specify that.

    scott=# select empno from emp where ename='KING';
    empno
    -------
    7839
    (1 row)

    Time: 18.793 ms
    scott=# update emp set ename='K\x09ING' where empno=7839;
    UPDATE 1
    Time: 32.694 ms
    scott=# select ename from emp where empno=7839;
    ename
    -------------
    K ING
    (1 row)

    Time: 0.440 ms
    scott=# select ename from emp where ename like 'K\x09%';
    ename
    -------------
    K ING
    (1 row)

    Time: 0.418 ms
    scott=#

    I have no idea how to instruct Hibernate how to generate SQL without the
    escape clause. This opens some interesting possibilities. Did you see
    this: http://xkcd.com/327/ ?


    Sheng Hui wrote:
    Hello group,

    The following is a Hibernate generated statement,

    select count(*) as y0_
    from view_localized_task this_
    inner join TASKS nonlocaliz1_ on
    this_.non_localized_task_id=nonlocaliz1_.TASK_ID
    where (this_.ended>=? or this_.state=? or this_.state=? or this_.state=?)
    and this_.submitted<=?
    and (nonlocaliz1_.TASK_ID in (select distinct this_.TASK_ID as y0_
    from TASKS this_
    left outer join TASK_OBJECT_HANDLES
    taskobject3_ on this_.TASK_ID=taskobject3_.TASK_ID
    left outer join OBJECT_HANDLE
    taskobject1_ on taskobject3_.OBJECT_HANDLE_ID=taskobject1_.ID
    where taskobject1_.ID in (select
    distinct this_.objecthandle_id as y0_
    from
    OBJECT_VISIBILITY_CONTEXT this_
    where
    this_.context_handle_id in (?)))
    or nonlocaliz1_.globalTask=?
    or lower(this_.userId) like ?
    escape '\')

    It works with PostgreSQL 8.2. But it fails after I upgrade the
    database to PostgreSQL 8.4, nothing else is changed.
    The jdbc driver is 8.4 build 701.

    Here is the error message from the code:

    2010-06-07 10:31:35,541 [WARN ] JDBCExceptionReporter - SQL Error: 0,
    SQLState: 42601
    2010-06-07 10:31:35,541 [ERROR] JDBCExceptionReporter - ERROR:
    unterminated quoted string at or near "'\')"
    Position: 718

    The value for the last parameter is "superuser".

    Thanks in advance for your help.

    Harry

    <http://go.microsoft.com/?linkid=9734381>
    ------------------------------------------------------------------------
    Your Photo on Bing.ca: You Could WIN on Canada Day! Submit a Photo
    Now! <http://go.microsoft.com/?linkid=9734380>

    --

    Mladen Gogala
    Sr. Oracle DBA
    1500 Broadway
    New York, NY 10036
    (212) 329-5251
    http://www.vmsinfo.com
    The Leader in Integrated Media Intelligence Solutions
  • Tom Lane at Jun 7, 2010 at 11:10 pm

    Mladen Gogala writes:
    There have been some changes with that.
    Not since 8.2. It looks to me like the OP had
    standard_conforming_strings turned on in his 8.2 installation
    and forgot to duplicate that setting in 8.4.

    regards, tom lane
  • Mladen Gogala at Jun 8, 2010 at 12:51 am
    Tom Lane wrote: Mladen Gogala writes: There have been some changes
    with that. Not since 8.2. It looks to me like the OP had standard_conforming_strings turned on
    in his 8.2 installation and forgot to duplicate that setting in 8.4. regards, tom lane Yup,
    you're right:
    scott=# set standard_conforming_strings=true;
    SET
    Time: 0.689 ms
    scott=# select * from emp where ename like '%' escape '\';
    empno | ename | job | mgr | hiredate | sal | comm | deptno

    -------+--------+-----------+------+---------------------+------+------+--------
    7369 | SMITH | CLERK | 7902 | 1980-12-17 00:00:00 | 800 | | 20
    7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600 | 300 | 30
    7521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250 | 500 | 30
    7566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975 | | 20
    7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 00:00:00 | 1250 | 1400 | 30
    7698 | BLAKE | MANAGER | 7839 | 1981-05-01 00:00:00 | 2850 | | 30
    7782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450 | | 10
    7788 | SCOTT | ANALYST | 7566 | 1987-04-19 00:00:00 | 3000 | | 20
    7839 | KING | PRESIDENT | | 1981-11-17 00:00:00 | 5000 | | 10
    7844 | TURNER | SALESMAN | 7698 | 1981-09-08 00:00:00 | 1500 | 0 | 30
    7876 | ADAMS | CLERK | 7788 | 1987-05-23 00:00:00 | 1100 | | 20
    7900 | JAMES | CLERK | 7698 | 1981-12-03 00:00:00 | 950 | | 30
    7902 | FORD | ANALYST | 7566 | 1981-12-03 00:00:00 | 3000 | | 20
    7934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300 | | 10
    (14 rows)

    Time: 1.197 ms
    scott=# select version();
    version

    --------------------------------------------------------------------------------
    --------------------------------
    PostgreSQL 8.4.4 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 2008
    0704 (Red Hat 4.1.2-46), 32-bit
    (1 row)

    Time: 0.736 ms
    scott=#

    -- Mladen Gogala Sr. Oracle DBA 1500 Broadway New York, NY 10036 (212) 329-5251
    www.vmsinfo.com

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-novice @
categoriespostgresql
postedJun 7, '10 at 2:48p
activeJun 8, '10 at 12:51a
posts4
users4
websitepostgresql.org
irc#postgresql

People

Translate

site design / logo © 2023 Grokbase