typecast for index - Mailing list pgsql-general

From John Henderson
Subject typecast for index
Date
Msg-id 016901bf76b0$a89f5840$ea7c3eca@john.is.com.fj
Whole thread Raw
List pgsql-general
Hi y'all,

This is what I want to do:
select user_name, date_trunc('minutes',sum(is_roundup_01(sess_time)))
                        from sessions_feb2000_homer s where
                        date_part('epoch',start)>'949316399' and
                        date_part('epoch',start)<'951822000' and
prob here>    user_name IN (select username from userdir
                        where towncode = 'LAB')
                        group by user_name
                        order by user_name;

The problem is that user_name = 'soandso' will use an index scan
but user_name IN (select ...) uses a sequential scan.

I have tried user_name::text, username::text and subselect()::text and get
told
"ERROR:  Function 'text(text)' does not exist
        Unable to identify a function which satisfies the given argument
types
        You will have to retype your query using explicit typecasts"

Fair enuf but I though xxx::text *was* a typecast.

Any advice on how to force this to use an index?
Yes the index exists, yes it has been vaccuumed. This is PG 6.5.3

Since we are on the subject any advice on why text is less preferred than
varchar?

John Henderson




pgsql-general by date:

Previous
From: Manuel Cabido
Date:
Subject: Re: pgsql-general-digest V1 #638
Next
From: Ed Loehr
Date:
Subject: Re: [GENERAL] typecast for index