unico       2005/06/15 03:12:50

  Modified:    src/stores/org/apache/slide/store/impl/rdbms/expression Tag:
                        SLIDE_2_1_RELEASE_BRANCH
                        RDBMSNotPropContainsExpression.java
                        RDBMSCompareExpression.java
                        RDBMSPropContainsExpression.java
  Log:
  escape single quotes in DASL literal strings
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.2.2.3   +4 -4      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotPropContainsExpression.java
  
  Index: RDBMSNotPropContainsExpression.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotPropContainsExpression.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- RDBMSNotPropContainsExpression.java       22 Nov 2004 13:41:32 -0000      
1.2.2.2
  +++ RDBMSNotPropContainsExpression.java       15 Jun 2005 10:12:50 -0000      
1.2.2.3
  @@ -50,7 +50,7 @@
               }
               sb.append(c);
           }
  -        return sb.toString();
  +        return escapeLiteral(sb.toString());
       }
   
   }
  
  
  
  1.4.2.5   +21 -5     
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSCompareExpression.java
  
  Index: RDBMSCompareExpression.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSCompareExpression.java,v
  retrieving revision 1.4.2.4
  retrieving revision 1.4.2.5
  diff -u -r1.4.2.4 -r1.4.2.5
  --- RDBMSCompareExpression.java       23 Nov 2004 16:04:18 -0000      1.4.2.4
  +++ RDBMSCompareExpression.java       15 Jun 2005 10:12:50 -0000      1.4.2.5
  @@ -88,7 +88,7 @@
           return "(p" + _tableIndex + ".PROPERTY_NAME = '" + getPropertyName() 
+ "' AND " +
                   "p" + _tableIndex + ".PROPERTY_NAMESPACE = '" + 
getPropertyNamespace() + "' AND " +
                   "p" + _tableIndex + ".PROPERTY_VALUE " + 
COMPARE_OPERATORS.get(_element.getName()) 
  -                + " '" + literal.getTextNormalize() + "')";
  +                + " '" + escapeLiteral(literal.getTextNormalize()) + "')";
       }
   
       protected String join() {
  @@ -121,4 +121,20 @@
           return getProperty().getNamespaceURI();
       }
       
  -}
  \ No newline at end of file
  +    /**
  +     * Single quotes need to be escaped.
  +     */
  +    protected static String escapeLiteral(String literal) {
  +        StringBuffer sb = new StringBuffer(literal.length() + 3);
  +        for (int i = 0, l = literal.length(); i < l; i++) {
  +            char c = literal.charAt(i);
  +            if (c == '\'') {
  +                sb.append("''");
  +            }
  +            else {
  +                sb.append(c);
  +            }
  +        }
  +        return sb.toString();
  +    }
  +}
  
  
  
  1.2.2.3   +4 -4      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSPropContainsExpression.java
  
  Index: RDBMSPropContainsExpression.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSPropContainsExpression.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- RDBMSPropContainsExpression.java  22 Nov 2004 13:41:32 -0000      1.2.2.2
  +++ RDBMSPropContainsExpression.java  15 Jun 2005 10:12:50 -0000      1.2.2.3
  @@ -52,7 +52,7 @@
               }
               sb.append(c);
           }
  -        return sb.toString();
  +        return escapeLiteral(sb.toString());
       }
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to