Peter Wilson wrote:
> Jake Stride wrote:
>> Hi,
>>
>> I have a table set up:
>>
>> \d companycontactmethod
>> Table "public.companycontactmethod"
>> Column | Type | Modifiers
>> -----------+-------------------+------------------------
>> tag | character varying | not null
>> contact | character varying | not null
>> type | character(1) | not null
>> companyid | bigint | not null
>> name | character varying | not null
>> main | boolean | not null default false
>> billing | boolean | not null default false
>> shipping | boolean | not null default false
>> payment | boolean | not null default false
>> technical | boolean | not null default false
>> Indexes:
>> "companycontactmethod_pkey" PRIMARY KEY, btree (companyid, name,
>> "type")
>> "companycontactmethod_companyid" btree (companyid)
>> "companycontactmethod_main_type" btree (main, "type")
>> Foreign-key constraints:
>> "$1" FOREIGN KEY (companyid) REFERENCES company(id) ON UPDATE
>> CASCADE ON DELETE CASCADE
>>
>>
>
> The index is of no use when you specify no value for main. You want
> any row that has any value for main, and a value of 'E' for type.
> Because you haven't specified a value for 'main' the only solution is
> to scan the entire set.
>
> Pete
Does saying 'main' not mean where main=true as it is a boolean