@@ -8034,11 +8034,7 @@ public void visitLikePredicate(LikePredicate likePredicate) {
80348034 appendSql ( " not" );
80358035 }
80368036 appendSql ( " like " );
8037- likePredicate .getPattern ().accept ( this );
8038- if ( likePredicate .getEscapeCharacter () != null ) {
8039- appendSql ( " escape " );
8040- likePredicate .getEscapeCharacter ().accept ( this );
8041- }
8037+ renderLikePredicate ( likePredicate );
80428038 }
80438039 else {
80448040 if ( dialect .supportsCaseInsensitiveLike () ) {
@@ -8049,18 +8045,22 @@ public void visitLikePredicate(LikePredicate likePredicate) {
80498045 appendSql ( WHITESPACE );
80508046 appendSql ( dialect .getCaseInsensitiveLike () );
80518047 appendSql ( WHITESPACE );
8052- likePredicate .getPattern ().accept ( this );
8053- if ( likePredicate .getEscapeCharacter () != null ) {
8054- appendSql ( " escape " );
8055- likePredicate .getEscapeCharacter ().accept ( this );
8056- }
8048+ renderLikePredicate ( likePredicate );
80578049 }
80588050 else {
80598051 renderCaseInsensitiveLikeEmulation (likePredicate .getMatchExpression (), likePredicate .getPattern (), likePredicate .getEscapeCharacter (), likePredicate .isNegated ());
80608052 }
80618053 }
80628054 }
80638055
8056+ protected void renderLikePredicate (LikePredicate likePredicate ) {
8057+ likePredicate .getPattern ().accept ( this );
8058+ if ( likePredicate .getEscapeCharacter () != null ) {
8059+ appendSql ( " escape " );
8060+ likePredicate .getEscapeCharacter ().accept ( this );
8061+ }
8062+ }
8063+
80648064 protected void renderCaseInsensitiveLikeEmulation (Expression lhs , Expression rhs , Expression escapeCharacter , boolean negated ) {
80658065 //LOWER(lhs) operator LOWER(rhs)
80668066 appendSql ( dialect .getLowercaseFunction () );
@@ -8147,13 +8147,11 @@ protected void appendBackslashEscapedLikeLiteral(SqlAppender appender, String li
81478147
81488148 @ Override
81498149 public void visitNegatedPredicate (NegatedPredicate negatedPredicate ) {
8150- if ( negatedPredicate .isEmpty () ) {
8151- return ;
8150+ if ( !negatedPredicate .isEmpty () ) {
8151+ appendSql ( "not(" );
8152+ negatedPredicate .getPredicate ().accept ( this );
8153+ appendSql ( CLOSE_PARENTHESIS );
81528154 }
8153-
8154- appendSql ( "not(" );
8155- negatedPredicate .getPredicate ().accept ( this );
8156- appendSql ( CLOSE_PARENTHESIS );
81578155 }
81588156
81598157 @ Override
0 commit comments