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

  if (!(cst = gt_rdb_get_indexes((GtRDB*) db, err))) {
    return -1;
  }

  if (!gt_cstr_table_get(cst, "feature_all")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX feature_all "
                             "ON features (start, end, seqid, source, type)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "name_type")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX name_type "
                             "ON types (type_name)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "name_source")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX name_source "
                             "ON sources (source_name)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "feature_seqid")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX feature_seqid "
                             "ON features (seqid)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "name_sequenceregion")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX name_sequenceregion "
                             "ON sequenceregions (sequenceregion_name)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "attribs_value")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX attribs_value "
                             "ON attributes (value)",
                             0,
                             err);

    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "attribs_key")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX attribs_key "
                             "ON attributes (keystr)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "attribs_feature")) {
    stmt = gt_rdb_prepare((GtRDB*) db,
                             "CREATE INDEX attribs_feature "
                             "ON attributes (feature_id)",
                             0,
                             err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }

  if (!gt_cstr_table_get(cst, "parent_id")) {
  stmt = gt_rdb_prepare((GtRDB*) db,
                           "CREATE INDEX parent_id "
                           "ON parents (feature_id)",
                           0,
                           err);
    if (!stmt || (had_err = gt_rdb_stmt_exec(stmt, err)) < 0) {
      gt_rdb_stmt_delete(stmt);
      gt_cstr_table_delete(cst);
      return -1;
    }
    gt_rdb_stmt_delete(stmt);
  }
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl $0x0, 0x1c(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x12d5b6
movq 0x50ea1b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e8a84(%rip), %rsi    # 0x516013
leaq 0x41a1ab(%rip), %rdx    # 0x547741
leaq 0x41adc1(%rip), %rcx    # 0x54835e
leaq 0x419eaa(%rip), %r8     # 0x54744e
movl $0x19e, %r9d            # imm = 0x19E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12d5b8
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c3ff0
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
jne 0x12d5df
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x10(%rsp), %rdi
leaq 0x41ad98(%rip), %rsi    # 0x548383
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d660
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ad88(%rip), %rsi    # 0x54838f
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d635
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d656
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41ad6a(%rip), %rsi    # 0x5483d6
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d6e1
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ad58(%rip), %rsi    # 0x5483e0
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d6b6
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d6d7
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41ad1f(%rip), %rsi    # 0x54840c
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d762
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ad0f(%rip), %rsi    # 0x548418
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d737
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d758
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41acdc(%rip), %rsi    # 0x54844a
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d7e3
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41acce(%rip), %rsi    # 0x548458
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d7b8
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d7d9
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41ac98(%rip), %rsi    # 0x548487
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d864
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ac90(%rip), %rsi    # 0x54849b
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d839
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d85a
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41ac75(%rip), %rsi    # 0x5484e5
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d8e5
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ac67(%rip), %rsi    # 0x5484f3
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d8ba
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d8db
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41ac33(%rip), %rsi    # 0x548524
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d966
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ac23(%rip), %rsi    # 0x548530
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d93b
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d95c
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x41abee(%rip), %rsi    # 0x548560
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d9e7
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41abe2(%rip), %rsi    # 0x548570
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12d9bc
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12d9dd
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
leaq 0x486ef4(%rip), %rsi    # 0x5b48e7
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12da65
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rcx
leaq 0x41ab99(%rip), %rsi    # 0x5485a8
xorl %eax, %eax
movl %eax, %edx
callq 0x1c4240
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12da3d
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4650
movl %eax, 0x1c(%rsp)
cmpl $0x0, %eax
jge 0x12da5b
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movq 0x10(%rsp), %rdi
callq 0xa40d0
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x12da6d
movq 0x8(%rsp), %rdi
callq 0x1c46f0
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)