// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_init_mysql
int anno_db_gfflike_init_mysql(GT_UNUSED GtRDBVisitor *rdbv, GtRDBMySQL *db,
                               GtError *err)
{
  GtCstrTable *cst = NULL;
  GtStrArray *arr = NULL;
  bool check = true;
  int had_err = 0;
  gt_assert(db);

  cst = gt_rdb_get_tables((GtRDB*) db, err);
  if (!cst) {
    had_err = -1;
  }
  if (!had_err) {
    arr = gt_cstr_table_get_all(cst);
    if (!arr)
      had_err = -1;
  }
  if (!had_err) {
    if (gt_str_array_size(arr) == 0) {
      had_err = anno_db_gfflike_create_tables_mysql(db, err);
    }
  }
  gt_cstr_table_delete(cst);
  gt_str_array_delete(arr);
  if (!had_err)
    had_err = anno_db_gfflike_validate_mysql(db, err, &check);
  if (!had_err && !check) {
    gt_error_set(err, "corrupt database schema: tables are missing");
    had_err = -1;
  }
  if (!had_err) {
    had_err = anno_db_gfflike_create_indexes_mysql(db, err);
  }

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rsi, %rsi
je 0x128a3c
movq %rdx, %rbx
movq %rsi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x17409d
movq %rax, %r12
testq %rax, %rax
je 0x128438
movq %r12, %rdi
callq 0xe8e8e
movq %rax, %r15
testq %rax, %rax
setne %al
jmp 0x12843d
xorl %r15d, %r15d
xorl %eax, %eax
testb %al, %al
je 0x1285e7
movq %r15, %rdi
callq 0x121e78
testq %rax, %rax
je 0x128494
movq %r12, %rdi
callq 0xe9120
movq %r15, %rdi
callq 0x121e8b
movq %r14, %rdi
movq %rbx, %rsi
callq 0x17409d
movq %rax, %r15
testq %rax, %rax
je 0x12860d
leaq 0x2616e5(%rip), %rsi    # 0x389b65
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
setne %r12b
jmp 0x128610
leaq 0x256ac9(%rip), %rsi    # 0x37ef64
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
leaq 0x256c83(%rip), %rsi    # 0x37f159
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
leaq 0x2565a6(%rip), %rsi    # 0x37eab7
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
leaq 0x256c73(%rip), %rsi    # 0x37f1bf
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
leaq 0x256ca8(%rip), %rsi    # 0x37f22b
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
leaq 0x256d16(%rip), %rsi    # 0x37f2cc
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
testq %rax, %rax
je 0x1285e7
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x1285e7
movq %r13, %rdi
callq 0x1741ef
jmp 0x128452
movq %r12, %rdi
callq 0xe9120
movq %r15, %rdi
callq 0x121e8b
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, %r12b
testq %r15, %r15
je 0x128636
testb %r12b, %r12b
je 0x128636
leaq 0x2782d4(%rip), %rsi    # 0x3a08f5
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x12865c
testb %r12b, %r12b
je 0x12865c
leaq 0x256e32(%rip), %rsi    # 0x37f479
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x128682
testb %r12b, %r12b
je 0x128682
leaq 0x27e6a0(%rip), %rsi    # 0x3a6d0d
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x1286a8
testb %r12b, %r12b
je 0x1286a8
leaq 0x25e7d3(%rip), %rsi    # 0x386e66
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
testq %r15, %r15
je 0x1286ce
testb %r12b, %r12b
je 0x1286ce
leaq 0x2ac124(%rip), %rsi    # 0x3d47dd
movq %r15, %rdi
callq 0xe8e61
xorl %ecx, %ecx
testq %rax, %rax
movzbl %r12b, %r12d
cmovel %ecx, %r12d
movq %r15, %rdi
callq 0xe9120
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testq %r15, %r15
je 0x1285fc
testb %r12b, %r12b
je 0x128820
movq %r14, %rdi
movq %rbx, %rsi
callq 0x17407c
testq %rax, %rax
je 0x1285fc
movq %rax, %r15
leaq 0x256c65(%rip), %rsi    # 0x37f370
movq %rax, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x128836
leaq 0x256ca0(%rip), %rsi    # 0x37f3c3
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x128876
leaq 0x256cbe(%rip), %rsi    # 0x37f3f9
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x1288b6
leaq 0x256ce4(%rip), %rsi    # 0x37f437
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x1288f6
leaq 0x256d09(%rip), %rsi    # 0x37f474
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x128936
leaq 0x256d4f(%rip), %rsi    # 0x37f4d2
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x128976
leaq 0x256d76(%rip), %rsi    # 0x37f511
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x1289b2
leaq 0x256d9a(%rip), %rsi    # 0x37f54d
movq %r15, %rdi
callq 0xe8e61
testq %rax, %rax
je 0x1289ea
leaq 0x2c0341(%rip), %rsi    # 0x3e8b0c
movq %r15, %rdi
callq 0xe8e61
xorl %ebp, %ebp
testq %rax, %rax
jne 0x1285fc
leaq 0x256db0(%rip), %rsi    # 0x37f595
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r14
testq %rax, %rax
je 0x128a37
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a37
movq %r14, %rdi
callq 0x1741ef
xorl %ebp, %ebp
jmp 0x1285fc
leaq 0x255cd2(%rip), %rsi    # 0x37e4f9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1019cf
jmp 0x1285fc
leaq 0x256b3f(%rip), %rsi    # 0x37f37c
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x12871c
leaq 0x256b50(%rip), %rsi    # 0x37f3cd
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x128734
leaq 0x256b48(%rip), %rsi    # 0x37f405
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x12874c
leaq 0x256b48(%rip), %rsi    # 0x37f445
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x128764
leaq 0x256b4b(%rip), %rsi    # 0x37f488
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x12877c
leaq 0x256b63(%rip), %rsi    # 0x37f4e0
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x128794
leaq 0x256b64(%rip), %rsi    # 0x37f51d
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x1287ac
leaq 0x256b6c(%rip), %rsi    # 0x37f55d
movq %r14, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x174108
movq %rax, %r12
testq %rax, %rax
je 0x128a22
movq %r12, %rdi
movq %rbx, %rsi
callq 0x1741ce
testl %eax, %eax
js 0x128a22
movq %r12, %rdi
callq 0x1741ef
jmp 0x1287c4
movq %r12, %rdi
callq 0x1741ef
movq %r15, %rdi
callq 0xe9120
jmp 0x1285f7
movq %r14, %rdi
jmp 0x128a25
callq 0x3ade9