Opened 18 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.

Change History (7)

by cwilbur, 18 years ago

Attachment: DropTableDraft.patch added

Draft attempt at fix

comment:1 by cwilbur, 18 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, 18 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.