{
  "type": "File",
  "start": 0,
  "end": 1614,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 65,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1614,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 65,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ClassDeclaration",
        "start": 15,
        "end": 39,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 24
          }
        },
        "id": {
          "type": "Identifier",
          "start": 21,
          "end": 36,
          "loc": {
            "start": {
              "line": 3,
              "column": 6
            },
            "end": {
              "line": 3,
              "column": 21
            },
            "identifierName": "AbstractDialect"
          },
          "name": "AbstractDialect"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 37,
          "end": 39,
          "loc": {
            "start": {
              "line": 3,
              "column": 22
            },
            "end": {
              "line": 3,
              "column": 24
            }
          },
          "body": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 41,
        "end": 1486,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 60,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 41,
          "end": 1485,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 60,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 41,
            "end": 75,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 34
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 41,
              "end": 66,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 25
                }
              },
              "object": {
                "type": "Identifier",
                "start": 41,
                "end": 56,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 0
                  },
                  "end": {
                    "line": 5,
                    "column": 15
                  },
                  "identifierName": "AbstractDialect"
                },
                "name": "AbstractDialect"
              },
              "property": {
                "type": "Identifier",
                "start": 57,
                "end": 66,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 16
                  },
                  "end": {
                    "line": 5,
                    "column": 25
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 67,
              "end": 75,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 26
                },
                "end": {
                  "line": 5,
                  "column": 34
                },
                "identifierName": "supports"
              },
              "name": "supports"
            },
            "computed": false
          },
          "right": {
            "type": "ObjectExpression",
            "start": 78,
            "end": 1485,
            "loc": {
              "start": {
                "line": 5,
                "column": 37
              },
              "end": {
                "line": 60,
                "column": 1
              }
            },
            "properties": [
              {
                "type": "ObjectProperty",
                "start": 82,
                "end": 97,
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 2
                  },
                  "end": {
                    "line": 6,
                    "column": 17
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 82,
                  "end": 91,
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 2
                    },
                    "end": {
                      "line": 6,
                      "column": 11
                    }
                  },
                  "extra": {
                    "rawValue": "DEFAULT",
                    "raw": "'DEFAULT'"
                  },
                  "value": "DEFAULT"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 93,
                  "end": 97,
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 13
                    },
                    "end": {
                      "line": 6,
                      "column": 17
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 101,
                "end": 124,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 2
                  },
                  "end": {
                    "line": 7,
                    "column": 25
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 101,
                  "end": 117,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 2
                    },
                    "end": {
                      "line": 7,
                      "column": 18
                    }
                  },
                  "extra": {
                    "rawValue": "DEFAULT VALUES",
                    "raw": "'DEFAULT VALUES'"
                  },
                  "value": "DEFAULT VALUES"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 119,
                  "end": 124,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 20
                    },
                    "end": {
                      "line": 7,
                      "column": 25
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 128,
                "end": 146,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 2
                  },
                  "end": {
                    "line": 8,
                    "column": 20
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 128,
                  "end": 139,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 2
                    },
                    "end": {
                      "line": 8,
                      "column": 13
                    }
                  },
                  "extra": {
                    "rawValue": "VALUES ()",
                    "raw": "'VALUES ()'"
                  },
                  "value": "VALUES ()"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 141,
                  "end": 146,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 15
                    },
                    "end": {
                      "line": 8,
                      "column": 20
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 150,
                "end": 174,
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 2
                  },
                  "end": {
                    "line": 9,
                    "column": 26
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 150,
                  "end": 167,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 2
                    },
                    "end": {
                      "line": 9,
                      "column": 19
                    }
                  },
                  "extra": {
                    "rawValue": "LIMIT ON UPDATE",
                    "raw": "'LIMIT ON UPDATE'"
                  },
                  "value": "LIMIT ON UPDATE"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 169,
                  "end": 174,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 21
                    },
                    "end": {
                      "line": 9,
                      "column": 26
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 178,
                "end": 202,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 2
                  },
                  "end": {
                    "line": 10,
                    "column": 26
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 178,
                  "end": 196,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 2
                    },
                    "end": {
                      "line": 10,
                      "column": 20
                    }
                  },
                  "extra": {
                    "rawValue": "ON DUPLICATE KEY",
                    "raw": "'ON DUPLICATE KEY'"
                  },
                  "value": "ON DUPLICATE KEY"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 198,
                  "end": 202,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 22
                    },
                    "end": {
                      "line": 10,
                      "column": 26
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 206,
                "end": 226,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 2
                  },
                  "end": {
                    "line": 11,
                    "column": 22
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 206,
                  "end": 219,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 15
                    }
                  },
                  "extra": {
                    "rawValue": "ORDER NULLS",
                    "raw": "'ORDER NULLS'"
                  },
                  "value": "ORDER NULLS"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 221,
                  "end": 226,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 17
                    },
                    "end": {
                      "line": 11,
                      "column": 22
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 230,
                "end": 243,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 2
                  },
                  "end": {
                    "line": 12,
                    "column": 15
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 230,
                  "end": 237,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 2
                    },
                    "end": {
                      "line": 12,
                      "column": 9
                    }
                  },
                  "extra": {
                    "rawValue": "UNION",
                    "raw": "'UNION'"
                  },
                  "value": "UNION"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 239,
                  "end": 243,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 11
                    },
                    "end": {
                      "line": 12,
                      "column": 15
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 247,
                "end": 264,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 2
                  },
                  "end": {
                    "line": 13,
                    "column": 19
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 247,
                  "end": 258,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 2
                    },
                    "end": {
                      "line": 13,
                      "column": 13
                    }
                  },
                  "extra": {
                    "rawValue": "UNION ALL",
                    "raw": "'UNION ALL'"
                  },
                  "value": "UNION ALL"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 260,
                  "end": 264,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 15
                    },
                    "end": {
                      "line": 13,
                      "column": 19
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 324,
                "end": 336,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 2
                  },
                  "end": {
                    "line": 15,
                    "column": 14
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "StringLiteral",
                  "start": 324,
                  "end": 332,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 2
                    },
                    "end": {
                      "line": 15,
                      "column": 10
                    }
                  },
                  "extra": {
                    "rawValue": "IGNORE",
                    "raw": "'IGNORE'"
                  },
                  "value": "IGNORE",
                  "leadingComments": null
                },
                "value": {
                  "type": "StringLiteral",
                  "start": 334,
                  "end": 336,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 12
                    },
                    "end": {
                      "line": 15,
                      "column": 14
                    }
                  },
                  "extra": {
                    "rawValue": "",
                    "raw": "''"
                  },
                  "value": ""
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " What is the dialect's keyword for INSERT IGNORE ",
                    "start": 268,
                    "end": 321,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 2
                      },
                      "end": {
                        "line": 14,
                        "column": 55
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 419,
                "end": 438,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 2
                  },
                  "end": {
                    "line": 18,
                    "column": 21
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 419,
                  "end": 431,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 2
                    },
                    "end": {
                      "line": 18,
                      "column": 14
                    },
                    "identifierName": "returnValues"
                  },
                  "name": "returnValues",
                  "leadingComments": null
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 433,
                  "end": 438,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 16
                    },
                    "end": {
                      "line": 18,
                      "column": 21
                    }
                  },
                  "value": false
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " does the dialect support returning values for inserted/updated fields ",
                    "start": 341,
                    "end": 416,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 2
                      },
                      "end": {
                        "line": 17,
                        "column": 77
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 493,
                "end": 841,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 2
                  },
                  "end": {
                    "line": 30,
                    "column": 3
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 493,
                  "end": 506,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 2
                    },
                    "end": {
                      "line": 21,
                      "column": 15
                    },
                    "identifierName": "autoIncrement"
                  },
                  "name": "autoIncrement",
                  "leadingComments": null
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 508,
                  "end": 841,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 17
                    },
                    "end": {
                      "line": 30,
                      "column": 3
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 617,
                      "end": 638,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 25
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 617,
                        "end": 631,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 18
                          },
                          "identifierName": "identityInsert"
                        },
                        "name": "identityInsert",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 633,
                        "end": 638,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 20
                          },
                          "end": {
                            "line": 23,
                            "column": 25
                          }
                        },
                        "value": false
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": " does the dialect require modification of insert queries when inserting auto increment fields ",
                          "start": 514,
                          "end": 612,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 102
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 735,
                      "end": 753,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 4
                        },
                        "end": {
                          "line": 26,
                          "column": 22
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 735,
                        "end": 747,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 4
                          },
                          "end": {
                            "line": 26,
                            "column": 16
                          },
                          "identifierName": "defaultValue"
                        },
                        "name": "defaultValue",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 749,
                        "end": 753,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 18
                          },
                          "end": {
                            "line": 26,
                            "column": 22
                          }
                        },
                        "value": true
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": " does the dialect support inserting default/null values for autoincrement fields ",
                          "start": 645,
                          "end": 730,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 4
                            },
                            "end": {
                              "line": 25,
                              "column": 89
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 825,
                      "end": 837,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 16
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 825,
                        "end": 831,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 4
                          },
                          "end": {
                            "line": 29,
                            "column": 10
                          },
                          "identifierName": "update"
                        },
                        "name": "update",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 833,
                        "end": 837,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 12
                          },
                          "end": {
                            "line": 29,
                            "column": 16
                          }
                        },
                        "value": true
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": " does the dialect support updating autoincrement fields ",
                          "start": 760,
                          "end": 820,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 28,
                              "column": 64
                            }
                          }
                        }
                      ]
                    }
                  ]
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " features specific to autoIncrement values ",
                    "start": 443,
                    "end": 490,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 2
                      },
                      "end": {
                        "line": 20,
                        "column": 49
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 895,
                "end": 913,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 32,
                    "column": 20
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 895,
                  "end": 906,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 32,
                      "column": 13
                    },
                    "identifierName": "bulkDefault"
                  },
                  "name": "bulkDefault",
                  "leadingComments": null
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 908,
                  "end": 913,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 15
                    },
                    "end": {
                      "line": 32,
                      "column": 20
                    }
                  },
                  "value": false
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " Do we need to say DEFAULT for bulk insert ",
                    "start": 845,
                    "end": 892,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 49
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 963,
                "end": 983,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 2
                  },
                  "end": {
                    "line": 34,
                    "column": 22
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 963,
                  "end": 979,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 2
                    },
                    "end": {
                      "line": 34,
                      "column": 18
                    },
                    "identifierName": "ignoreDuplicates"
                  },
                  "name": "ignoreDuplicates",
                  "leadingComments": null
                },
                "value": {
                  "type": "StringLiteral",
                  "start": 981,
                  "end": 983,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 20
                    },
                    "end": {
                      "line": 34,
                      "column": 22
                    }
                  },
                  "extra": {
                    "rawValue": "",
                    "raw": "''"
                  },
                  "value": ""
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " The dialect's words for INSERT IGNORE ",
                    "start": 917,
                    "end": 960,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 33,
                        "column": 45
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 1044,
                "end": 1068,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 2
                  },
                  "end": {
                    "line": 36,
                    "column": 26
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1044,
                  "end": 1061,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 2
                    },
                    "end": {
                      "line": 36,
                      "column": 19
                    },
                    "identifierName": "updateOnDuplicate"
                  },
                  "name": "updateOnDuplicate",
                  "leadingComments": null
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1063,
                  "end": 1068,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 21
                    },
                    "end": {
                      "line": 36,
                      "column": 26
                    }
                  },
                  "value": false
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " Does the dialect support ON DUPLICATE KEY UPDATE ",
                    "start": 987,
                    "end": 1041,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 2
                      },
                      "end": {
                        "line": 35,
                        "column": 56
                      }
                    }
                  }
                ]
              },
              {
                "type": "ObjectProperty",
                "start": 1072,
                "end": 1086,
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 2
                  },
                  "end": {
                    "line": 37,
                    "column": 16
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1072,
                  "end": 1079,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 2
                    },
                    "end": {
                      "line": 37,
                      "column": 9
                    },
                    "identifierName": "schemas"
                  },
                  "name": "schemas"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1081,
                  "end": 1086,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 11
                    },
                    "end": {
                      "line": 37,
                      "column": 16
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1090,
                "end": 1108,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 2
                  },
                  "end": {
                    "line": 38,
                    "column": 20
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1090,
                  "end": 1102,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 2
                    },
                    "end": {
                      "line": 38,
                      "column": 14
                    },
                    "identifierName": "transactions"
                  },
                  "name": "transactions"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1104,
                  "end": 1108,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 16
                    },
                    "end": {
                      "line": 38,
                      "column": 20
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1112,
                "end": 1153,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 2
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1112,
                  "end": 1130,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 20
                    },
                    "identifierName": "transactionOptions"
                  },
                  "name": "transactionOptions"
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 1132,
                  "end": 1153,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 22
                    },
                    "end": {
                      "line": 41,
                      "column": 3
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 1138,
                      "end": 1149,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 15
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1138,
                        "end": 1142,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 8
                          },
                          "identifierName": "type"
                        },
                        "name": "type"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1144,
                        "end": 1149,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 10
                          },
                          "end": {
                            "line": 40,
                            "column": 15
                          }
                        },
                        "value": false
                      }
                    }
                  ]
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1157,
                "end": 1173,
                "loc": {
                  "start": {
                    "line": 42,
                    "column": 2
                  },
                  "end": {
                    "line": 42,
                    "column": 18
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1157,
                  "end": 1167,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 2
                    },
                    "end": {
                      "line": 42,
                      "column": 12
                    },
                    "identifierName": "migrations"
                  },
                  "name": "migrations"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1169,
                  "end": 1173,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 14
                    },
                    "end": {
                      "line": 42,
                      "column": 18
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1177,
                "end": 1190,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 2
                  },
                  "end": {
                    "line": 43,
                    "column": 15
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1177,
                  "end": 1184,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 43,
                      "column": 9
                    },
                    "identifierName": "upserts"
                  },
                  "name": "upserts"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1186,
                  "end": 1190,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 11
                    },
                    "end": {
                      "line": 43,
                      "column": 15
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1194,
                "end": 1231,
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 2
                  },
                  "end": {
                    "line": 46,
                    "column": 3
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1194,
                  "end": 1205,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 2
                    },
                    "end": {
                      "line": 44,
                      "column": 13
                    },
                    "identifierName": "constraints"
                  },
                  "name": "constraints"
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 1207,
                  "end": 1231,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 15
                    },
                    "end": {
                      "line": 46,
                      "column": 3
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 1213,
                      "end": 1227,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 4
                        },
                        "end": {
                          "line": 45,
                          "column": 18
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1213,
                        "end": 1221,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 12
                          },
                          "identifierName": "restrict"
                        },
                        "name": "restrict"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1223,
                        "end": 1227,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 14
                          },
                          "end": {
                            "line": 45,
                            "column": 18
                          }
                        },
                        "value": true
                      }
                    }
                  ]
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1235,
                "end": 1362,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 2
                  },
                  "end": {
                    "line": 54,
                    "column": 3
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1235,
                  "end": 1240,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 2
                    },
                    "end": {
                      "line": 47,
                      "column": 7
                    },
                    "identifierName": "index"
                  },
                  "name": "index"
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 1242,
                  "end": 1362,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 9
                    },
                    "end": {
                      "line": 54,
                      "column": 3
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 1248,
                      "end": 1261,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 4
                        },
                        "end": {
                          "line": 48,
                          "column": 17
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1248,
                        "end": 1255,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 4
                          },
                          "end": {
                            "line": 48,
                            "column": 11
                          },
                          "identifierName": "collate"
                        },
                        "name": "collate"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1257,
                        "end": 1261,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 13
                          },
                          "end": {
                            "line": 48,
                            "column": 17
                          }
                        },
                        "value": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1267,
                      "end": 1280,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 4
                        },
                        "end": {
                          "line": 49,
                          "column": 17
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1267,
                        "end": 1273,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 4
                          },
                          "end": {
                            "line": 49,
                            "column": 10
                          },
                          "identifierName": "length"
                        },
                        "name": "length"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1275,
                        "end": 1280,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 12
                          },
                          "end": {
                            "line": 49,
                            "column": 17
                          }
                        },
                        "value": false
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1286,
                      "end": 1299,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 17
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1286,
                        "end": 1292,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 4
                          },
                          "end": {
                            "line": 50,
                            "column": 10
                          },
                          "identifierName": "parser"
                        },
                        "name": "parser"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1294,
                        "end": 1299,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 12
                          },
                          "end": {
                            "line": 50,
                            "column": 17
                          }
                        },
                        "value": false
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1305,
                      "end": 1324,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 51,
                          "column": 23
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1305,
                        "end": 1317,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 4
                          },
                          "end": {
                            "line": 51,
                            "column": 16
                          },
                          "identifierName": "concurrently"
                        },
                        "name": "concurrently"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1319,
                        "end": 1324,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 18
                          },
                          "end": {
                            "line": 51,
                            "column": 23
                          }
                        },
                        "value": false
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1330,
                      "end": 1341,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 4
                        },
                        "end": {
                          "line": 52,
                          "column": 15
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1330,
                        "end": 1334,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 4
                          },
                          "end": {
                            "line": 52,
                            "column": 8
                          },
                          "identifierName": "type"
                        },
                        "name": "type"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1336,
                        "end": 1341,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 10
                          },
                          "end": {
                            "line": 52,
                            "column": 15
                          }
                        },
                        "value": false
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1347,
                      "end": 1358,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 4
                        },
                        "end": {
                          "line": 53,
                          "column": 15
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1347,
                        "end": 1352,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 4
                          },
                          "end": {
                            "line": 53,
                            "column": 9
                          },
                          "identifierName": "using"
                        },
                        "name": "using"
                      },
                      "value": {
                        "type": "BooleanLiteral",
                        "start": 1354,
                        "end": 1358,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 11
                          },
                          "end": {
                            "line": 53,
                            "column": 15
                          }
                        },
                        "value": true
                      }
                    }
                  ]
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1366,
                "end": 1390,
                "loc": {
                  "start": {
                    "line": 55,
                    "column": 2
                  },
                  "end": {
                    "line": 55,
                    "column": 26
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1366,
                  "end": 1384,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 2
                    },
                    "end": {
                      "line": 55,
                      "column": 20
                    },
                    "identifierName": "joinTableDependent"
                  },
                  "name": "joinTableDependent"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1386,
                  "end": 1390,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 22
                    },
                    "end": {
                      "line": 55,
                      "column": 26
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1394,
                "end": 1412,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 2
                  },
                  "end": {
                    "line": 56,
                    "column": 20
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1394,
                  "end": 1406,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 2
                    },
                    "end": {
                      "line": 56,
                      "column": 14
                    },
                    "identifierName": "groupedLimit"
                  },
                  "name": "groupedLimit"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1408,
                  "end": 1412,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 16
                    },
                    "end": {
                      "line": 56,
                      "column": 20
                    }
                  },
                  "value": true
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1416,
                "end": 1436,
                "loc": {
                  "start": {
                    "line": 57,
                    "column": 2
                  },
                  "end": {
                    "line": 57,
                    "column": 22
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1416,
                  "end": 1429,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 2
                    },
                    "end": {
                      "line": 57,
                      "column": 15
                    },
                    "identifierName": "indexViaAlter"
                  },
                  "name": "indexViaAlter"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1431,
                  "end": 1436,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 17
                    },
                    "end": {
                      "line": 57,
                      "column": 22
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1440,
                "end": 1451,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 2
                  },
                  "end": {
                    "line": 58,
                    "column": 13
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1440,
                  "end": 1444,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 2
                    },
                    "end": {
                      "line": 58,
                      "column": 6
                    },
                    "identifierName": "JSON"
                  },
                  "name": "JSON"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1446,
                  "end": 1451,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 8
                    },
                    "end": {
                      "line": 58,
                      "column": 13
                    }
                  },
                  "value": false
                }
              },
              {
                "type": "ObjectProperty",
                "start": 1455,
                "end": 1483,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 2
                  },
                  "end": {
                    "line": 59,
                    "column": 30
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1455,
                  "end": 1476,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 2
                    },
                    "end": {
                      "line": 59,
                      "column": 23
                    },
                    "identifierName": "deferrableConstraints"
                  },
                  "name": "deferrableConstraints"
                },
                "value": {
                  "type": "BooleanLiteral",
                  "start": 1478,
                  "end": 1483,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 25
                    },
                    "end": {
                      "line": 59,
                      "column": 30
                    }
                  },
                  "value": false
                }
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1488,
        "end": 1521,
        "loc": {
          "start": {
            "line": 62,
            "column": 0
          },
          "end": {
            "line": 62,
            "column": 33
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1488,
          "end": 1520,
          "loc": {
            "start": {
              "line": 62,
              "column": 0
            },
            "end": {
              "line": 62,
              "column": 32
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1488,
            "end": 1502,
            "loc": {
              "start": {
                "line": 62,
                "column": 0
              },
              "end": {
                "line": 62,
                "column": 14
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1488,
              "end": 1494,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 0
                },
                "end": {
                  "line": 62,
                  "column": 6
                },
                "identifierName": "module"
              },
              "name": "module"
            },
            "property": {
              "type": "Identifier",
              "start": 1495,
              "end": 1502,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 7
                },
                "end": {
                  "line": 62,
                  "column": 14
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1505,
            "end": 1520,
            "loc": {
              "start": {
                "line": 62,
                "column": 17
              },
              "end": {
                "line": 62,
                "column": 32
              },
              "identifierName": "AbstractDialect"
            },
            "name": "AbstractDialect"
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1522,
        "end": 1571,
        "loc": {
          "start": {
            "line": 63,
            "column": 0
          },
          "end": {
            "line": 63,
            "column": 49
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1522,
          "end": 1570,
          "loc": {
            "start": {
              "line": 63,
              "column": 0
            },
            "end": {
              "line": 63,
              "column": 48
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1522,
            "end": 1552,
            "loc": {
              "start": {
                "line": 63,
                "column": 0
              },
              "end": {
                "line": 63,
                "column": 30
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 1522,
              "end": 1536,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 0
                },
                "end": {
                  "line": 63,
                  "column": 14
                }
              },
              "object": {
                "type": "Identifier",
                "start": 1522,
                "end": 1528,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 0
                  },
                  "end": {
                    "line": 63,
                    "column": 6
                  },
                  "identifierName": "module"
                },
                "name": "module"
              },
              "property": {
                "type": "Identifier",
                "start": 1529,
                "end": 1536,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 7
                  },
                  "end": {
                    "line": 63,
                    "column": 14
                  },
                  "identifierName": "exports"
                },
                "name": "exports"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 1537,
              "end": 1552,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 15
                },
                "end": {
                  "line": 63,
                  "column": 30
                },
                "identifierName": "AbstractDialect"
              },
              "name": "AbstractDialect"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1555,
            "end": 1570,
            "loc": {
              "start": {
                "line": 63,
                "column": 33
              },
              "end": {
                "line": 63,
                "column": 48
              },
              "identifierName": "AbstractDialect"
            },
            "name": "AbstractDialect"
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1572,
        "end": 1613,
        "loc": {
          "start": {
            "line": 64,
            "column": 0
          },
          "end": {
            "line": 64,
            "column": 41
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1572,
          "end": 1612,
          "loc": {
            "start": {
              "line": 64,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 40
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1572,
            "end": 1594,
            "loc": {
              "start": {
                "line": 64,
                "column": 0
              },
              "end": {
                "line": 64,
                "column": 22
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 1572,
              "end": 1586,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 0
                },
                "end": {
                  "line": 64,
                  "column": 14
                }
              },
              "object": {
                "type": "Identifier",
                "start": 1572,
                "end": 1578,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 0
                  },
                  "end": {
                    "line": 64,
                    "column": 6
                  },
                  "identifierName": "module"
                },
                "name": "module"
              },
              "property": {
                "type": "Identifier",
                "start": 1579,
                "end": 1586,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 7
                  },
                  "end": {
                    "line": 64,
                    "column": 14
                  },
                  "identifierName": "exports"
                },
                "name": "exports"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 1587,
              "end": 1594,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 15
                },
                "end": {
                  "line": 64,
                  "column": 22
                },
                "identifierName": "default"
              },
              "name": "default"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1597,
            "end": 1612,
            "loc": {
              "start": {
                "line": 64,
                "column": 25
              },
              "end": {
                "line": 64,
                "column": 40
              },
              "identifierName": "AbstractDialect"
            },
            "name": "AbstractDialect"
          }
        }
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "'use strict'",
            "rawValue": "use strict"
          }
        }
      }
    ]
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": " What is the dialect's keyword for INSERT IGNORE ",
      "start": 268,
      "end": 321,
      "loc": {
        "start": {
          "line": 14,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 55
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support returning values for inserted/updated fields ",
      "start": 341,
      "end": 416,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 77
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " features specific to autoIncrement values ",
      "start": 443,
      "end": 490,
      "loc": {
        "start": {
          "line": 20,
          "column": 2
        },
        "end": {
          "line": 20,
          "column": 49
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect require modification of insert queries when inserting auto increment fields ",
      "start": 514,
      "end": 612,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 102
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support inserting default/null values for autoincrement fields ",
      "start": 645,
      "end": 730,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 89
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support updating autoincrement fields ",
      "start": 760,
      "end": 820,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 64
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " Do we need to say DEFAULT for bulk insert ",
      "start": 845,
      "end": 892,
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 49
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " The dialect's words for INSERT IGNORE ",
      "start": 917,
      "end": 960,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 45
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " Does the dialect support ON DUPLICATE KEY UPDATE ",
      "start": 987,
      "end": 1041,
      "loc": {
        "start": {
          "line": 35,
          "column": 2
        },
        "end": {
          "line": 35,
          "column": 56
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 15,
      "end": 20,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 21,
      "end": 36,
      "loc": {
        "start": {
          "line": 3,
          "column": 6
        },
        "end": {
          "line": 3,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 37,
      "end": 38,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 38,
      "end": 39,
      "loc": {
        "start": {
          "line": 3,
          "column": 23
        },
        "end": {
          "line": 3,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 41,
      "end": 56,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 56,
      "end": 57,
      "loc": {
        "start": {
          "line": 5,
          "column": 15
        },
        "end": {
          "line": 5,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 57,
      "end": 66,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 66,
      "end": 67,
      "loc": {
        "start": {
          "line": 5,
          "column": 25
        },
        "end": {
          "line": 5,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "supports",
      "start": 67,
      "end": 75,
      "loc": {
        "start": {
          "line": 5,
          "column": 26
        },
        "end": {
          "line": 5,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 5,
          "column": 35
        },
        "end": {
          "line": 5,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 78,
      "end": 79,
      "loc": {
        "start": {
          "line": 5,
          "column": 37
        },
        "end": {
          "line": 5,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "DEFAULT",
      "start": 82,
      "end": 91,
      "loc": {
        "start": {
          "line": 6,
          "column": 2
        },
        "end": {
          "line": 6,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 91,
      "end": 92,
      "loc": {
        "start": {
          "line": 6,
          "column": 11
        },
        "end": {
          "line": 6,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 93,
      "end": 97,
      "loc": {
        "start": {
          "line": 6,
          "column": 13
        },
        "end": {
          "line": 6,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 97,
      "end": 98,
      "loc": {
        "start": {
          "line": 6,
          "column": 17
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "DEFAULT VALUES",
      "start": 101,
      "end": 117,
      "loc": {
        "start": {
          "line": 7,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 117,
      "end": 118,
      "loc": {
        "start": {
          "line": 7,
          "column": 18
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 119,
      "end": 124,
      "loc": {
        "start": {
          "line": 7,
          "column": 20
        },
        "end": {
          "line": 7,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 124,
      "end": 125,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "VALUES ()",
      "start": 128,
      "end": 139,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 139,
      "end": 140,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 141,
      "end": 146,
      "loc": {
        "start": {
          "line": 8,
          "column": 15
        },
        "end": {
          "line": 8,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 146,
      "end": 147,
      "loc": {
        "start": {
          "line": 8,
          "column": 20
        },
        "end": {
          "line": 8,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "LIMIT ON UPDATE",
      "start": 150,
      "end": 167,
      "loc": {
        "start": {
          "line": 9,
          "column": 2
        },
        "end": {
          "line": 9,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 167,
      "end": 168,
      "loc": {
        "start": {
          "line": 9,
          "column": 19
        },
        "end": {
          "line": 9,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 169,
      "end": 174,
      "loc": {
        "start": {
          "line": 9,
          "column": 21
        },
        "end": {
          "line": 9,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 174,
      "end": 175,
      "loc": {
        "start": {
          "line": 9,
          "column": 26
        },
        "end": {
          "line": 9,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ON DUPLICATE KEY",
      "start": 178,
      "end": 196,
      "loc": {
        "start": {
          "line": 10,
          "column": 2
        },
        "end": {
          "line": 10,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 196,
      "end": 197,
      "loc": {
        "start": {
          "line": 10,
          "column": 20
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 198,
      "end": 202,
      "loc": {
        "start": {
          "line": 10,
          "column": 22
        },
        "end": {
          "line": 10,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 202,
      "end": 203,
      "loc": {
        "start": {
          "line": 10,
          "column": 26
        },
        "end": {
          "line": 10,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ORDER NULLS",
      "start": 206,
      "end": 219,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 219,
      "end": 220,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 221,
      "end": 226,
      "loc": {
        "start": {
          "line": 11,
          "column": 17
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 226,
      "end": 227,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "UNION",
      "start": 230,
      "end": 237,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 237,
      "end": 238,
      "loc": {
        "start": {
          "line": 12,
          "column": 9
        },
        "end": {
          "line": 12,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 239,
      "end": 243,
      "loc": {
        "start": {
          "line": 12,
          "column": 11
        },
        "end": {
          "line": 12,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 243,
      "end": 244,
      "loc": {
        "start": {
          "line": 12,
          "column": 15
        },
        "end": {
          "line": 12,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "UNION ALL",
      "start": 247,
      "end": 258,
      "loc": {
        "start": {
          "line": 13,
          "column": 2
        },
        "end": {
          "line": 13,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 258,
      "end": 259,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 260,
      "end": 264,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 264,
      "end": 265,
      "loc": {
        "start": {
          "line": 13,
          "column": 19
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " What is the dialect's keyword for INSERT IGNORE ",
      "start": 268,
      "end": 321,
      "loc": {
        "start": {
          "line": 14,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "IGNORE",
      "start": 324,
      "end": 332,
      "loc": {
        "start": {
          "line": 15,
          "column": 2
        },
        "end": {
          "line": 15,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 332,
      "end": 333,
      "loc": {
        "start": {
          "line": 15,
          "column": 10
        },
        "end": {
          "line": 15,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 334,
      "end": 336,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 336,
      "end": 337,
      "loc": {
        "start": {
          "line": 15,
          "column": 14
        },
        "end": {
          "line": 15,
          "column": 15
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support returning values for inserted/updated fields ",
      "start": 341,
      "end": 416,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "returnValues",
      "start": 419,
      "end": 431,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 431,
      "end": 432,
      "loc": {
        "start": {
          "line": 18,
          "column": 14
        },
        "end": {
          "line": 18,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 433,
      "end": 438,
      "loc": {
        "start": {
          "line": 18,
          "column": 16
        },
        "end": {
          "line": 18,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 438,
      "end": 439,
      "loc": {
        "start": {
          "line": 18,
          "column": 21
        },
        "end": {
          "line": 18,
          "column": 22
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " features specific to autoIncrement values ",
      "start": 443,
      "end": 490,
      "loc": {
        "start": {
          "line": 20,
          "column": 2
        },
        "end": {
          "line": 20,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "autoIncrement",
      "start": 493,
      "end": 506,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 506,
      "end": 507,
      "loc": {
        "start": {
          "line": 21,
          "column": 15
        },
        "end": {
          "line": 21,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 508,
      "end": 509,
      "loc": {
        "start": {
          "line": 21,
          "column": 17
        },
        "end": {
          "line": 21,
          "column": 18
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect require modification of insert queries when inserting auto increment fields ",
      "start": 514,
      "end": 612,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "identityInsert",
      "start": 617,
      "end": 631,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 631,
      "end": 632,
      "loc": {
        "start": {
          "line": 23,
          "column": 18
        },
        "end": {
          "line": 23,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 633,
      "end": 638,
      "loc": {
        "start": {
          "line": 23,
          "column": 20
        },
        "end": {
          "line": 23,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 638,
      "end": 639,
      "loc": {
        "start": {
          "line": 23,
          "column": 25
        },
        "end": {
          "line": 23,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support inserting default/null values for autoincrement fields ",
      "start": 645,
      "end": 730,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defaultValue",
      "start": 735,
      "end": 747,
      "loc": {
        "start": {
          "line": 26,
          "column": 4
        },
        "end": {
          "line": 26,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 747,
      "end": 748,
      "loc": {
        "start": {
          "line": 26,
          "column": 16
        },
        "end": {
          "line": 26,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 749,
      "end": 753,
      "loc": {
        "start": {
          "line": 26,
          "column": 18
        },
        "end": {
          "line": 26,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 753,
      "end": 754,
      "loc": {
        "start": {
          "line": 26,
          "column": 22
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " does the dialect support updating autoincrement fields ",
      "start": 760,
      "end": 820,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 825,
      "end": 831,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 831,
      "end": 832,
      "loc": {
        "start": {
          "line": 29,
          "column": 10
        },
        "end": {
          "line": 29,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 833,
      "end": 837,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 840,
      "end": 841,
      "loc": {
        "start": {
          "line": 30,
          "column": 2
        },
        "end": {
          "line": 30,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 841,
      "end": 842,
      "loc": {
        "start": {
          "line": 30,
          "column": 3
        },
        "end": {
          "line": 30,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " Do we need to say DEFAULT for bulk insert ",
      "start": 845,
      "end": 892,
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bulkDefault",
      "start": 895,
      "end": 906,
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 32,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 906,
      "end": 907,
      "loc": {
        "start": {
          "line": 32,
          "column": 13
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 908,
      "end": 913,
      "loc": {
        "start": {
          "line": 32,
          "column": 15
        },
        "end": {
          "line": 32,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 913,
      "end": 914,
      "loc": {
        "start": {
          "line": 32,
          "column": 20
        },
        "end": {
          "line": 32,
          "column": 21
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " The dialect's words for INSERT IGNORE ",
      "start": 917,
      "end": 960,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ignoreDuplicates",
      "start": 963,
      "end": 979,
      "loc": {
        "start": {
          "line": 34,
          "column": 2
        },
        "end": {
          "line": 34,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 34,
          "column": 18
        },
        "end": {
          "line": 34,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 981,
      "end": 983,
      "loc": {
        "start": {
          "line": 34,
          "column": 20
        },
        "end": {
          "line": 34,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 983,
      "end": 984,
      "loc": {
        "start": {
          "line": 34,
          "column": 22
        },
        "end": {
          "line": 34,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " Does the dialect support ON DUPLICATE KEY UPDATE ",
      "start": 987,
      "end": 1041,
      "loc": {
        "start": {
          "line": 35,
          "column": 2
        },
        "end": {
          "line": 35,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateOnDuplicate",
      "start": 1044,
      "end": 1061,
      "loc": {
        "start": {
          "line": 36,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1061,
      "end": 1062,
      "loc": {
        "start": {
          "line": 36,
          "column": 19
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1063,
      "end": 1068,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1068,
      "end": 1069,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "schemas",
      "start": 1072,
      "end": 1079,
      "loc": {
        "start": {
          "line": 37,
          "column": 2
        },
        "end": {
          "line": 37,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 37,
          "column": 9
        },
        "end": {
          "line": 37,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1081,
      "end": 1086,
      "loc": {
        "start": {
          "line": 37,
          "column": 11
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1086,
      "end": 1087,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "transactions",
      "start": 1090,
      "end": 1102,
      "loc": {
        "start": {
          "line": 38,
          "column": 2
        },
        "end": {
          "line": 38,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1102,
      "end": 1103,
      "loc": {
        "start": {
          "line": 38,
          "column": 14
        },
        "end": {
          "line": 38,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1104,
      "end": 1108,
      "loc": {
        "start": {
          "line": 38,
          "column": 16
        },
        "end": {
          "line": 38,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1108,
      "end": 1109,
      "loc": {
        "start": {
          "line": 38,
          "column": 20
        },
        "end": {
          "line": 38,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "transactionOptions",
      "start": 1112,
      "end": 1130,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1130,
      "end": 1131,
      "loc": {
        "start": {
          "line": 39,
          "column": 20
        },
        "end": {
          "line": 39,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1132,
      "end": 1133,
      "loc": {
        "start": {
          "line": 39,
          "column": 22
        },
        "end": {
          "line": 39,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 1138,
      "end": 1142,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1142,
      "end": 1143,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1144,
      "end": 1149,
      "loc": {
        "start": {
          "line": 40,
          "column": 10
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1152,
      "end": 1153,
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 41,
          "column": 3
        },
        "end": {
          "line": 41,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "migrations",
      "start": 1157,
      "end": 1167,
      "loc": {
        "start": {
          "line": 42,
          "column": 2
        },
        "end": {
          "line": 42,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1167,
      "end": 1168,
      "loc": {
        "start": {
          "line": 42,
          "column": 12
        },
        "end": {
          "line": 42,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1169,
      "end": 1173,
      "loc": {
        "start": {
          "line": 42,
          "column": 14
        },
        "end": {
          "line": 42,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1173,
      "end": 1174,
      "loc": {
        "start": {
          "line": 42,
          "column": 18
        },
        "end": {
          "line": 42,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "upserts",
      "start": 1177,
      "end": 1184,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 43,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1184,
      "end": 1185,
      "loc": {
        "start": {
          "line": 43,
          "column": 9
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1186,
      "end": 1190,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1190,
      "end": 1191,
      "loc": {
        "start": {
          "line": 43,
          "column": 15
        },
        "end": {
          "line": 43,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 1194,
      "end": 1205,
      "loc": {
        "start": {
          "line": 44,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1205,
      "end": 1206,
      "loc": {
        "start": {
          "line": 44,
          "column": 13
        },
        "end": {
          "line": 44,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1207,
      "end": 1208,
      "loc": {
        "start": {
          "line": 44,
          "column": 15
        },
        "end": {
          "line": 44,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrict",
      "start": 1213,
      "end": 1221,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1221,
      "end": 1222,
      "loc": {
        "start": {
          "line": 45,
          "column": 12
        },
        "end": {
          "line": 45,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1223,
      "end": 1227,
      "loc": {
        "start": {
          "line": 45,
          "column": 14
        },
        "end": {
          "line": 45,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1230,
      "end": 1231,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 46,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1231,
      "end": 1232,
      "loc": {
        "start": {
          "line": 46,
          "column": 3
        },
        "end": {
          "line": 46,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 1235,
      "end": 1240,
      "loc": {
        "start": {
          "line": 47,
          "column": 2
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1240,
      "end": 1241,
      "loc": {
        "start": {
          "line": 47,
          "column": 7
        },
        "end": {
          "line": 47,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1242,
      "end": 1243,
      "loc": {
        "start": {
          "line": 47,
          "column": 9
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "collate",
      "start": 1248,
      "end": 1255,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1255,
      "end": 1256,
      "loc": {
        "start": {
          "line": 48,
          "column": 11
        },
        "end": {
          "line": 48,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1257,
      "end": 1261,
      "loc": {
        "start": {
          "line": 48,
          "column": 13
        },
        "end": {
          "line": 48,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1261,
      "end": 1262,
      "loc": {
        "start": {
          "line": 48,
          "column": 17
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1267,
      "end": 1273,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1273,
      "end": 1274,
      "loc": {
        "start": {
          "line": 49,
          "column": 10
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1275,
      "end": 1280,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1280,
      "end": 1281,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parser",
      "start": 1286,
      "end": 1292,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1292,
      "end": 1293,
      "loc": {
        "start": {
          "line": 50,
          "column": 10
        },
        "end": {
          "line": 50,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1294,
      "end": 1299,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1299,
      "end": 1300,
      "loc": {
        "start": {
          "line": 50,
          "column": 17
        },
        "end": {
          "line": 50,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concurrently",
      "start": 1305,
      "end": 1317,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1319,
      "end": 1324,
      "loc": {
        "start": {
          "line": 51,
          "column": 18
        },
        "end": {
          "line": 51,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1324,
      "end": 1325,
      "loc": {
        "start": {
          "line": 51,
          "column": 23
        },
        "end": {
          "line": 51,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 1330,
      "end": 1334,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1334,
      "end": 1335,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1336,
      "end": 1341,
      "loc": {
        "start": {
          "line": 52,
          "column": 10
        },
        "end": {
          "line": 52,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1341,
      "end": 1342,
      "loc": {
        "start": {
          "line": 52,
          "column": 15
        },
        "end": {
          "line": 52,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "using",
      "start": 1347,
      "end": 1352,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 53,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1352,
      "end": 1353,
      "loc": {
        "start": {
          "line": 53,
          "column": 9
        },
        "end": {
          "line": 53,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1354,
      "end": 1358,
      "loc": {
        "start": {
          "line": 53,
          "column": 11
        },
        "end": {
          "line": 53,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1361,
      "end": 1362,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1362,
      "end": 1363,
      "loc": {
        "start": {
          "line": 54,
          "column": 3
        },
        "end": {
          "line": 54,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "joinTableDependent",
      "start": 1366,
      "end": 1384,
      "loc": {
        "start": {
          "line": 55,
          "column": 2
        },
        "end": {
          "line": 55,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1384,
      "end": 1385,
      "loc": {
        "start": {
          "line": 55,
          "column": 20
        },
        "end": {
          "line": 55,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1386,
      "end": 1390,
      "loc": {
        "start": {
          "line": 55,
          "column": 22
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1390,
      "end": 1391,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "groupedLimit",
      "start": 1394,
      "end": 1406,
      "loc": {
        "start": {
          "line": 56,
          "column": 2
        },
        "end": {
          "line": 56,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1406,
      "end": 1407,
      "loc": {
        "start": {
          "line": 56,
          "column": 14
        },
        "end": {
          "line": 56,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1408,
      "end": 1412,
      "loc": {
        "start": {
          "line": 56,
          "column": 16
        },
        "end": {
          "line": 56,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1412,
      "end": 1413,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexViaAlter",
      "start": 1416,
      "end": 1429,
      "loc": {
        "start": {
          "line": 57,
          "column": 2
        },
        "end": {
          "line": 57,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1429,
      "end": 1430,
      "loc": {
        "start": {
          "line": 57,
          "column": 15
        },
        "end": {
          "line": 57,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1431,
      "end": 1436,
      "loc": {
        "start": {
          "line": 57,
          "column": 17
        },
        "end": {
          "line": 57,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1436,
      "end": 1437,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "JSON",
      "start": 1440,
      "end": 1444,
      "loc": {
        "start": {
          "line": 58,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1444,
      "end": 1445,
      "loc": {
        "start": {
          "line": 58,
          "column": 6
        },
        "end": {
          "line": 58,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1446,
      "end": 1451,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1451,
      "end": 1452,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deferrableConstraints",
      "start": 1455,
      "end": 1476,
      "loc": {
        "start": {
          "line": 59,
          "column": 2
        },
        "end": {
          "line": 59,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1476,
      "end": 1477,
      "loc": {
        "start": {
          "line": 59,
          "column": 23
        },
        "end": {
          "line": 59,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1478,
      "end": 1483,
      "loc": {
        "start": {
          "line": 59,
          "column": 25
        },
        "end": {
          "line": 59,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1484,
      "end": 1485,
      "loc": {
        "start": {
          "line": 60,
          "column": 0
        },
        "end": {
          "line": 60,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1485,
      "end": 1486,
      "loc": {
        "start": {
          "line": 60,
          "column": 1
        },
        "end": {
          "line": 60,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1488,
      "end": 1494,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1494,
      "end": 1495,
      "loc": {
        "start": {
          "line": 62,
          "column": 6
        },
        "end": {
          "line": 62,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1495,
      "end": 1502,
      "loc": {
        "start": {
          "line": 62,
          "column": 7
        },
        "end": {
          "line": 62,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1503,
      "end": 1504,
      "loc": {
        "start": {
          "line": 62,
          "column": 15
        },
        "end": {
          "line": 62,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 1505,
      "end": 1520,
      "loc": {
        "start": {
          "line": 62,
          "column": 17
        },
        "end": {
          "line": 62,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1520,
      "end": 1521,
      "loc": {
        "start": {
          "line": 62,
          "column": 32
        },
        "end": {
          "line": 62,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1522,
      "end": 1528,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 63,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1528,
      "end": 1529,
      "loc": {
        "start": {
          "line": 63,
          "column": 6
        },
        "end": {
          "line": 63,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1529,
      "end": 1536,
      "loc": {
        "start": {
          "line": 63,
          "column": 7
        },
        "end": {
          "line": 63,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1536,
      "end": 1537,
      "loc": {
        "start": {
          "line": 63,
          "column": 14
        },
        "end": {
          "line": 63,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 1537,
      "end": 1552,
      "loc": {
        "start": {
          "line": 63,
          "column": 15
        },
        "end": {
          "line": 63,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1553,
      "end": 1554,
      "loc": {
        "start": {
          "line": 63,
          "column": 31
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 1555,
      "end": 1570,
      "loc": {
        "start": {
          "line": 63,
          "column": 33
        },
        "end": {
          "line": 63,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1570,
      "end": 1571,
      "loc": {
        "start": {
          "line": 63,
          "column": 48
        },
        "end": {
          "line": 63,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1572,
      "end": 1578,
      "loc": {
        "start": {
          "line": 64,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1578,
      "end": 1579,
      "loc": {
        "start": {
          "line": 64,
          "column": 6
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1579,
      "end": 1586,
      "loc": {
        "start": {
          "line": 64,
          "column": 7
        },
        "end": {
          "line": 64,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1586,
      "end": 1587,
      "loc": {
        "start": {
          "line": 64,
          "column": 14
        },
        "end": {
          "line": 64,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 1587,
      "end": 1594,
      "loc": {
        "start": {
          "line": 64,
          "column": 15
        },
        "end": {
          "line": 64,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1595,
      "end": 1596,
      "loc": {
        "start": {
          "line": 64,
          "column": 23
        },
        "end": {
          "line": 64,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDialect",
      "start": 1597,
      "end": 1612,
      "loc": {
        "start": {
          "line": 64,
          "column": 25
        },
        "end": {
          "line": 64,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1612,
      "end": 1613,
      "loc": {
        "start": {
          "line": 64,
          "column": 40
        },
        "end": {
          "line": 64,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1614,
      "end": 1614,
      "loc": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 65,
          "column": 0
        }
      }
    }
  ]
}