PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ create_index()

static int create_index ( const char *  schema,
const char *  table,
const char *  column,
const char *  tablespace,
STRINGBUFFER buffer 
)
static

Definition at line 1046 of file raster2pgsql.c.

1050 {
1051 char *sql = NULL;
1052 uint32_t len = 0;
1053 char *_table = NULL;
1054 char *_column = NULL;
1055
1056 assert(table != NULL);
1057 assert(column != NULL);
1058
1059 _table = chartrim(table, "\"");
1060 _column = chartrim(column, "\"");
1061
1062 /* create index */
1063 len = strlen("CREATE INDEX \"__gist\" ON USING gist (st_convexhull());") + 1;
1064 if (schema != NULL)
1065 len += strlen(schema);
1066 len += strlen(_table);
1067 len += strlen(_column);
1068 len += strlen(table);
1069 len += strlen(column);
1070 if (tablespace != NULL)
1071 len += strlen(" TABLESPACE ") + strlen(tablespace);
1072
1073 sql = rtalloc(sizeof(char) * len);
1074 if (sql == NULL) {
1075 rterror(_("create_index: Could not allocate memory for CREATE INDEX statement"));
1076 rtdealloc(_table);
1077 rtdealloc(_column);
1078 return 0;
1079 }
1080 sprintf(sql, "CREATE INDEX ON %s%s USING gist (st_convexhull(%s))%s%s;",
1081 (schema != NULL ? schema : ""),
1082 table,
1083 column,
1084 (tablespace != NULL ? " TABLESPACE " : ""),
1085 (tablespace != NULL ? tablespace : "")
1086 );
1087 rtdealloc(_table);
1088 rtdealloc(_column);
1089
1091
1092 return 1;
1093}
void rterror(const char *fmt,...)
Wrappers used for reporting errors and info.
Definition rt_context.c:199
void * rtalloc(size_t size)
Wrappers used for managing memory.
Definition rt_context.c:171
void rtdealloc(void *mem)
Definition rt_context.c:186
Datum buffer(PG_FUNCTION_ARGS)
static int append_sql_to_buffer(STRINGBUFFER *buffer, const char *str)
static char * chartrim(const char *input, char *remove)
#define _(String)
Definition shpcommon.h:24

References _, append_sql_to_buffer(), buffer(), chartrim(), rtalloc(), rtdealloc(), and rterror().

Referenced by process_rasters().

Here is the call graph for this function:
Here is the caller graph for this function: