Opened 17 years ago

Closed 17 years ago

#1687 closed defect (fixed)

SDTS driver and others do not record their datasource names

Reported by: Ari Jolma Owned by: Mateusz Łoskot
Priority: normal Milestone: 1.4.3
Component: OGR_SF Version: unspecified
Severity: normal Keywords:
Cc: warmerdam

Description

This is essentially the same as #1674 (now fixed). This problem are probably in UK .NTF, SDTS, S57, VRT, AVCBin, REC, CSV, GML, KML and OGDI (and possibly others) as they all segfault in this code

my $driver = Geo::OGR::GetDriver($i);
$datasource = $driver->CreateDataSource('.');

Change History (4)

comment:1 by warmerdam, 17 years ago

Cc: warmerdam added
Component: defaultOGR_SF
Milestone: 1.4.3
Owner: changed from warmerdam to Mateusz Łoskot

Mateusz,

Can you pursue this after 1.4.2 is in the can?

comment:2 by Mateusz Łoskot, 17 years ago

Status: newassigned

comment:3 by Mateusz Łoskot, 17 years ago

Ari,

Could you give more complete test case I could see in action?

SDTS driver does not support creation of data source, so your 2-lines sample throws:

RuntimeError CreateDataSource() not supported by this driver.

if called using SDTS driver.

comment:4 by Ari Jolma, 17 years ago

Resolution: fixed
Status: assignedclosed

This seems to be fixed already (in #1674?). I tried:

use Geo::GDAL;
for (0 .. Geo::OGR::GetDriverCount()-1) {
    my $driver = Geo::OGR::GetDriver($_);
    print $driver->GetName," ",$driver->TestCapability($Geo::OGR::ODrCCreateDataSource),"\n";
    next unless $driver->TestCapability($Geo::OGR::ODrCCreateDataSource);
    next if $driver->GetName eq 'PostgreSQL';
    $datasource = $driver->CreateDataSource("$_");
}

and I don't see any problems (other than PostgreSQL reporting that it supports DataSource creation when it seems not to).

Note: See TracTickets for help on using tickets.