1062 {
1064 uint32_t len = 0;
1065 char *_table = NULL;
1066 char *_column = NULL;
1067
1068 assert(table != NULL);
1069 assert(column != NULL);
1070
1073
1074
1075 len = strlen("CREATE INDEX \"__gist\" ON USING gist (st_convexhull());") + 1;
1076 if (schema != NULL)
1077 len += strlen(schema);
1078 len += strlen(_table);
1079 len += strlen(_column);
1080 len += strlen(table);
1081 len += strlen(column);
1082 if (tablespace != NULL)
1083 len += strlen(" TABLESPACE ") + strlen(tablespace);
1084
1086 if (sql == NULL) {
1087 rterror(
_(
"create_index: Could not allocate memory for CREATE INDEX statement"));
1090 return 0;
1091 }
1092 sprintf(sql, "CREATE INDEX ON %s%s USING gist (st_convexhull(%s))%s%s;",
1093 (schema != NULL ? schema : ""),
1094 table,
1095 column,
1096 (tablespace != NULL ? " TABLESPACE " : ""),
1097 (tablespace != NULL ? tablespace : "")
1098 );
1101
1103
1104 return 1;
1105}
void rterror(const char *fmt,...) __attribute__((format(printf
Wrappers used for reporting errors and info.
void * rtalloc(size_t size)
Wrappers used for managing memory.
void rtdealloc(void *mem)
Datum buffer(PG_FUNCTION_ARGS)
static int append_sql_to_buffer(STRINGBUFFER *buffer, const char *str)
static char * chartrim(const char *input, char *remove)