// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_create_tables_mysql
static int anno_db_gfflike_create_tables_mysql(GtRDBMySQL *db, GtError *err)
{
  int had_err = 0;
  GtRDBStmt *stmt;
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE TABLE IF NOT EXISTS features "
                           "(id INTEGER AUTO_INCREMENT PRIMARY KEY, "
                             "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 INTEGER DEFAULT 3 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 AUTO_INCREMENT PRIMARY KEY, "
                           "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 AUTO_INCREMENT PRIMARY KEY, "
                           "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 "
                             "AUTO_INCREMENT PRIMARY KEY, "
                           "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 "
                           "(id INTEGER AUTO_INCREMENT PRIMARY KEY, "
                             "feature_id INTEGER "
                             "REFERENCES features (id), "
                           "keystr VARCHAR(255), "
                           "value VARCHAR(255))",
                           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 0x41ad3b(%rip), %rsi    # 0x547f52
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d242
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d24f
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aede(%rip), %rsi    # 0x548147
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d294
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d2a1
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41a7c4(%rip), %rsi    # 0x547a7f
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d2e6
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d2f3
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aea0(%rip), %rsi    # 0x5481ad
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d338
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d345
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41aeba(%rip), %rsi    # 0x548219
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d38a
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d394
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
leaq 0x41af0c(%rip), %rsi    # 0x5482ba
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x12d3d9
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jge 0x12d3e3
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x12d3f4
movq (%rsp), %rdi
callq 0x1c46f0
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)