PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ ShpLoaderGetSQLCopyStatement()

int ShpLoaderGetSQLCopyStatement ( SHPLOADERSTATE state,
char **  strheader 
)

Definition at line 1471 of file shp2pgsql-core.c.

References _, shp_loader_state::col_names, shp_loader_state::config, shp_loader_config::dump_format, malloc(), shp_loader_state::message, shp_loader_config::schema, SHPLOADERERR, SHPLOADERMSGLEN, SHPLOADEROK, and shp_loader_config::table.

Referenced by main(), and pgui_action_import().

1472 {
1473  char *copystr;
1474 
1475  /* Allocate the string for the COPY statement */
1476  if (state->config->dump_format)
1477  {
1478  if (state->config->schema)
1479  {
1480  copystr = malloc(strlen(state->config->schema) + strlen(state->config->table) +
1481  strlen(state->col_names) + 40);
1482 
1483  sprintf(copystr, "COPY \"%s\".\"%s\" %s FROM stdin;\n",
1484  state->config->schema, state->config->table, state->col_names);
1485  }
1486  else
1487  {
1488  copystr = malloc(strlen(state->config->table) + strlen(state->col_names) + 40);
1489 
1490  sprintf(copystr, "COPY \"%s\" %s FROM stdin;\n", state->config->table, state->col_names);
1491  }
1492 
1493  *strheader = copystr;
1494  return SHPLOADEROK;
1495  }
1496  else
1497  {
1498  /* Flag an error as something has gone horribly wrong */
1499  snprintf(state->message, SHPLOADERMSGLEN, _("Internal error: attempt to generate a COPY statement for data that hasn't been requested in COPY format"));
1500 
1501  return SHPLOADERERR;
1502  }
1503 }
SHPLOADERCONFIG * config
#define _(String)
Definition: shpcommon.h:24
#define SHPLOADEROK
char message[SHPLOADERMSGLEN]
void * malloc(YYSIZE_T)
#define SHPLOADERERR
#define SHPLOADERMSGLEN
Here is the call graph for this function:
Here is the caller graph for this function: