Opened 17 years ago

Closed 17 years ago

#106 closed defect (fixed)

PostGIS provider cannot delete a feature class

Reported by: cwilbur Owned by: mloskot
Priority: major Milestone: 3.4.0
Component: PostGIS Provider Version: 3.2.0
Severity: 3 Keywords:
Cc: jbirch External ID:

Description

Using an FdoFeatureSchema pSchema from the connection's schema collection, the following code should drop the feature class table (and the associated feature id sequence, if any):

// remove the class from the schema
FdoPtr<FdoClassCollection> pClassColl = pSchema->GetClasses();
FdoPtr<FdoClassDefinition> pClass =
        pClassColl->FindItem(strFullClassName);
if ( pClass )
{
        pClass->Delete();

        // Create the ApplySchema command
        FdoPtr<FdoIApplySchema> pApplySchemaCmd = dynamic_cast<FdoIApplySchema*>(
                m_connection->CreateCommand(FdoCommandType_ApplySchema) );

        // Set the schema and execute the apply schema command
        pApplySchemaCmd->SetFeatureSchema(pSchema);
        pApplySchemaCmd->Execute();
}

Whether the table needs to be empty seems to be under some debate currently. Regardless, the PostGIS provider does not possess this functionality at all.

Attachments (1)

DropTableDraft.patch (11.5 KB ) - added by cwilbur 17 years ago.
Draft attempt at fix

Download all attachments as: .zip

Change History (7)

by cwilbur, 17 years ago

Attachment: DropTableDraft.patch added

Draft attempt at fix

comment:1 by cwilbur, 17 years ago

The DropTableDraft patch is only to provoke discussion - it is definitely not ready to be submitted. I may be pulled away from work on the provider shortly and I wanted to make sure the work I had done so far was captured in case anyone else wanted to tackle this one before I get back to it.

comment:2 by jbirch, 17 years ago

Cc: jbirch added

comment:3 by gregboone, 17 years ago

Milestone: 3.3.03.3.1

comment:4 by mloskot, 17 years ago

See also big patch submitted for review as #318

comment:5 by mloskot, 17 years ago

Patch has been applied to the trunk (r3904). I'm closing it as fixed. Please, reopen if something is still not working well.

comment:6 by mloskot, 17 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.