From bandaram@apache.org Fri Nov 12 02:14:57 2004 Return-Path: Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 23468 invoked by uid 500); 12 Nov 2004 02:14:57 -0000 Delivered-To: apmail-incubator-derby-cvs@incubator.apache.org Received: (qmail 23464 invoked by uid 99); 12 Nov 2004 02:14:57 -0000 Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 11 Nov 2004 18:14:57 -0800 Received: (qmail 61442 invoked by uid 65534); 12 Nov 2004 02:14:55 -0000 Date: 12 Nov 2004 02:14:55 -0000 Message-ID: <20041112021455.61440.qmail@minotaur.apache.org> From: bandaram@apache.org To: derby-cvs@incubator.apache.org Subject: svn commit: rev 57487 - incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile X-Virus-Checked: Checked Author: bandaram Date: Thu Nov 11 18:14:55 2004 New Revision: 57487 Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java Log: Derby-45: Allow expressions that result in string types as arguments to a LIKE expression Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java ============================================================================== --- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java (original) +++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java Thu Nov 11 18:14:55 2004 @@ -153,7 +153,8 @@ throw StandardException.newException(SQLState.LANG_DB2_LIKE_SYNTAX_ERROR); // pattern must be a string or a parameter - if (!(leftOperand instanceof CharConstantNode) && !(leftOperand.isParameterNode())) + + if (!(leftOperand.isParameterNode()) && !(leftOperand.getTypeId().isStringTypeId())) throw StandardException.newException(SQLState.LANG_DB2_FUNCTION_INCOMPATIBLE, "LIKE", "FUNCTION"); @@ -165,7 +166,9 @@ } // escape must be a string or a parameter - if (rightOperand != null && !(rightOperand instanceof CharConstantNode) && !(rightOperand.isParameterNode())) + if ((rightOperand != null) && + !(rightOperand.isParameterNode()) && + !(rightOperand.getTypeId().isStringTypeId())) { throw StandardException.newException(SQLState.LANG_DB2_FUNCTION_INCOMPATIBLE, "LIKE", "FUNCTION");