| From: | Peter Fein <pfein(at)pobox(dot)com> | 
|---|---|
| To: | Sean Davis <sdavis2(at)mail(dot)nih(dot)gov> | 
| Cc: | Postgresql-General list <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: Test for array slice? | 
| Date: | 2005-06-03 17:46:32 | 
| Message-ID: | 42A09778.4020005@pobox.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Sean Davis wrote:
> 
> On Jun 3, 2005, at 12:32 PM, Joe Conway wrote:
> 
>> Peter Fein wrote:
>>
>>> I want to do something like this (pardon my pseudocode):
>>> A=ARRAY[4, 5, 6, 7, 8]
>>> B=ARRAY[5, 6]
>>> is_sliceof(A, B), i.e., there exists a slice of A that equals B.  My
>>> best thought ATM is to convert both to strings and use pattern matching
>>> - any better ideas?
>>
>>
>> I can't think of a really good way to do that directly in Postgres,
>> but I'd bet (still not sure though) there is a way in R.
>>   http://www.r-project.org/index.html
>> If so, you could use PL/R:
>>   http://www.joeconway.com/plr/
> 
> 
> This is probably also easy in perl and python as well.
Actually, I can't think of a great way to do this in python.  Maybe
something clever with iterators or list.index...  My elements will all
be integers, so the string conversion won't cause any trouble - regexps
seem to be the way to go.  Inefficient, since it needs more comparisons
(by character) than comparing ints would, but at least it'll be at C
speed. ;) Thanks all.
-- 
Peter Fein                 pfein(at)pobox(dot)com                 773-575-0694
Basically, if you're not a utopianist, you're a schmuck. -J. Feldman
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Wiebe de Jong | 2005-06-03 17:53:08 | Re: Determining when a row was inserted | 
| Previous Message | Scott Ribe | 2005-06-03 17:44:05 | Re: Limits of SQL |