Endelig fik en løsning på dette problem, takket være nogle grave fra en bruger. Problemet var ikke med pladsholderen; hvorfor det fungerede uden pladsholderen på VirtualBox-billedet aner jeg ikke. Nej, problemet var med COLLECT()
. Det ser ud til, at både de værdier, der indsamles, skal castes til en bestemt type, og det resulterende array skal også castes til en foruddefineret array-datatype. Tilfældigvis har min kode en tilpasset matrixtype:
CREATE TYPE sqitch_array AS varray(1024) OF VARCHAR2(512);
Så jeg er i stand til at få forespørgslen til at fungere ved at caste COLLECT()
sådan:
CAST(COLLECT(CAST(t.tags as VARCHAR2(512))) AS sqitch_array)