Ticket #1894 (closed defect: fixed)

Opened 17 months ago

Last modified 17 months ago

ServerDescribeSchema miss extension class if it's not in the first schema

Reported by: ChristineBao Owned by: Christine Bao
Priority: medium Milestone:
Component: Server Version: 2.2.0
Severity: major Keywords:
Cc: jng External ID: 1383979.01

Description

Report from Autodesk QA:
1. Connect to one Oracle provider, assuming it has the following schema:

SchemaA

FeatureClassA1
FeatureClassA2

SchemaB

FeatureClassB1

2. Connect to one SDF provider.
3. Create a join in Oracle connection, set primary class to be SchemaB:FeatureClassB1[[BR]] 4. Execute GetClasses? in Oracle connection, the extension join class SchemaB:FeatureClassB1Extend does not show.
5. If create join in the first schema of Oracle, for example SchemaA:FeatureClass1Extend, the extension class will show in GetClasses? command.

Attachments

Fix1894.patch Download (495 bytes) - added by ChristineBao 17 months ago.

Change History

Changed 17 months ago by ChristineBao

This defect is caused by a bug in describe schema:

ServerDescribeSchema.cpp

                    // get the class collection for this schema
                    FdoPtr<FdoClassCollection> fcc = ffs->GetClasses();
                    FdoInt32 classCount = fcc->GetCount();

                    for (int nClassIndex = 0; nClassIndex < classCount; nClassIndex++)
                    {
                        originalClassDef = fcc->GetItem(nClassIndex);

                        STRING className = (wchar_t*)originalClassDef->GetName();
                        if (className == primClassName)
                        {
                            // get the class definition
                            extClassDefinition = MgServerFeatureUtil::GetMgClassDefinition(originalClassDef, serialize);
                            break;
                        }
                    }

                    break;

As you can see, if the first schema cannot find the matching extension class, it break and will not continue to search.

Changed 17 months ago by ChristineBao

Changed 17 months ago by jng

  • cc jng added

Changed 17 months ago by ChristineBao

  • status changed from new to closed
  • resolution set to fixed

Fixed in r6346.

Changed 17 months ago by ChristineBao

Integrate to Jedi2.4 in r6347.

Note: See TracTickets for help on using tickets.