Re: 8.2.4 Won't Build 8.1 Functional Indexes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Hoover wrote:
Well, the one index:
CREATE INDEX acceptedbilling_to_date

The second index is rather stupid, it was an early index before I figured out how to split a timestamp.

Anyway, is there a way to make the first index work? Otherwise we end up with a seq scan on our billing table which is very painful.

First, please do not top post:

http://www.catb.org/jargon/html/T/top-post.html

Second:

create function mydate(varchar) returns varchar AS $$ select to_char($1::date,'YYYYMMDD'); $$ LANGUAGE SQL IMMUTABLE;

create index foobar on date_test(mydate(date));

You will need to test this, but it does allow you to create the index.

Sincerely,

Joshua D. Drake



Thanks,

Chris


On 6/6/07, *Tom Lane* <tgl@xxxxxxxxxxxxx <mailto:tgl@xxxxxxxxxxxxx>> wrote:

    Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx
    <mailto:alvherre@xxxxxxxxxxxxxxxxx>> writes:
     > You can't do this because to_date and other functions are not
    immutable.
     > 8.2 seems to be more picky about this -- the date conversions of
     > timestamptz columns are dependent on the current timezone.

    The reason 8.2 is more picky is that the function is less immutable
    thanks to the addition of locale-dependent functionality:
    http://archives.postgresql.org/pgsql-committers/2006-11/msg00264.php

    I gather that the underlying column is timestamp without tz, or it would
    never have worked in 8.1 either.  That being the case, these index
    definitions seem pretty darn stupid anyway --- why aren't you just
    indexing on date_trunc or a plain cast to date?

                            regards, tom lane




--

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
             http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux