UNPKG

kysely

Version:
61 lines (60 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MysqlQueryCompiler = void 0; const default_query_compiler_js_1 = require("../../query-compiler/default-query-compiler.js"); const ID_WRAP_REGEX = /`/g; class MysqlQueryCompiler extends default_query_compiler_js_1.DefaultQueryCompiler { getCurrentParameterPlaceholder() { return '?'; } getLeftExplainOptionsWrapper() { return ''; } getExplainOptionAssignment() { return '='; } getExplainOptionsDelimiter() { return ' '; } getRightExplainOptionsWrapper() { return ''; } getLeftIdentifierWrapper() { return '`'; } getRightIdentifierWrapper() { return '`'; } sanitizeIdentifier(identifier) { return identifier.replace(ID_WRAP_REGEX, '``'); } visitCreateIndex(node) { this.append('create '); if (node.unique) { this.append('unique '); } this.append('index '); if (node.ifNotExists) { this.append('if not exists '); } this.visitNode(node.name); if (node.using) { this.append(' using '); this.visitNode(node.using); } if (node.table) { this.append(' on '); this.visitNode(node.table); } if (node.columns) { this.append(' ('); this.compileList(node.columns); this.append(')'); } if (node.where) { this.append(' '); this.visitNode(node.where); } } } exports.MysqlQueryCompiler = MysqlQueryCompiler;