Skip to content

Commit 9f7f14f

Browse files
committed
remove too verbose error messages in oracle and postgis drivers (#4928)
1 parent abc53ae commit 9f7f14f

File tree

2 files changed

+94
-69
lines changed

2 files changed

+94
-69
lines changed

maporaclespatial.c

+80-53
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,8 @@ static int ERROR( char *routine, msOracleSpatialHandler *hand, msOracleSpatialDa
288288
{
289289
if (hand->last_oci_status == MS_FAILURE) {
290290
/* there was an error */
291-
msSetError( MS_ORACLESPATIALERR, (char *)hand->last_oci_error, routine );
291+
msSetError( MS_ORACLESPATIALERR, "OracleSpatial server returned an error, check logs for more details", routine );
292+
msDebug("OracleSpatial server returned an error in funtion (%s): %s.\n", routine, (char*)hand->last_oci_error );
292293

293294
/* reset error flag */
294295
hand->last_oci_status = MS_SUCCESS;
@@ -664,11 +665,14 @@ static msOracleSpatialHandler *msOCISetHandlers( char *username, char *password,
664665
OCILogon( hand->envhp, hand->errhp, &hand->svchp, (text *)username, strlen(username), (text *)password, strlen(password), (text *)dblink, strlen(dblink) ) );
665666

666667
if ( !success ) {
668+
msDebug( "Cannot create OCI Handlers. "
669+
"Connection failure."
670+
"Error: %s."
671+
"msOracleSpatialLayerOpen()\n", hand->last_oci_error);
667672
msSetError( MS_ORACLESPATIALERR,
668673
"Cannot create OCI Handlers. "
669-
"Connection failure. Check the connection string. "
670-
"Error: %s.",
671-
"msOracleSpatialLayerOpen()", hand->last_oci_error);
674+
"Connection failure. Check your logs and the connection string. ",
675+
"msOracleSpatialLayerOpen()");
672676

673677
msOCICloseHandlers(hand);
674678
return NULL;
@@ -1711,12 +1715,12 @@ int msOracleSpatialLayerOpen( layerObj *layer )
17111715
return MS_SUCCESS;
17121716

17131717
if (layer->data == NULL) {
1714-
msSetError( MS_ORACLESPATIALERR,
1715-
"Error parsing OracleSpatial DATA variable. Must be:"
1718+
msDebug( "Error parsing OracleSpatial DATA variable. Must be:"
17161719
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
17171720
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'."
1718-
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE.",
1719-
"msOracleSpatialLayerOpen()");
1721+
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE.\n");
1722+
msSetError( MS_ORACLESPATIALERR,
1723+
"Error parsing OracleSpatial DATA variable. More info in server logs", "msOracleSpatialLayerOpen()");
17201724

17211725
return MS_FAILURE;
17221726
}
@@ -1907,13 +1911,15 @@ int msOracleSpatialLayerWhichShapes( layerObj *layer, rectObj rect, int isQuery)
19071911
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
19081912
/* parse geom_column_name and table_name */
19091913
if (!msSplitData( layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version)) {
1910-
msSetError( MS_ORACLESPATIALERR,
1911-
"Error parsing OracleSpatial DATA variable. Must be:"
1914+
msDebug( "Error parsing OracleSpatial DATA variable. Must be:"
19121915
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
19131916
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'."
19141917
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE."
1915-
"Your data statement: %s",
1916-
"msOracleSpatialLayerWhichShapes()", layer->data );
1918+
"Your data statement: (%s)"
1919+
"in msOracleSpatialLayerWhichShapes()\n", layer->data );
1920+
msSetError( MS_ORACLESPATIALERR,
1921+
"Error parsing OracleSpatial DATA variable. More info in server logs",
1922+
"msOracleSpatialLayerWhichShapes()" );
19171923

19181924
if (geom_column_name) free(geom_column_name);
19191925
if (srid) free(srid);
@@ -2158,11 +2164,13 @@ int msOracleSpatialLayerWhichShapes( layerObj *layer, rectObj rect, int isQuery)
21582164
}
21592165

21602166
if (!success) {
2161-
msSetError( MS_ORACLESPATIALERR,
2162-
"Error: %s . "
2167+
msDebug( "Error: %s . "
21632168
"Query statement: %s . "
2164-
"Check your data statement.",
2165-
"msOracleSpatialLayerWhichShapes()", hand->last_oci_error, query_str );
2169+
"Check your data statement."
2170+
"msOracleSpatialLayerWhichShapes()\n", hand->last_oci_error, query_str );
2171+
msSetError( MS_ORACLESPATIALERR,
2172+
"Check your data statement and server logs",
2173+
"msOracleSpatialLayerWhichShapes()");
21662174

21672175
/* clean items */
21682176
free(items);
@@ -2448,13 +2456,14 @@ int msOracleSpatialLayerGetShape( layerObj *layer, shapeObj *shape, resultObj *r
24482456

24492457
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
24502458
if (!msSplitData( layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version )) {
2451-
msSetError( MS_ORACLESPATIALERR,
2452-
"Error parsing OracleSpatial DATA variable. Must be: "
2459+
msDebug( "Error parsing OracleSpatial DATA variable. Must be: "
24532460
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
24542461
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'. "
24552462
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. "
2456-
"Your data statement: %s",
2457-
"msOracleSpatialLayerGetShape()", layer->data );
2463+
"Your data statement: (%s) msOracleSpatialLayerGetShape()\n", layer->data );
2464+
msSetError( MS_ORACLESPATIALERR,
2465+
"Error parsing OracleSpatial DATA variable. Check server logs. ",
2466+
"msOracleSpatialLayerGetShape()");
24582467

24592468
/* clean nullind */
24602469
free(nullind);
@@ -2522,7 +2531,7 @@ int msOracleSpatialLayerGetShape( layerObj *layer, shapeObj *shape, resultObj *r
25222531
"Error: %s . "
25232532
"Query statement: %s . "
25242533
"Check your data statement.",
2525-
"msOracleSpatialLayerGetShape()", hand->last_oci_error, query_str );
2534+
"msOracleSpatialLayerGetShape()\n", hand->last_oci_error, query_str );
25262535

25272536
/* clean nullind */
25282537
free(nullind);
@@ -2548,11 +2557,12 @@ int msOracleSpatialLayerGetShape( layerObj *layer, shapeObj *shape, resultObj *r
25482557
}
25492558

25502559
if(!success) {
2551-
msSetError( MS_ORACLESPATIALERR,
2552-
"Error: %s . "
2560+
msDebug( "Error: %s . "
25532561
"Query statement: %s ."
2554-
"Check your data statement.",
2555-
"msOracleSpatialLayerGetShape()", hand->last_oci_error, query_str );
2562+
"Check your data statement."
2563+
"in msOracleSpatialLayerGetShape()\n", hand->last_oci_error, query_str );
2564+
msSetError( MS_ORACLESPATIALERR,
2565+
"Error in Query statement. Check your server logs","msOracleSpatialLayerGetShape()");
25562566

25572567
/* clean nullind */
25582568
free(nullind);
@@ -2749,13 +2759,16 @@ int msOracleSpatialLayerGetAutoProjection( layerObj *layer, projectionObj *proje
27492759

27502760
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
27512761
if (!msSplitData( layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version )) {
2752-
msSetError( MS_ORACLESPATIALERR,
2753-
"Error parsing OracleSpatial DATA variable. Must be: "
2762+
msDebug( "Error parsing OracleSpatial DATA variable. Must be: "
27542763
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
27552764
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'. "
27562765
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. "
2757-
"Your data statement: %s",
2758-
"msOracleSpatialLayerGetAutoProjection()", layer->data );
2766+
"Your data statement: (%s) "
2767+
"in msOracleSpatialLayerGetAutoProjection()\n", layer->data );
2768+
2769+
msSetError( MS_ORACLESPATIALERR,
2770+
"Error parsing OracleSpatial DATA variable",
2771+
"msOracleSpatialLayerGetAutoProjection()");
27592772

27602773
if (geom_column_name) free(geom_column_name);
27612774
if (srid) free(srid);
@@ -2781,11 +2794,14 @@ int msOracleSpatialLayerGetAutoProjection( layerObj *layer, projectionObj *proje
27812794
&& TRY( hand, OCIAttrGet( (dvoid *)sthand->stmthp, (ub4)OCI_HTYPE_STMT, (dvoid *)&sthand->rows_fetched, (ub4 *)0, (ub4)OCI_ATTR_ROWS_FETCHED, hand->errhp ) );
27822795

27832796
if(!success) {
2784-
msSetError( MS_ORACLESPATIALERR,
2785-
"Error: %s . "
2797+
msDebug( "Error: %s . "
27862798
"Query statement: %s . "
2787-
"Check your data statement.",
2788-
"msOracleSpatialLayerGetAutoProjection()", hand->last_oci_error, query_str );
2799+
"Check your data statement."
2800+
"in msOracleSpatialLayerGetAutoProjection()\n", hand->last_oci_error, query_str );
2801+
msSetError( MS_ORACLESPATIALERR,
2802+
"Error "
2803+
"Check your data statement and server logs",
2804+
"msOracleSpatialLayerGetAutoProjection()" );
27892805

27902806
if (geom_column_name) free(geom_column_name);
27912807
if (srid) free(srid);
@@ -2963,13 +2979,15 @@ int msOracleSpatialLayerGetItems( layerObj *layer )
29632979

29642980
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
29652981
if (!msSplitData(layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version)) {
2966-
msSetError( MS_ORACLESPATIALERR,
2967-
"Error parsing OracleSpatial DATA variable. Must be: "
2982+
msDebug( "Error parsing OracleSpatial DATA variable. Must be: "
29682983
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
29692984
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'. "
29702985
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. "
2971-
"Your data statement: %s",
2972-
"msOracleSpatialLayerGetItems()", layer->data );
2986+
"Your data statement: (%s)"
2987+
"in msOracleSpatialLayerGetItems()\n", layer->data );
2988+
msSetError( MS_ORACLESPATIALERR,
2989+
"Error parsing OracleSpatial DATA variable. Check server logs. ",
2990+
"msOracleSpatialLayerGetItems()");
29732991

29742992
if (geom_column_name) free(geom_column_name);
29752993
if (srid) free(srid);
@@ -3153,13 +3171,15 @@ int msOracleSpatialLayerGetExtent(layerObj *layer, rectObj *extent)
31533171

31543172
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
31553173
if (!msSplitData( layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version )) {
3156-
msSetError( MS_ORACLESPATIALERR,
3157-
"Error parsing OracleSpatial DATA variable. Must be: "
3174+
msDebug( "Error parsing OracleSpatial DATA variable. Must be: "
31583175
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
31593176
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'. "
31603177
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. "
3161-
"Your data statement: %s",
3162-
"msOracleSpatialLayerGetExtent()", layer->data );
3178+
"Your data statement: (%s) "
3179+
"in msOracleSpatialLayerGetExtent()\n", layer->data );
3180+
msSetError( MS_ORACLESPATIALERR,
3181+
"Error parsing OracleSpatial DATA variable. Check server logs. ",
3182+
"msOracleSpatialLayerGetExtent()");
31633183
/* clean items */
31643184
free(items);
31653185

@@ -3196,11 +3216,14 @@ int msOracleSpatialLayerGetExtent(layerObj *layer, rectObj *extent)
31963216
}
31973217

31983218
if(!success) {
3199-
msSetError( MS_ORACLESPATIALERR,
3200-
"Error: %s . "
3219+
msDebug( "Error: %s . "
32013220
"Query statement: %s . "
3202-
"Check your data statement.",
3203-
"msOracleSpatialLayerGetExtent()", hand->last_oci_error, query_str );
3221+
"Check your data statement."
3222+
"in msOracleSpatialLayerGetExtent()\n", hand->last_oci_error, query_str );
3223+
3224+
msSetError( MS_ORACLESPATIALERR,
3225+
"Check your data statement and server logs",
3226+
"msOracleSpatialLayerGetExtent()" );
32043227

32053228
/* clean items */
32063229
free(items);
@@ -3223,11 +3246,13 @@ int msOracleSpatialLayerGetExtent(layerObj *layer, rectObj *extent)
32233246
}
32243247

32253248
if(!success) {
3226-
msSetError( MS_ORACLESPATIALERR,
3227-
"Error: %s . "
3249+
msDebug( "Error: %s . "
32283250
"Query statement: %s ."
3229-
"Check your data statement.",
3230-
"msOracleSpatialLayerGetExtent()", hand->last_oci_error, query_str );
3251+
"Check your data statement."
3252+
"in msOracleSpatialLayerGetExtent()\n", hand->last_oci_error, query_str );
3253+
msSetError( MS_ORACLESPATIALERR,
3254+
"Check your data statement and server logs",
3255+
"msOracleSpatialLayerGetExtent()" );
32313256

32323257
/* clean items */
32333258
free(items);
@@ -3451,13 +3476,15 @@ int msOracleSpatialLayerTranslateFilter(layerObj *layer, expressionObj *filter,
34513476

34523477
table_name = (char *) malloc(sizeof(char) * TABLE_NAME_SIZE);
34533478
if (!msSplitData( layer->data, &geom_column_name, &table_name, &unique, &srid, &indexfield, &function, &version )) {
3454-
msSetError( MS_ORACLESPATIALERR,
3455-
"Error parsing OracleSpatial DATA variable. Must be: "
3479+
msDebug( "Error parsing OracleSpatial DATA variable. Must be: "
34563480
"'geometry_column FROM table_name [USING UNIQUE <column> SRID srid# FUNCTION]' or "
34573481
"'geometry_column FROM (SELECT stmt) [USING UNIQUE <column> SRID srid# FUNCTION]'. "
34583482
"If want to set the FUNCTION statement you can use: FILTER, RELATE, GEOMRELATE or NONE. "
3459-
"Your data statement: %s",
3460-
"msOracleSpatialLayerGetExtent()", layer->data );
3483+
"Your data statement: (%s)"
3484+
"in msOracleSpatialLayerGetExtent()\n", layer->data );
3485+
msSetError( MS_ORACLESPATIALERR,
3486+
"Error parsing OracleSpatial DATA variable. Check server logs. ",
3487+
"msOracleSpatialLayerGetExtent()");
34613488
/* clean items */
34623489

34633490
if (geom_column_name) free(geom_column_name);

mappostgis.c

+14-16
Original file line numberDiff line numberDiff line change
@@ -1129,7 +1129,8 @@ msPostGISRetrieveVersion(PGconn *pgconn)
11291129
pgresult = PQexecParams(pgconn, sql,0, NULL, NULL, NULL, NULL, 0);
11301130

11311131
if ( !pgresult || PQresultStatus(pgresult) != PGRES_TUPLES_OK) {
1132-
msSetError(MS_QUERYERR, "Error executing SQL: %s", "msPostGISRetrieveVersion()", sql);
1132+
msDebug("Error executing SQL: (%s) in msPostGISRetrieveVersion()", sql);
1133+
msSetError(MS_QUERYERR, "Error executing SQL. check server logs.", "msPostGISRetrieveVersion()");
11331134
return MS_FAILURE;
11341135
}
11351136

@@ -2439,7 +2440,8 @@ int msPostGISLayerOpen(layerObj *layer)
24392440
}
24402441
}
24412442

2442-
msSetError(MS_QUERYERR, "Database connection failed (%s) with connect string '%s'\nIs the database running? Is it allowing connections? Does the specified user exist? Is the password valid? Is the database on the standard port?", "msPostGISLayerOpen()", PQerrorMessage(layerinfo->pgconn), maskeddata);
2443+
msDebug( "Database connection failed (%s) with connect string '%s'\nIs the database running? Is it allowing connections? Does the specified user exist? Is the password valid? Is the database on the standard port? in msPostGISLayerOpen()", PQerrorMessage(layerinfo->pgconn), maskeddata);
2444+
msSetError(MS_QUERYERR, "Database connection failed. Check server logs for more details.Is the database running? Is it allowing connections? Does the specified user exist? Is the password valid? Is the database on the standard port?", "msPostGISLayerOpen()");
24432445

24442446
if(layerinfo->pgconn) PQfinish(layerinfo->pgconn);
24452447
free(maskeddata);
@@ -2459,7 +2461,8 @@ int msPostGISLayerOpen(layerObj *layer)
24592461
PQreset(layerinfo->pgconn);
24602462
if( PQstatus(layerinfo->pgconn) != CONNECTION_OK ) {
24612463
/* Nope, time to bail out. */
2462-
msSetError(MS_QUERYERR, "PostgreSQL database connection gone bad (%s)", "msPostGISLayerOpen()", PQerrorMessage(layerinfo->pgconn));
2464+
msSetError(MS_QUERYERR, "PostgreSQL database connection. Check server logs for more details", "msPostGISLayerOpen()");
2465+
msDebug( "PostgreSQL database connection gone bad (%s) in msPostGISLayerOpen()", PQerrorMessage(layerinfo->pgconn));
24632466
free(layerinfo);
24642467
/* FIXME: we should also release the connection from the pool in this case, but it is stale...
24652468
* for the time being we do not release it so it can never be used again. If this happens multiple
@@ -2695,10 +2698,8 @@ int msPostGISLayerWhichShapes(layerObj *layer, rectObj rect, int isQuery)
26952698

26962699
/* Something went wrong. */
26972700
if (!pgresult || PQresultStatus(pgresult) != PGRES_TUPLES_OK) {
2698-
if ( layer->debug ) {
2699-
msDebug("msPostGISLayerWhichShapes(): Error (%s) executing query: %s\n", PQerrorMessage(layerinfo->pgconn), strSQL);
2700-
}
2701-
msSetError(MS_QUERYERR, "Error executing query: %s ", "msPostGISLayerWhichShapes()", PQerrorMessage(layerinfo->pgconn));
2701+
msDebug("msPostGISLayerWhichShapes(): Error (%s) executing query: %s\n", PQerrorMessage(layerinfo->pgconn), strSQL);
2702+
msSetError(MS_QUERYERR, "Error executing query. Check server logs","msPostGISLayerWhichShapes()");
27022703
free(strSQL);
27032704
if (pgresult) {
27042705
PQclear(pgresult);
@@ -2876,10 +2877,8 @@ int msPostGISLayerGetShape(layerObj *layer, shapeObj *shape, resultObj *record)
28762877

28772878
/* Something went wrong. */
28782879
if ( (!pgresult) || (PQresultStatus(pgresult) != PGRES_TUPLES_OK) ) {
2879-
if ( layer->debug ) {
2880-
msDebug("msPostGISLayerGetShape(): Error (%s) executing SQL: %s\n", PQerrorMessage(layerinfo->pgconn), strSQL );
2881-
}
2882-
msSetError(MS_QUERYERR, "Error executing SQL: %s", "msPostGISLayerGetShape()", PQerrorMessage(layerinfo->pgconn));
2880+
msDebug("msPostGISLayerGetShape(): Error (%s) executing SQL: %s\n", PQerrorMessage(layerinfo->pgconn), strSQL );
2881+
msSetError(MS_QUERYERR, "Error executing SQL. Check server logs.","msPostGISLayerGetShape()");
28832882

28842883
if (pgresult) {
28852884
PQclear(pgresult);
@@ -3102,10 +3101,8 @@ int msPostGISLayerGetItems(layerObj *layer)
31023101
pgresult = PQexecParams(layerinfo->pgconn, sql,0, NULL, NULL, NULL, NULL, 0);
31033102

31043103
if ( (!pgresult) || (PQresultStatus(pgresult) != PGRES_TUPLES_OK) ) {
3105-
if ( layer->debug ) {
3106-
msDebug("msPostGISLayerGetItems(): Error (%s) executing SQL: %s\n", PQerrorMessage(layerinfo->pgconn), sql);
3107-
}
3108-
msSetError(MS_QUERYERR, "Error executing SQL: %s", "msPostGISLayerGetItems()", PQerrorMessage(layerinfo->pgconn));
3104+
msDebug("msPostGISLayerGetItems(): Error (%s) executing SQL: %s\n", PQerrorMessage(layerinfo->pgconn), sql);
3105+
msSetError(MS_QUERYERR, "Error executing SQL. Check server logs","msPostGISLayerGetItems()");
31093106
if (pgresult) {
31103107
PQclear(pgresult);
31113108
}
@@ -3212,7 +3209,8 @@ int msPostGISLayerGetExtent(layerObj *layer, rectObj *extent)
32123209
msFree(strSQL);
32133210

32143211
if ( (!pgresult) || (PQresultStatus(pgresult) != PGRES_TUPLES_OK) ) {
3215-
msSetError(MS_MISCERR, "Error executing SQL: %s", "msPostGISLayerGetExtent()", PQerrorMessage(layerinfo->pgconn));
3212+
msDebug("Error executing SQL: (%s) in msPostGISLayerGetExtent()", PQerrorMessage(layerinfo->pgconn));
3213+
msSetError(MS_MISCERR, "Error executing SQL. Check server logs.","msPostGISLayerGetExtent()");
32163214
if (pgresult)
32173215
PQclear(pgresult);
32183216

0 commit comments

Comments
 (0)