Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1894 closed defect (fixed)

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

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

Attachments (1)

Fix1894.patch (495 bytes ) - added by ChristineBao 12 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by ChristineBao, 12 years ago

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.

by ChristineBao, 12 years ago

Attachment: Fix1894.patch added

comment:3 by jng, 12 years ago

Cc: jng added

comment:4 by ChristineBao, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in r6346.

comment:5 by ChristineBao, 12 years ago

Integrate to Jedi2.4 in r6347.

Note: See TracTickets for help on using tickets.