Received: from mx.mx.skynet.be (mxrelay.skynet.be [195.238.1.11]) by hub.org (8.9.3/8.9.3) with ESMTP id BAA18726 for ; Wed, 11 Aug 1999 01:22:03 -0400 (EDT) (envelope-from spirou@carolo.net) Received: from carolo.net (dialup98.wavre.skynet.be [195.238.10.98]) by mx.mx.skynet.be (8.9.1/8.9.1) with ESMTP id HAA12685 for ; Wed, 11 Aug 1999 07:22:00 +0200 (MET DST) Sender: spirou@mx.mx.skynet.be Message-ID: <37B108CB.842CC5C7@carolo.net> Date: Wed, 11 Aug 1999 07:23:23 +0200 From: Spirou Reply-To: spirou@carolo.net Organization: COLnet X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.2.9 i586) X-Accept-Language: fr, en, nl MIME-Version: 1.0 To: pgsql-interfaces Subject: PgAccess and arrays References: <37AD4E21.DFDF72A8@flex.ro> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit It seems that pgAccess has as much trouble as I have with arrays ... and perhaps more since I can't even run the queries below in it. Does anyone have information on those damned arrays ? Here is the text of a message I have posted on NOVICE without success up to now. ******************************** I'd like to make some selections on values in arrays. I know I could use a more 'SQL-correct' way to achieve this. (create another table, link it to the first one and so on.) But I was playing with arrays and I was wondering ... I give an exemple to make my question clear (I hope) let's say I store some values in a 2 dim array : create table myfunction ( id int4, name text, args text[][]); insert into myfunction values( 1, 'func1', '{{"key1", "value1"}, {"key2", "value2"}}'); insert into myfunction values( 2, 'func2', '{{"key1", "value1"}, {"key2", "value5"}, {"key3", "value2"}}'); everything's OK. I can store my values. I can retrieve them : select args from myfunction where name = 'func1'; or select myfunction.args[1][2] where id = 2; or even select myfunction.args[1:1][1:2] where id = 2; with some trial & errors it works. But I can't manage to look into myfunction.args, I mean something like select name from myfunction where myfunction.args [][2] = 'value2'; or select name from myfunction where myfunction.args ~~ '%value2%'; if I don't know where is value2 in my array (if it exists). Which operators can I use ? How can I inspect an array-field ? Any information on arrays would be welcome. -- Spirou Un club Linux pour les Carolos --> http://carolo.net/carolinux/index.html