| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- "use strict";
- var __defProp = Object.defineProperty;
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
- var __hasOwnProp = Object.prototype.hasOwnProperty;
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
- var __spreadValues = (a, b) => {
- for (var prop in b || (b = {}))
- if (__hasOwnProp.call(b, prop))
- __defNormalProp(a, prop, b[prop]);
- if (__getOwnPropSymbols)
- for (var prop of __getOwnPropSymbols(b)) {
- if (__propIsEnum.call(b, prop))
- __defNormalProp(a, prop, b[prop]);
- }
- return a;
- };
- const MySQLQueryGenerator = require("../mysql/query-generator");
- const Utils = require("./../../utils");
- class MariaDBQueryGenerator extends MySQLQueryGenerator {
- createSchema(schema, options) {
- options = __spreadValues({
- charset: null,
- collate: null
- }, options);
- return Utils.joinSQLFragments([
- "CREATE SCHEMA IF NOT EXISTS",
- this.quoteIdentifier(schema),
- options.charset && `DEFAULT CHARACTER SET ${this.escape(options.charset)}`,
- options.collate && `DEFAULT COLLATE ${this.escape(options.collate)}`,
- ";"
- ]);
- }
- dropSchema(schema) {
- return `DROP SCHEMA IF EXISTS ${this.quoteIdentifier(schema)};`;
- }
- showSchemasQuery(options) {
- const schemasToSkip = [
- "'MYSQL'",
- "'INFORMATION_SCHEMA'",
- "'PERFORMANCE_SCHEMA'"
- ];
- if (options.skip && Array.isArray(options.skip) && options.skip.length > 0) {
- for (const schemaName of options.skip) {
- schemasToSkip.push(this.escape(schemaName));
- }
- }
- return Utils.joinSQLFragments([
- "SELECT SCHEMA_NAME as schema_name",
- "FROM INFORMATION_SCHEMA.SCHEMATA",
- `WHERE SCHEMA_NAME NOT IN (${schemasToSkip.join(", ")})`,
- ";"
- ]);
- }
- showTablesQuery(database) {
- let query = "SELECT TABLE_NAME, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'";
- if (database) {
- query += ` AND TABLE_SCHEMA = ${this.escape(database)}`;
- } else {
- query += " AND TABLE_SCHEMA NOT IN ('MYSQL', 'INFORMATION_SCHEMA', 'PERFORMANCE_SCHEMA')";
- }
- return `${query};`;
- }
- quoteIdentifier(identifier, force) {
- return Utils.addTicks(Utils.removeTicks(identifier, "`"), "`");
- }
- }
- module.exports = MariaDBQueryGenerator;
- //# sourceMappingURL=query-generator.js.map
|