PostGIS  2.5.0dev-r@@SVN_REVISION@@
int ShpLoaderGetSQLCopyStatement ( SHPLOADERSTATE state,
char **  strheader 
)

Definition at line 1465 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().

1466 {
1467  char *copystr;
1468 
1469  /* Allocate the string for the COPY statement */
1470  if (state->config->dump_format)
1471  {
1472  if (state->config->schema)
1473  {
1474  copystr = malloc(strlen(state->config->schema) + strlen(state->config->table) +
1475  strlen(state->col_names) + 40);
1476 
1477  sprintf(copystr, "COPY \"%s\".\"%s\" %s FROM stdin;\n",
1478  state->config->schema, state->config->table, state->col_names);
1479  }
1480  else
1481  {
1482  copystr = malloc(strlen(state->config->table) + strlen(state->col_names) + 40);
1483 
1484  sprintf(copystr, "COPY \"%s\" %s FROM stdin;\n", state->config->table, state->col_names);
1485  }
1486 
1487  *strheader = copystr;
1488  return SHPLOADEROK;
1489  }
1490  else
1491  {
1492  /* Flag an error as something has gone horribly wrong */
1493  snprintf(state->message, SHPLOADERMSGLEN, _("Internal error: attempt to generate a COPY statement for data that hasn't been requested in COPY format"));
1494 
1495  return SHPLOADERERR;
1496  }
1497 }
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: