use strict;
use warnings;
use lib "t/lib";
use SQLiteTest;
use Test::More;
use if -d ".git", "Test::FailWarnings";

my $dbh = connect_ok();

$dbh->do($_) for (

  'CREATE TABLE "twokeys" (
    "artist" integer NOT NULL,
    "cd" integer NOT NULL,
    PRIMARY KEY ("artist", "cd")
  )',

  'CREATE TABLE "fourkeys" (
    "foo" integer NOT NULL,
    "bar" integer NOT NULL,
    "hello" integer NOT NULL,
    "goodbye" integer NOT NULL,
    "sensors" character(10) NOT NULL,
    "read_count" int,
    PRIMARY KEY ("foo", "bar", "hello", "goodbye")
  )',

  'CREATE TABLE "fourkeys_to_twokeys" (
    "f_foo" integer NOT NULL,
    "f_bar" integer NOT NULL,
    "f_hello" integer NOT NULL,
    "f_goodbye" integer NOT NULL,
    "t_artist" integer NOT NULL,
    "t_cd" integer NOT NULL,
    "autopilot" character NOT NULL,
    "pilot_sequence" integer,
    PRIMARY KEY ("f_foo", "f_bar", "f_hello", "f_goodbye", "t_artist", "t_cd")
  )',

  'INSERT INTO fourkeys ( bar, foo, goodbye, hello, read_count, sensors) VALUES ( 1, 1, 1, 1, 1, 1 )',
  'INSERT INTO twokeys ( artist, cd) VALUES ( 1, 1 )',
  'INSERT INTO fourkeys_to_twokeys ( autopilot, f_bar, f_foo, f_goodbye, f_hello, pilot_sequence, t_artist, t_cd) VALUES ( 1, 1, 1, 1, 1, 1, 1, 1 )',
  'DELETE FROM fourkeys_to_twokeys WHERE f_bar = 1 AND f_foo = 1 AND f_goodbye = 1 AND f_hello = 1 AND t_artist = 1 AND t_cd = 1'
);

pass "all done without segfault";

done_testing;
