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}
| 2
2001-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}
| 2
2001-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 Sawtell
CELL PHONE 021 257 4451
ICQ UIN 45863470
EMAIL csawtell @ xtra . co . nz
CNOTES 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
<<--
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])