// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_create_tables_sqlite
static int anno_db_gfflike_create_tables_sqlite(GtRDBSqlite *db, GtError *err)
{
  int had_err = 0;
  GtRDBStmt *stmt;

  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA synchronous=OFF", 0, err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA default_cache_size=256000", 0,
                        err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA cache_size=512000", 0, err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA count_changes=OFF", 0, err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA temp_store=MEMORY", 0, err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db, "PRAGMA journal_mode=MEMORY", 0, err);
  if (!stmt) return -1;
  gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS features "
                           "(id INTEGER PRIMARY KEY AUTOINCREMENT, "
                             "seqid INTEGER NOT NULL "
                             "REFERENCES sequenceregions (sequenceregion_id), "
                           "source INTEGER NOT NULL "
                             "REFERENCES sources (source_id), "
                           "type INTEGER NOT NULL "
                             "REFERENCES types (type_id), "
                           "start INTEGER NOT NULL, "
                           "end INTEGER NOT NULL, "
                           "score REAL NOT NULL, "
                           "strand VARCHAR(1) NOT NULL, "
                           "phase INTEGER NOT NULL, "
                           "is_multi INTEGER NOT NULL, "
                           "is_pseudo INTEGER NOT NULL, "
                           "is_marked INTEGER NOT NULL, "
                           "multi_representative INTEGER NOT NULL)",
                           0, err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS types "
                           "(type_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                           "type_name VARCHAR(255))",
                           0,
                           err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS parents "
                           "(feature_id INTEGER "
                             "REFERENCES features (id), "
                           "parent INTEGER "
                             "REFERENCES features (id), "
                           "PRIMARY KEY (feature_id, parent))",
                           0,
                           err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS sources "
                           "(source_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                           "source_name VARCHAR(255))",
                           0,
                           err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS sequenceregions "
                           "(sequenceregion_id INTEGER "
                             "PRIMARY KEY AUTOINCREMENT, "
                           "sequenceregion_name VARCHAR(255), "
                           "start INTEGER, "
                           "stop INTEGER)",
                           0,
                           err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS attributes "
                           "(feature_id INTEGER "
                             "REFERENCES features (id), "
                           "keystr VARCHAR(255), "
                           "value VARCHAR(255), "
                           "PRIMARY KEY(feature_id, keystr))",
                           0,
                           err);
  if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
    return -1;
  } else gt_rdb_stmt_delete(stmt);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41af08(%rip), %rsi    # 0x54778f
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c8a8
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aee4(%rip), %rsi    # 0x5477a6
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c8e3
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aeca(%rip), %rsi    # 0x5477c7
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c91e
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aea8(%rip), %rsi    # 0x5477e0
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c959
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41ae86(%rip), %rsi    # 0x5477f9
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c994
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41ae64(%rip), %rsi    # 0x547812
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12c9cf
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41ae44(%rip), %rsi    # 0x54782d
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12ca14
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12ca21
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41afdf(%rip), %rsi    # 0x547a1a
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12ca66
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12ca73
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aff2(%rip), %rsi    # 0x547a7f
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12cab8
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12cac5
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41b03c(%rip), %rsi    # 0x547b1b
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12cb0a
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12cb17
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41b055(%rip), %rsi    # 0x547b86
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12cb5c
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12cb66
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41b0a6(%rip), %rsi    # 0x547c26
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12cbab
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12cbb5
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12cbc6
movq (%rsp), %rdi
callq 0x1c46f0
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop