unico       2005/06/15 03:12:48

  Modified:    src/stores/org/apache/slide/store/impl/rdbms/expression
                        RDBMSCompareExpression.java
                        RDBMSPropContainsExpression.java
                        RDBMSNotPropContainsExpression.java
  Log:
  escape single quotes in DASL literal strings
  
  Revision  Changes    Path
  1.9       +12 -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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RDBMSCompareExpression.java       23 Nov 2004 16:04:13 -0000      1.8
  +++ RDBMSCompareExpression.java       15 Jun 2005 10:12:48 -0000      1.9
  @@ -90,7 +90,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() {
  @@ -122,5 +122,12 @@
       protected String getPropertyNamespace() {
           return getProperty().getNamespaceURI();
       }
  -    
  +
  +    /**
  +     * Single quotes need to be escaped.
  +     */
  +    protected static String escapeLiteral(String literal) {
  +        return literal.replaceAll("'","''");
  +    }
  +
   }
  \ No newline at end of file
  
  
  
  1.5       +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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RDBMSPropContainsExpression.java  22 Nov 2004 13:41:30 -0000      1.4
  +++ RDBMSPropContainsExpression.java  15 Jun 2005 10:12:48 -0000      1.5
  @@ -52,7 +52,7 @@
               }
               sb.append(c);
           }
  -        return sb.toString();
  +        return escapeLiteral(sb.toString());
       }
   
   }
  
  
  
  1.5       +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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RDBMSNotPropContainsExpression.java       22 Nov 2004 13:41:30 -0000      
1.4
  +++ RDBMSNotPropContainsExpression.java       15 Jun 2005 10:12:48 -0000      
1.5
  @@ -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