Re: [GENERAL] integer[] Update Questions - Mailing list pgsql-hackers

From Ryan Mahoney
Subject Re: [GENERAL] integer[] Update Questions
Date
Msg-id 1030124509.22016.135.camel@dhcp-224-12
Whole thread Raw
In response to Re: [GENERAL] integer[] Update Questions  (Oleg Bartunov <oleg@sai.msu.su>)
Responses Re: [GENERAL] integer[] Update Questions
Re: [GENERAL] integer[] Update Questions
List pgsql-hackers
Wow Oleg, that's great to hear!  I am compiling 7.3 from CVS right now. 
If you do have a patch for 7.2 could you send that - I would like to use
these functions on some production machines running 7.2.1 currently.

Thanks for the prompt response and keep up the great work!

Ryan Mahoney

On Fri, 2002-08-23 at 12:40, Oleg Bartunov wrote:
> Well, CVS version (7.3) of contrib/intarray has:
> FUNCTIONS:
> 
>   int   icount(int[]) - the number of elements in intarray
>   int[] sort(int[], 'asc' | 'desc') - sort intarray
>   int[] sort(int[]) - sort in ascending order
>   int[] sort_asc(int[]),sort_desc(int[]) - shortcuts for sort
>   int[] uniq(int[]) - returns unique elements
>   int   idx(int[], int item) - returns index of first intarray matching element to item, or
>                               '0' if matching failed.
>   int[] subarray(int[],int START [, int LEN]) - returns part of intarray starting from
>                                                 element number START (from 1) and length LEN.
> 
> OPERATIONS:
> 
> 
>   int[] && int[]  - overlap - returns TRUE if arrays has at least one common elements.
>   int[] @  int[]  - contains - returns TRUE if left array contains right array
>   int[] ~ int[]   - contained - returns TRUE if left array is contained in right array
>   # int[]         - return the number of elements in array
>   int[] + int     - push element to array ( add to end of array)
>   int[] + int[]   - merge of arrays (right array added to the end of left one)
>   int[] - int     - remove entries matched by right argument from array
>   int[] - int[]   - remove left array from right
>   int[] | int     - returns intarray - union of arguments
>   int[] | int[]   - returns intarray as a union of two arrays
>   int[] & int[]   - returns intersection of arrays
> 
> 
> I don't remember if I have a patch for 7.2
> 
>     Oleg
> On 23 Aug 2002, Ryan Mahoney wrote:
> 
> > Greeting Hackers! Had some questions about integer array type...
> >
> > If I have a integer[] field in a table, which already has the values
> > {1,2,3,6,17} and I additionally want to add the value '45' to this
> > array, is there any easier way than SELECTing the current values and
> > then updating the entire record?
> >
> > I see that I could do:
> > UPDATE table SET array_field[6] = 45 WHERE ...
> >
> > But how do I know that 6 is the correct index without first SELECTing
> > all the data?
> >
> > Is there an array push/pop function?  Is there a method of counting the
> > number of integers in an array?
> >
> > Thanks for any help you can provide - indexable integer arrays are an
> > incredible feature, thanks for the hard work!
> >
> > Ryan Mahoney
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
> >
> 
>     Regards,
>         Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 



pgsql-hackers by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: v7.2.2 Released ... but not announced ...
Next
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] integer[] Update Questions