Pound signs not handled correctly when used in combination with $Foo$ syntax 
and dynamic sql.
---------------------------------------------------------------------------------------------

         Key: IBATISNET-29
         URL: http://issues.apache.org/jira/browse/IBATISNET-29
     Project: iBatis for .NET
        Type: Bug
    Versions: DataMapper 1.1    
 Environment: IBatisNet.DataMapper
[assembly: AssemblyVersion("1.1.458")]
    Reporter: Ron Grabowski


When the following syntax is used:

 ##$Foo$##

and Foo is set via:

 map["Foo"] = new DateTime(2005, 1, 2, 3, 4, 5);

Ibatis seems to process the line correctly. I expect the following text to be 
sent to the database:

 #1/2/2005 3:04:05#

The logs don't explicitly state that that text is being sent to the database 
but the code seems to work correctly.

When a dynamic sql block is used with the ##$Foo$## syntax, Ibatis incorrectly 
throws a ProbeException because it tries to re-evaluate "1/2/2005 3:04:05" as a 
key in the Hashtable. For example this snippet of text:

(Concert.ConcertDate = ##$StartDate$##)
<isNotEmpty prepend="AND" property="EndDate">
 (Concert.ConcertDate = ##$EndDate$##)
</isNotEmpty>

Raises a ProbeException with the following error message: There is no Get 
property named '1/2/2005 3' in class 'Hashtable'. The next character after the 
3 is a colon which Ibatis uses for inline parameters. It appears that Ibatis is 
trying to re-evaluate what's between the dollar signs.



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to