]> granicus.if.org Git - postgis/commitdiff
Handle index building when loading geography
authorPaul Ramsey <pramsey@cleverelephant.ca>
Tue, 22 Dec 2009 00:35:24 +0000 (00:35 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Tue, 22 Dec 2009 00:35:24 +0000 (00:35 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@5043 b70326c6-7e19-0410-871a-916f4a2858ee

loader/shp2pgsql-core.c

index 263f8e671feac86c62ac52b33ca0d5a8227b58ff..036cfb39d4801be169d809e2e81f70472446a0e2 100644 (file)
@@ -1779,6 +1779,12 @@ ShpLoaderGetSQLFooter(SHPLOADERSTATE *state, char **strfooter)
 {
        stringbuffer_t *sb;
        char *ret;
+       char *ops;
+       
+       if( state->config->geography )
+               ops = "gist_geography_ops";
+       else
+               ops = "gist_geometry_ops";
 
        /* Create the stringbuffer containing the header; we use this API as it's easier
           for handling string resizing during append */
@@ -1790,12 +1796,12 @@ ShpLoaderGetSQLFooter(SHPLOADERSTATE *state, char **strfooter)
        {
                if (state->config->schema)
                {
-                       vasbappend(sb, "CREATE INDEX \"%s_%s_gist\" ON \"%s\".\"%s\" using gist (\"%s\" gist_geometry_ops);\n", state->config->table, state->config->geom, 
-                       state->config->schema, state->config->table, state->config->geom);
+                       vasbappend(sb, "CREATE INDEX \"%s_%s_gist\" ON \"%s\".\"%s\" using gist (\"%s\" %s);\n", state->config->table, state->config->geom, 
+                       state->config->schema, state->config->table, state->config->geom, ops);
                }
                else
                {
-                       vasbappend(sb, "CREATE INDEX \"%s_%s_gist\" ON \"%s\" using gist (\"%s\" gist_geometry_ops);\n", state->config->table, state->config->geom, state->config->table, state->config->geom);
+                       vasbappend(sb, "CREATE INDEX \"%s_%s_gist\" ON \"%s\" using gist (\"%s\" gist_geometry_ops);\n", state->config->table, state->config->geom, state->config->table, state->config->geom, ops);
                }
        }