Jorge,<br><br>I&#39;m a bit hesitant to think using a server cursor would be the best approach here. Could you explain why is this needed?<br>I my understanding each IReadBlock would trigger a normal &quot;SELECT&quot; without the cursor, this will give you all the data at once, just like FETCH ALL. This select would in fact be a spatial select according to the extent of the block required by the client.<br>
<br>Best regards,<br><br>Tamas<br><br><br><br><br><div class="gmail_quote">2009/7/10 Jorge Arévalo <span dir="ltr">&lt;<a href="mailto:jorge.arevalo@gmail.com">jorge.arevalo@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br>
<br>
Context: GDAL WKTRaster Driver. When creating Dataset, I declare a<br>
cursor to read all the rows (tiles) of a table with a raster column<br>
(DECLARE cursor CURSOR FOR SELECT * FROM TABLE). The RasterBand should<br>
read one of the rows&#39; band<br>
<br>
Question 1: The cursor is created during the Dataset creation, and<br>
stored in it. Should I start a transaction before? If yes, when should<br>
I close the cursor and end the transaction? When calling to Dataset&#39;s<br>
destructor?<br>
Question 2: What approach is better?<br>
     a) The Dataset fetchs all the rows (tiles) of the table just<br>
after declaring the cursor, and the RasterBand moves over the<br>
resultset using PQgetvalue and read one band of the read raster<br>
     b) The Dataset declare the cursor and the RasterBand fetchs the<br>
row that needs to read one of its bands<br>
<br>
Thanks in advance.<br>
<br>
Best regards<br>
Jorge<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote></div><br>