Re: how to get Point * from datum =heap_getattr(....)?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: sunpeng <bluevaley(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: how to get Point * from datum =heap_getattr(....)?
Date: 2010-05-15 21:47:39
Message-ID: 18304.1273960059@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

sunpeng <bluevaley(at)gmail(dot)com> writes:
> hi,i have this table:
> CREATE TABLE pois(
> uid integer not null,
> name VARCHAR(128),
> catcode VARCHAR(32) not null,
> catname VARCHAR(32),
> others VARCHAR(32)
> );
> SELECT AddGeometryColumn('pois', 'location', 4214, 'POINT', 2);

> and then in my codes,i use this invoke to get location column in tuple:
> tuple = heap_getnext(pHeapScanDesc,
> ForwardScanDirection);
> datum = heap_getattr(tuple,6,pRawRelation->rd_att,&isnull);

> then on the next,how to write to get Point? is this right?
> Point *p = isnull?NULL:(Point *)(PG_DETOAST_DATUM(datum));

I'm not sure what the C-code type name is for geometry columns, but it's
definitely not Point --- that corresponds to the SQL type "point".

I'd suggest asking about this on the postgis mailing list.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2010-05-15 21:51:13 Re: Query memory usage
Previous Message Karl Denninger 2010-05-15 19:55:10 Re: Query memory usage