Opened 13 years ago

Closed 13 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 Changed 13 years ago by warmerdam

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 Changed 13 years ago by Mateusz Łoskot

Status: newassigned

comment:3 Changed 13 years ago by Mateusz Łoskot

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 Changed 13 years ago by Ari Jolma

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.