chris=# select *, array_element_count(pupils_on_leave) as
number_awol_pupils from absence ; date | lesson_number | pupils_on_leave | pupils_awol
| number_awol_pupils
------------------------+---------------+-----------------+---------------+--------------------2001-03-08 00:00:00+13 |
25 | | {4,29,3} |2001-03-08 00:00:00+13 | 26 | |
{17,27,28,14}|2001-03-08 00:00:00+13 | 27 | | {5,24,13} |2001-03-08 00:00:00+13 |
12 | {12,34} | {23}
| 22001-03-07 00:00:00+13 | 21 | | {4,5,28,15} |
(5 rows)
As expected.
chris=# update absence set pupils_on_leave[1]=9 where lesson_number=21;
UPDATE 1
Now I tell pg to insert a value in the array, & he says he's done it.
chris=# select *, array_element_count(pupils_on_leave) as
number_awol_pupils from absence ; date | lesson_number | pupils_on_leave | pupils_awol
| number_awol_pupils
------------------------+---------------+-----------------+---------------+--------------------2001-03-08 00:00:00+13 |
25 | | {4,29,3} |2001-03-08 00:00:00+13 | 26 | |
{17,27,28,14}|2001-03-08 00:00:00+13 | 27 | | {5,24,13} |2001-03-08 00:00:00+13 |
12 | {12,34} | {23}
| 22001-03-07 00:00:00+13 | 21 | | {4,5,28,15}
|
(5 rows)
But he has told me a fat fib.
chris=# \d absence Table "absence" Attribute | Type | Modifier
-----------------+--------------------------+----------date | timestamp with time zone |lesson_number |
integer |pupils_on_leave | integer[] |pupils_awol | integer[] |
It that a bug?
It would be very nice for me if that worked.
( you have to put '{}' in the array field before usisng the field[n]=x
notation. )
--
Sincerely etc.,
NAME Christopher SawtellCELL PHONE 021 257 4451ICQ UIN 45863470EMAIL csawtell @ xtra . co . nzCNOTES
ftp://ftp.funet.fi/pub/languages/C/tutorials/sawtell_C.tar.gz
-->> Please refrain from using HTML or WORD attachments in e-mails to me
<<--