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: