Opened 16 years ago

Last modified 16 years ago

#247 assigned defect

Using an ISelect with an InFilter with an invalid property name yields an AccessViolationException

Reported by: chrisErickson Owned by: gregboone
Priority: major Milestone: 3.4.0
Component: MySQL Provider Version: 3.2.0
Severity: 4 Keywords:
Cc: External ID:

Description

I created an InCondition and passed in the Attribute.Name rather than Attribute.QualifiedName. When the command was executed, it gave an AccessViolationException. It should give an indication that the property was not existing.

Change History (5)

comment:1 by chrisErickson, 16 years ago

Excuse me, by Attribute i mean Property

comment:2 by gregboone, 16 years ago

Status: newassigned

Please provide a complete code example that documents this issue.

Which provider was used to reproduce the defect? Which version of the provider?

comment:3 by chrisErickson, 16 years ago

I don't have the time available to provide a standalone code sample, but I can provide the following snippet out of our code:

            ISelect command = (ISelect)_database._connection.CreateCommand(CommandType.CommandType_Select);

            if (_connectionSupportsSelectIn)
                command.Filter = new InCondition(_table._class.Properties[_table.KeyAttribute.Index].Name, values.ToArray());
            
            command.SetFeatureClassName(_table._class.QualifiedName);
            command.Prepare();

            _dataReader = command.Execute();

beacuse the incondition is created with the Name rather than qualifiedname of the property, i was getting the exception on command.Execute().

This was using the MySQL 3.2 provider

comment:4 by gregboone, 16 years ago

Component: FDO APIMySQL Provider

comment:5 by gregboone, 16 years ago

Milestone: 3.3.03.3.1
Note: See TracTickets for help on using tickets.