Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jzRvm-0002gv-Jy for pgsql-general@arkaria.postgresql.org; Sat, 25 Jul 2020 21:42:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jzRvl-00031o-0I for pgsql-general@arkaria.postgresql.org; Sat, 25 Jul 2020 21:42:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jzRvk-00031g-OQ for pgsql-general@lists.postgresql.org; Sat, 25 Jul 2020 21:42:08 +0000 Received: from dragonfly.birch.relay.mailchannels.net ([23.83.209.51]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jzRvc-0002PC-Gi for pgsql-general@lists.postgresql.org; Sat, 25 Jul 2020 21:42:07 +0000 X-Sender-Id: dreamhost|x-authsender|karsten@terragis.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 53639180ADF for ; Sat, 25 Jul 2020 21:41:56 +0000 (UTC) Received: from pdx1-sub0-mail-a97.g.dreamhost.com (100-96-22-23.trex.outbound.svc.cluster.local [100.96.22.23]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id AF761181052 for ; Sat, 25 Jul 2020 21:41:55 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|karsten@terragis.net Received: from pdx1-sub0-mail-a97.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.8); Sat, 25 Jul 2020 21:41:56 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|karsten@terragis.net X-MailChannels-Auth-Id: dreamhost X-Shade-Eight: 6825f85756f44f1c_1595713316165_3303964726 X-MC-Loop-Signature: 1595713316165:3479759315 X-MC-Ingress-Time: 1595713316164 Received: from pdx1-sub0-mail-a97.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a97.g.dreamhost.com (Postfix) with ESMTP id 3C82EB6952 for ; Sat, 25 Jul 2020 14:41:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=terragis.net; h=from:to :references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding; s=terragis.net; bh=Yr0w mQbn59FxDeoODRJJJHfstgA=; b=tcrkGpBWv5nMura0KbHwz6czhGEjURr3nE/M I6WYc3akuIFQFh+HETUSr1zbltA5fWFDvTShHui7EXF3r40b/B9DJSp4E5t9mif+ 8r6oJLX+YeN1cJLihBc6MTlai1UjjvBj9/ZswLxaw0UaYx7d3W92WatUaSYMEPiD l9SpqBo= Received: from terragispc (97-126-88-223.tukw.qwest.net [97.126.88.223]) (Authenticated sender: karsten@terragis.net) by pdx1-sub0-mail-a97.g.dreamhost.com (Postfix) with ESMTPA id D61D3B6948 for ; Sat, 25 Jul 2020 14:41:54 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a97 From: "karsten" To: References: <8B3D52FE28844B478ADD80DE30CF9F36@terragispc> In-Reply-To: <8B3D52FE28844B478ADD80DE30CF9F36@terragispc> Subject: plphyton function - return each list value as a row ? Date: Sat, 25 Jul 2020 14:41:50 -0700 Message-ID: <158643D58A904CC4B08308BBF26DA513@terragispc> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 Thread-Index: AdZiykwwDCFcfjvpTwivBxJoZQGoOgAAhMNA X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.24158 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -10 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduiedrheehgdduieehucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdlqddutddmnecujfgurhephffvfhgjufffkfggtgfgofhtqfesthejjedtvddtvdenucfhrhhomhepfdhkrghrshhtvghnfdcuoehkrghrshhtvghnsehtvghrrhgrghhishdrnhgvtheqnecuggftrfgrthhtvghrnheptefgkeefuddvffegieeuvefhvedtleeuudetkefgieegkeekgfffkeegveetffehnecuffhomhgrihhnpehushhgshdrghhovhenucfkphepleejrdduvdeirdekkedrvddvfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehtvghrrhgrghhishhptgdpihhnvghtpeeljedruddviedrkeekrddvvdefpdhrvghtuhhrnhdqphgrthhhpedfkhgrrhhsthgvnhdfuceokhgrrhhsthgvnhesthgvrhhrrghgihhsrdhnvghtqedpmhgrihhlfhhrohhmpehkrghrshhtvghnsehtvghrrhgrghhishdrnhgvthdpnhhrtghpthhtohepphhgshhqlhdqghgvnhgvrhgrlheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi All, I am trying to create my first plphyton function ( retrieving earthquake data from an API) . Overall I was able to get one single row to be returned, but am struggling how to return the entire list I have as multiple rows - see below. Currently I get the following error when running the GetEartquakeAll function: select GetEartquakeAll('2020-01-01' ,'2020-03-01', -120, 40,200, 1.7) gives me ERROR: length of returned sequence did not match number of columns in row How can I 'simply' return each list value as a row ? Thanks Karsten Vennemann CREATE OR REPLACE FUNCTION GetEartquakeAll(start date ,stop date, lon float, lat float,radius int, minmagnitude float) RETURNS equake_values AS $$ import urllib2 import json as json data = urllib2.urlopen('https://earthquake.usgs.gov/fdsnws/event/1/query?format=geo json&starttime=%s&endtime=%s&latitude=%s&longitude=%s&maxradiuskm=%s&minmagn itude=%s&orderby=magnitude' % (start,stop,lat,lon,radius,minmagnitude)) js_data = json.load(data) equake = js_data equakearray = [] a = 0 for i in equake['features']: equakeplace = i['properties']['place'] # tile for earthquake location magnitude = i['properties']['mag'] qlong = i['geometry']['coordinates'][0] qlat = i['geometry']['coordinates'][1] equakevalue = {"place": equakeplace, "magnitude": magnitude , "qlong": qlong, "qlat": qlat} equakearray.append(equakevalue) a = a+1 return equakearray $$ LANGUAGE plpythonu; # create custom data type that is returned from equake data API query CREATE TYPE equake_values AS ( place text, magnitude float, qlong float, qlat float );