Opened 13 years ago

Closed 13 years ago

#795 closed defect (fixed)

FdoExpressionEngineImp::Like should return false on mismatched data types

Reported by: jng Owned by: jng
Priority: major Milestone: 3.7.0
Component: FDO API Version:
Severity: 3 Keywords:
Cc: External ID:

Description

I was performance testing some MapGuide feature joins when I encountered a cryptic "Fetching a property value did not match the property type" error.

Some extensive debugging revealed that the error was caused by MapGuide instructing FDO to do a LIKE evaluation against an integer and a string.

In the current implementation of FdoExpressionEngineImp::Like, mismatched data types (ie. left or right arguments are not string property values) will result in an exception being thrown.

Given MapGuide is lenient on what types of properties can be joined, shouldn't the FDO expression engine just return false on mismatched data types instead of throwing an exception? It's clear the LIKE condition in such cases will not evaluate to true, so why not just return false?

Attachments (1)

exprengine.patch (909 bytes ) - added by jng 13 years ago.
Proposed patch

Download all attachments as: .zip

Change History (3)

by jng, 13 years ago

Attachment: exprengine.patch added

Proposed patch

comment:1 by jng, 13 years ago

Owner: changed from gregboone to jng

comment:2 by jng, 13 years ago

Resolution: fixed
Status: newclosed

Fixed r6288

Note: See TracTickets for help on using tickets.