@@ -230,8 +230,8 @@ private String replaceUnnamedParametersForLogging() {
230
230
private String paramValueToString (Object paramValue ) {
231
231
if (paramValue == null )
232
232
return "NULL" ;
233
- if (paramValue instanceof String )
234
- return TEXT_QUOTE + paramValue + TEXT_QUOTE ;
233
+ if (paramValue instanceof String stringParam )
234
+ return TEXT_QUOTE + stringParam . replaceAll ( " \\ $" , " \\ \\ \\ $" ) + TEXT_QUOTE ;
235
235
if (paramValue instanceof Long )
236
236
return paramValue + "::BIGINT" ;
237
237
if (paramValue instanceof Number )
@@ -363,19 +363,24 @@ private void replaceNamedParametersInt(boolean usePlaceholders) {
363
363
Pattern p = Pattern .compile ("#\\ {\\ s*([^\\ s\\ }]+)\\ s*\\ }" );
364
364
Matcher m = p .matcher (text ());
365
365
366
- while (m .find ()) {
367
- String nParam = m .group (1 );
368
- if (!namedParameters .containsKey (nParam ))
369
- throw new IllegalArgumentException ("sql: named Parameter [" + nParam +"] missing" );
370
- if (!namedParams2Positions .containsKey (nParam ))
371
- namedParams2Positions .put (nParam , new ArrayList <>());
372
- namedParams2Positions .get (nParam ).add (parameters .size ());
373
- parameters .add (namedParameters .get (nParam ));
374
- if (!usePlaceholders ) {
375
- statement = m .replaceFirst (paramValueToString (namedParameters .get (nParam )));
376
- m = p .matcher (text ());
366
+ try {
367
+ while (m .find ()) {
368
+ String nParam = m .group (1 );
369
+ if (!namedParameters .containsKey (nParam ))
370
+ throw new IllegalArgumentException ("sql: named Parameter [" + nParam + "] missing" );
371
+ if (!namedParams2Positions .containsKey (nParam ))
372
+ namedParams2Positions .put (nParam , new ArrayList <>());
373
+ namedParams2Positions .get (nParam ).add (parameters .size ());
374
+ parameters .add (namedParameters .get (nParam ));
375
+ if (!usePlaceholders ) {
376
+ statement = m .replaceFirst (paramValueToString (namedParameters .get (nParam )));
377
+ m = p .matcher (text ());
378
+ }
377
379
}
378
380
}
381
+ catch (Exception e ) {
382
+ System .out .println (e .getMessage ());
383
+ }
379
384
380
385
if (usePlaceholders )
381
386
statement = m .replaceAll ("?" );
0 commit comments