Opened 14 years ago

Last modified 14 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 Changed 14 years ago by chrisErickson

Excuse me, by Attribute i mean Property

comment:2 Changed 14 years ago by gregboone

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 Changed 14 years ago by chrisErickson

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 Changed 14 years ago by gregboone

Component: FDO APIMySQL Provider

comment:5 Changed 14 years ago by gregboone

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