<div dir="ltr">On hash key thing - not sure if I understand the need completely but I did use (and included) uthash (1) when doing the protobuf formats encoders. Macro magic.. but generic and fast.<div><br></div><div>Darafei mentioned GeoJSON FeatureCollection direct output which I also have missed on several occasions. Could probably reuse some of the stuff I made for protobuf formats to implement it, so I'd like to tackle that one some day if no one gets to it before me.<br></div><div><br></div><div>New serialization format + compression scheme + uncompressed header sounds cool (but hard).</div><div><br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">1) <a href="https://troydhanson.github.io/uthash/">https://troydhanson.github.io/uthash/</a></span><br></div><div><br></div><div>PS. *secret shameful wish* - in a far away galaxy I dream of geometry predicates, operations and PostGIS itself in modular Rust. That dream includes me learning and becoming good at Rust too...</div><div><br></div><div>/Björn<br><div class="gmail_extra"><br><div class="gmail_quote">2018-01-17 18:44 GMT+01:00 Paul Ramsey <span dir="ltr"><<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">What else is on everyone's wish list? Preferably things you'd do if<br>
you didn't think everyone would shoot you down for being too<br>
disruptive.<br>
<br>
<a href="https://trac.osgeo.org/postgis/wiki/PostGIS3" rel="noreferrer" target="_blank">https://trac.osgeo.org/<wbr>postgis/wiki/PostGIS3</a><br>
<br>
* Break out a postgis_raster extension with a postgis dependency, so<br>
raster support becomes optional.<br>
* Require installation in a 'postgis' schema, always and for ever<br>
<br>
* Yet another serialization, this time changing to use external<br>
storage type, and adding our own compression scheme for coordinates.<br>
  * An uncompressed header, so header info can always be efficiently<br>
"sliced" and read, even for very large objects<br>
  * A hash key for use in fast and small equality comparisons (for use<br>
in cached comparison code)<br>
  * A compression format optimized for doubles<br>
  * Other compression formats with other tradeoffs (?) like TWKB for<br>
higher ratio with precision loss<br>
  * Implies indirection in coordinate access again: smaller, more<br>
efficient must be balanced against direct access to coordinates<br>
<br>
* Move up to "modern" C and use whatever cool features we like from that<br>
* Modern GEOS version requirement?<br>
* Some major GEOS surgery to allow memory management by palloc?<br>
* Some major GEOS surgery to build coordinateSequence directly on top<br>
of PostGIS pointlists?<br>
______________________________<wbr>_________________<br>
postgis-devel mailing list<br>
<a href="mailto:postgis-devel@lists.osgeo.org">postgis-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/postgis-devel</a></blockquote></div><br></div></div></div>