From: | Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> |
---|---|
To: | Ryan Mahoney <ryan(at)paymentalliance(dot)net> |
Cc: | pgsql-hackers(at)postgresql(dot)org, <pgsql-general(at)postgresql(dot)org>, <teodor(at)stack(dot)net> |
Subject: | Re: integer[] Update Questions |
Date: | 2002-08-23 16:40:43 |
Message-ID: | Pine.GSO.4.44.0208231935310.15230-100000@ra.sai.msu.su |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
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(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
From | Date | Subject | |
---|---|---|---|
Next Message | Sebastian Hetze | 2002-08-23 16:53:23 | OSS RDBMS Features Compared |
Previous Message | Stephan Szabo | 2002-08-23 15:37:16 | Re: How to retrieve a comment/description from a table |
From | Date | Subject | |
---|---|---|---|
Next Message | Roderick A. Anderson | 2002-08-23 16:57:27 | RPM Feature Request |
Previous Message | Joe Conway | 2002-08-23 15:47:31 | Re: v7.2.2 packaged ... |