#!/usr/bin/perl
use strict;
use warnings;
use DBI;

# Pfad zur Datenbank
#uk  my $db_file = './output_directory/PersonalPOI/Package/0/default/poidata.db';
my $db_file = '././USB-Stick/PersonalPOI/Package/0/default/poidata.db';

# Verbindung zur Datenbank herstellen
my $dbh = DBI->connect("dbi:SQLite:dbname=$db_file", "", "", { RaiseError => 1, PrintError => 0, AutoCommit => 1 }) or die "Cannot connect to database: $DBI::errstr";

# Prüfen der Tabellenstruktur
my $sth = $dbh->prepare("PRAGMA table_info(poidata)");
$sth->execute();

print "Spalten in poidata:\n";
while (my $row = $sth->fetchrow_hashref) {
    print "Spalte: $row->{name}, Typ: $row->{type}\n";
}

# Verwendung von $sth für eine neue Anfrage
$sth->finish; # Vorherige Anfrage abschließen

# Typen und ihre Eintragsanzahlen abfragen
$sth = $dbh->prepare('SELECT type, COUNT(*) as count FROM poidata GROUP BY type');
$sth->execute();

print "Anzahl der Einträge pro Typ:\n";
while (my $row = $sth->fetchrow_hashref) {
    print "Typ $row->{type} hat $row->{count} Einträge.\n";
}

# Wiederverwendung von $sth für eine weitere Anfrage
$sth->finish; # Vorherige Anfrage abschließen

$sth = $dbh->prepare('SELECT type, namephon as name, phone, city FROM poidata');
$sth->execute();

print "Details zu jedem Eintrag:\n";
while (my $row = $sth->fetchrow_hashref) {
    my $type = $row->{type} // 'n/a';
    my $name = $row->{name} // 'kein Name';
    my $phone = $row->{phone} // 'kein Telefon';
    my $city = $row->{city} // 'keine Stadt';
    print "Typ: $type, Name: $name, Telefon: $phone, Stadt: $city\n";
}

# Verbindung schließen
$dbh->disconnect;

