You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

dbgate-plugin-mysql

Package Overview
Dependencies
Maintainers
0
Versions
170
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dbgate-plugin-mysql - npm Package Compare versions

Comparing version

to
6.1.3

2

dist/backend.js

@@ -1,1 +0,1 @@

(()=>{var e={994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oracleSplitterOptions=t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!1,queryParameterStyle:null},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}})},464:e=>{var t=Array.isArray;e.exports=t},688:(e,t,n)=>{const a=n(825),s=n(926),{DatabaseAnalyser:r,isTypeString:i,isTypeNumeric:o}=global.DBGATE_PACKAGES["dbgate-tools"];function l(e){return/int\(\d+\)/.test(e)?"int":e}function E({isNullable:e,extra:t,columnName:n,dataType:s,charMaxLength:r,numericPrecision:l,numericScale:E,defaultValue:m,columnComment:N,columnType:c},T){const{quoteDefaultValues:u}=T.__analyserInternals;let p={};const A=a.isString(c)?c.split(" ").map((e=>e.trim().toLowerCase())):[];let S=s;if(r&&i(s))S=`${s}(${r})`;else if(l&&E&&o(s))S=`${s}(${l},${E})`;else{const e=c.match(/^(enum|set)\((.+)\)/i);e?.length&&(S=c,p.options=e[2].split(",").map((e=>e.substring(1,e.length-1))),p.canSelectMultipleOptions="set"==e[1])}return{notNull:!e||"NO"==e||"no"==e,autoIncrement:!(!t||!t.toLowerCase().includes("auto_increment")),columnName:n,columnComment:N,dataType:S,defaultValue:u?(d=m,null==d?d:isNaN(d)||isNaN(parseFloat(d))?a.isString(d)&&d.startsWith("CURRENT_")?d:a.isString(d)&&"NULL"==d?.toUpperCase()?"NULL":a.isString(d)?`'${d.replace("'","\\'")}'`:d:d):m,isUnsigned:A.includes("unsigned"),isZerofill:A.includes("zerofill"),...p};var d}function m(e=[]){return e?.length?e.map((e=>{const t=e.parameterMode?`${e.parameterMode} `:"",n=e.dataType?` ${e.dataType.toUpperCase()}`:"";return t+e.parameterName+n})).join(", "):""}e.exports=class extends r{constructor(e,t,n){super(e,t,n)}createQuery(e,t,n={}){let a=s[e];return a=a.replace("#DATABASE#",this.dbhan.database),super.createQuery(a,t,n)}getRequestedViewNames(e){return this.getRequestedObjectPureNames("views",e)}async _computeSingleObjectId(){const{pureName:e}=this.singleObjectFilter;this.singleObjectId=e}async getViewTexts(e){const t={},n=await this.analyserQuery("viewTexts",["views"]);for(const e of n.rows)t[e.pureName]=`CREATE VIEW \`${e.pureName}\` AS ${e.viewDefinition}`;return t}async _runAnalysis(){this.feedback({analysingMessage:"Loading tables"});const e=await this.analyserQuery("tables",["tables"]);this.feedback({analysingMessage:"Loading columns"});const t=await this.analyserQuery("columns",["tables","views"]);this.feedback({analysingMessage:"Loading primary keys"});const n=await this.analyserQuery("primaryKeys",["tables"]);this.feedback({analysingMessage:"Loading foreign keys"});const s=await this.analyserQuery("foreignKeys",["tables"]);this.feedback({analysingMessage:"Loading views"});const i=await this.analyserQuery("views",["views"]);this.feedback({analysingMessage:"Loading programmables"});const o=await this.analyserQuery("programmables",["procedures","functions"]),N=await this.analyserQuery("parameters",["procedures","functions"]),c=N.rows.filter((e=>"FUNCTION"==e.routineType)).reduce(((e,t)=>(e[t.pureName]||(e[t.pureName]=[]),e[t.pureName].push({...t,dataType:l(t.dataType)}),e)),{}),T=N.rows.filter((e=>"PROCEDURE"==e.routineType)).reduce(((e,t)=>(e[t.pureName]||(e[t.pureName]=[]),e[t.pureName].push({...t,dataType:l(t.dataType)}),e)),{});this.feedback({analysingMessage:"Loading view texts"});const u=await this.getViewTexts(i.rows.map((e=>e.pureName)));this.feedback({analysingMessage:"Loading indexes"});const p=await this.analyserQuery("indexes",["tables"]);this.feedback({analysingMessage:"Loading uniques"}),this.feedback({analysingMessage:"Loading triggers"});const A=await this.analyserQuery("triggers"),S=await this.analyserQuery("uniqueNames",["tables"]);this.feedback({analysingMessage:"Finalizing DB structure"});const d={tables:e.rows.map((e=>({...e,objectId:e.pureName,objectComment:a.isString(e.objectComment)?e.objectComment:void 0,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>E(e,this.driver))),primaryKey:r.extractPrimaryKeys(e,n.rows),foreignKeys:r.extractForeignKeys(e,s.rows),tableRowCount:e.tableRowCount,indexes:a.uniqBy(p.rows.filter((t=>t.tableName==e.pureName&&!S.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...a.pick(e,["constraintName","indexType"]),isUnique:!e.nonUnique,columns:p.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...a.pick(e,["columnName","isDescending"])})))}))),uniques:a.uniqBy(p.rows.filter((t=>t.tableName==e.pureName&&S.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...a.pick(e,["constraintName"]),columns:p.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...a.pick(e,["columnName"])})))})))}))),views:i.rows.map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>E(e,this.driver))),createSql:u[e.pureName],requiresFormat:!0}))),procedures:o.rows.filter((e=>"PROCEDURE"==e.objectType)).map((e=>a.omit(e,["objectType"]))).map((e=>({...e,createSql:`DELIMITER //\n\nCREATE PROCEDURE \`${e.pureName}\`(${m(T[e.pureName])})\n${e.routineDefinition}\n\nDELIMITER ;\n`,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,parameters:T[e.pureName]}))),functions:o.rows.filter((e=>"FUNCTION"==e.objectType)).map((e=>a.omit(e,["objectType"]))).map((e=>({...e,createSql:`CREATE FUNCTION \`${e.pureName}\`(${m(c[e.pureName]?.filter((e=>"RETURN"!==e.parameterMode)))})\nRETURNS ${e.returnDataType} ${"YES"==e.isDeterministic?"DETERMINISTIC":"NOT DETERMINISTIC"}\n${e.routineDefinition}`,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,parameters:c[e.pureName]}))),triggers:A.rows.map((e=>({contentHash:e.modifyDate,pureName:e.triggerName,eventType:e.eventType,triggerTiming:e.triggerTiming,tableName:e.tableName,createSql:`CREATE TRIGGER ${e.triggerName} ${e.triggerTiming} ${e.eventType} ON ${e.tableName} FOR EACH ROW ${e.definition}`})))};return this.feedback({analysingMessage:null}),d}async _getFastSnapshot(){const e=await this.analyserQuery("tableModifications"),t=await this.analyserQuery("procedureModifications"),n=await this.analyserQuery("functionModifications");return{tables:e.rows.filter((e=>"BASE TABLE"==e.objectType)).map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,tableRowCount:e.tableRowCount}))),views:e.rows.filter((e=>"VIEW"==e.objectType)).map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate}))),procedures:t.rows.map((e=>({contentHash:e.Modified,objectId:e.Name,pureName:e.Name}))),functions:n.rows.map((e=>({contentHash:e.Modified,objectId:e.Name,pureName:e.Name})))}}}},378:(e,t,n)=>{const a=n(825),s=n(203),r=n(293),i=n(688),o=n(12),{getLogger:l,createBulkInsertStreamBase:E,makeUniqueColumnNames:m,extractErrorLogData:N}=global.DBGATE_PACKAGES["dbgate-tools"],{MySqlDumper:c}=n(553),T=l("mysqlDriver");let u;function p(e){if(e){const t=e.map((e=>({columnName:e.name})));return m(t),t}return null}function A(e,t){return a.zipObject(t.map((e=>e.columnName)),e)}const S=r.map((e=>({...e,analyserClass:i,async connect(t){const{server:n,port:a,user:s,password:r,database:i,ssl:l,isReadOnly:E,forceRowsAsObjects:m,socketPath:N,authType:c}=t;let T=null;"awsIam"==c&&(T=await u.getAwsIamToken(t));const p={host:"socket"==c?null:n,port:"socket"==c?null:a,socketPath:"socket"==c?N||e.defaultSocketPath:null,user:s,password:T||r,database:i,ssl:"awsIam"==c?l||{rejectUnauthorized:!1}:l,rowsAsArray:!m,supportBigNumbers:!0,bigNumberStrings:!0,dateStrings:!0},A={client:o.createConnection(p),database:i};return E&&await this.query(A,"SET SESSION TRANSACTION READ ONLY"),A},close:e=>new Promise((t=>{e.client.end(t)})),query:(e,t,n)=>null==t||n?.importSqlDump&&(t.trim().startsWith("/*!")||t.trim().startsWith("/*M!"))&&(t.includes("character_set_client")||t.includes("NOTE_VERBOSITY"))?{rows:[],columns:[]}:new Promise(((n,a)=>{e.client.query(t,(function(e,t,s){e&&a(e);const r=p(s);n({rows:t&&r&&t.map&&t.map((e=>A(e,r))),columns:r})}))})),async stream(e,t,n){const a=e.client.query(t);let s=[];a.on("error",(e=>{T.error(N(e),"Stream error");const{message:t}=e;n.info({message:t,line:0,time:new Date,severity:"error"})})).on("fields",(e=>{s=p(e),s&&n.recordset(s)})).on("result",(e=>{e&&e.constructor&&("OkPacket"==e.constructor.name||"ResultSetHeader"==e.constructor.name)?n.info({message:`${e.affectedRows} rows affected`,time:new Date,severity:"info"}):s&&n.row(A(e,s))})).on("end",(()=>{n.done()}))},async readQuery(e,t,n){const a=e.client.query(t),r=new s.PassThrough({objectMode:!0,highWaterMark:100});let i=[];return a.on("error",(e=>{console.error(e),r.end()})).on("fields",(e=>{i=p(e),r.write({__isStreamHeader:!0,...n||{columns:i}})})).on("result",(e=>r.write(A(e,i)))).on("end",(()=>r.end())),r},async getVersion(e){const{rows:t}=await this.query(e,"show variables like 'version'"),n=t[0].Value;if(n){const e=n.match(/(.*)-MariaDB-/);if(e)return{version:n,versionText:`MariaDB ${e[1]}`}}return{version:n,versionText:`MySQL ${n}`}},async listDatabases(e){const{rows:t}=await this.query(e,"show databases");return t.map((e=>({name:e.Database})))},async writeTable(e,t,n){return E(this,s,e,t,n)},async createBackupDumper(e,t){const{outputFile:n,databaseName:a,schemaName:s}=t;return new c({connection:e.client,schema:a||s,outputFile:n})},getAuthTypes(){const e=[{title:"Host and port",name:"hostPort",disabledFields:["socketPath"]},{title:"Socket",name:"socket",disabledFields:["server","port"]}];return u.supportsAwsIam()&&e.push({title:"AWS IAM",name:"awsIam"}),e}})));S.initialize=e=>{u=e.authProxy},e.exports=S},237:(e,t,n)=>{const a=n(378);e.exports={packageName:"dbgate-plugin-mysql",drivers:a,initialize(e){a.initialize(e)}}},925:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tCOLUMN_NAME as columnName,\n\tIS_NULLABLE as isNullable,\n\tDATA_TYPE as dataType,\n\tCHARACTER_MAXIMUM_LENGTH as charMaxLength,\n\tNUMERIC_PRECISION as numericPrecision,\n\tNUMERIC_SCALE as numericScale,\n\tCOLUMN_DEFAULT as defaultValue,\n\tCOLUMN_COMMENT as columnComment,\n\tCOLUMN_TYPE as columnType,\n\tEXTRA as extra\nfrom INFORMATION_SCHEMA.COLUMNS\nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION\norder by ORDINAL_POSITION\n"},958:e=>{e.exports="\nselect \n\tREFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME as constraintName,\n\tREFERENTIAL_CONSTRAINTS.TABLE_NAME as pureName,\n\tREFERENTIAL_CONSTRAINTS.UPDATE_RULE as updateAction,\n\tREFERENTIAL_CONSTRAINTS.DELETE_RULE as deleteAction,\n\tREFERENTIAL_CONSTRAINTS.REFERENCED_TABLE_NAME as refTableName,\n\tKEY_COLUMN_USAGE.COLUMN_NAME as columnName,\n\tKEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME as refColumnName\nfrom INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS\ninner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE \n\ton REFERENTIAL_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME \n\tand REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME\n\tand REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA\nwhere REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and REFERENTIAL_CONSTRAINTS.TABLE_NAME =OBJECT_ID_CONDITION\norder by KEY_COLUMN_USAGE.ORDINAL_POSITION\n"},623:e=>{e.exports="\nSHOW FUNCTION STATUS WHERE Db = '#DATABASE#'\n"},926:(e,t,n)=>{const a=n(925),s=n(97),r=n(916),i=n(958),o=n(697),l=n(864),E=n(474),m=n(990),N=n(746),c=n(623),T=n(171),u=n(913),p=n(332),A=n(377);e.exports={columns:a,tables:s,primaryKeys:r,foreignKeys:i,tableModifications:o,views:l,programmables:m,parameters:p,procedureModifications:N,functionModifications:c,indexes:E,uniqueNames:T,viewTexts:u,triggers:A}},474:e=>{e.exports="\n SELECT \n INDEX_NAME AS constraintName,\n TABLE_NAME AS tableName,\n COLUMN_NAME AS columnName,\n INDEX_TYPE AS indexType,\n NON_UNIQUE AS nonUnique,\n CASE COLLATION\n WHEN 'D' THEN 1\n ELSE 0\n END AS isDescending\n FROM INFORMATION_SCHEMA.STATISTICS\n WHERE TABLE_SCHEMA = '#DATABASE#' AND TABLE_NAME =OBJECT_ID_CONDITION AND INDEX_NAME != 'PRIMARY'\n ORDER BY SEQ_IN_INDEX\n"},332:e=>{e.exports="\nSELECT\n r.ROUTINE_SCHEMA AS schemaName,\n r.SPECIFIC_NAME AS pureName,\n CASE \n WHEN COALESCE(NULLIF(PARAMETER_MODE, ''), 'RETURN') = 'RETURN' THEN 'Return'\n ELSE PARAMETER_NAME\n END AS parameterName,\n p.CHARACTER_MAXIMUM_LENGTH AS charMaxLength,\n p.NUMERIC_PRECISION AS numericPrecision,\n p.NUMERIC_SCALE AS numericScale,\n p.DTD_IDENTIFIER AS dataType,\n COALESCE(NULLIF(PARAMETER_MODE, ''), 'RETURN') AS parameterMode,\n r.ROUTINE_TYPE AS routineType, -- Function or Procedure\n p.ORDINAL_POSITION AS ordinalPosition\nFROM \n information_schema.PARAMETERS p\nJOIN \n information_schema.ROUTINES r\nON \n p.SPECIFIC_NAME = r.SPECIFIC_NAME AND r.ROUTINE_SCHEMA = p.SPECIFIC_SCHEMA\nWHERE \n r.ROUTINE_SCHEMA = '#DATABASE#' AND r.ROUTINE_NAME =OBJECT_ID_CONDITION\nORDER BY\n r.ROUTINE_SCHEMA, r.SPECIFIC_NAME, p.ORDINAL_POSITION\n"},916:e=>{e.exports="select \n\tTABLE_CONSTRAINTS.CONSTRAINT_NAME as constraintName,\n\tTABLE_CONSTRAINTS.TABLE_NAME as pureName,\n\tKEY_COLUMN_USAGE.COLUMN_NAME as columnName\nfrom INFORMATION_SCHEMA.TABLE_CONSTRAINTS\ninner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE \n\ton TABLE_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME \n\t\tand TABLE_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME\n\t\tand TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA\nwhere TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and TABLE_CONSTRAINTS.TABLE_NAME =OBJECT_ID_CONDITION AND TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'PRIMARY KEY'\norder by KEY_COLUMN_USAGE.ORDINAL_POSITION\n"},746:e=>{e.exports="\nSHOW PROCEDURE STATUS WHERE Db = '#DATABASE#'\n"},990:e=>{e.exports="\nselect \n ROUTINE_NAME as pureName,\n ROUTINE_TYPE as objectType,\n COALESCE(LAST_ALTERED, CREATED) as modifyDate,\n DATA_TYPE AS returnDataType,\n ROUTINE_DEFINITION as routineDefinition,\n IS_DETERMINISTIC as isDeterministic\nfrom information_schema.routines\nwhere ROUTINE_SCHEMA = '#DATABASE#' and ROUTINE_NAME =OBJECT_ID_CONDITION\n"},697:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tTABLE_TYPE as objectType,\n\tTABLE_ROWS as tableRowCount,\n\tcase when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate \nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#'\n"},97:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tTABLE_ROWS as tableRowCount,\n\tENGINE as tableEngine,\n\tTABLE_COMMENT as objectComment,\n\tcase when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate \nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#' and (TABLE_TYPE='BASE TABLE' or TABLE_TYPE='SYSTEM VERSIONED') and TABLE_NAME =OBJECT_ID_CONDITION;\n"},377:e=>{e.exports="\nSELECT \n TRIGGER_NAME AS triggerName,\n EVENT_MANIPULATION AS eventType,\n ACTION_TIMING AS triggerTiming,\n EVENT_OBJECT_SCHEMA AS schemaName,\n EVENT_OBJECT_TABLE AS tableName,\n ACTION_STATEMENT AS definition,\n CREATED as modifyDate\nFROM \n INFORMATION_SCHEMA.TRIGGERS\n WHERE EVENT_OBJECT_SCHEMA = '#DATABASE#' AND TRIGGER_NAME =OBJECT_ID_CONDITION\n"},171:e=>{e.exports="\n select CONSTRAINT_NAME as constraintName\n from information_schema.TABLE_CONSTRAINTS\n where CONSTRAINT_SCHEMA = '#DATABASE#' and constraint_type = 'UNIQUE'\n"},913:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n VIEW_DEFINITION as viewDefinition\nfrom information_schema.views \nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION;\n"},864:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n coalesce(UPDATE_TIME, CREATE_TIME) as modifyDate\nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION and TABLE_TYPE = 'VIEW';\n"},197:(e,t,n)=>{const{SqlDumper:a,arrayToHexString:s}=global.DBGATE_PACKAGES["dbgate-tools"];n(464),e.exports=class extends a{transform(e,t){switch(e){case"GROUP:YEAR":case"YEAR":this.put("^year(%c)",t);break;case"MONTH":this.put("^month(%c)",t);break;case"DAY":this.put("^day(%c)",t);break;case"GROUP:MONTH":this.put("^date_format(%c, '%s')",t,"%Y-%m");break;case"GROUP:DAY":this.put("^date_format(%c, '%s')",t,"%Y-%m-%d");break;default:t()}}renameTable(e,t){this.putCmd("^rename ^table %f ^to %i",e,t)}changeColumn(e,t,n){e.notNull||this.fillNewNotNullDefaults({...t,columnName:e.columnName}),this.put("^alter ^table %f ^change ^column %i %i ",e,e.columnName,t.columnName),this.columnDefinition(t),this.inlineConstraints(n),this.endCommand()}autoIncrement(){}specialColumnOptions(e){e.isUnsigned&&this.put("^unsigned "),e.isZerofill&&this.put("^zerofill "),e.autoIncrement&&this.put("^auto_increment ")}columnDefinition(e,t){super.columnDefinition(e,t),e.columnComment&&this.put(" ^comment %v ",e.columnComment)}renameColumn(e,t){this.changeColumn(e,{...e,columnName:t},[])}enableConstraints(e,t){this.putCmd("^set FOREIGN_KEY_CHECKS = %s",t?"1":"0")}comment(e){this.put("/* %s */",e)}beginTransaction(){this.putCmd("^start ^transaction")}selectTableIntoNewTable(e,t){this.putCmd("^create ^table %f (^select * ^from %f)",t,e)}putByteArrayValue(e){this.putRaw(`unhex('${s(e)}')`)}selectScopeIdentity(){this.put("^select ^last_insert_id()")}callableTemplate(e){const t=(e.parameters||[]).filter((e=>"RETURN"!=e.parameterMode)),n=(e,t)=>{this.putCollection(t,e||[],(e=>{"IN"==e.parameterMode?this.putRaw("@"+e.parameterName):this.putRaw("@"+e.parameterName+"Output")}))},a=e=>{for(const t of e||[])"IN"==t.parameterMode&&(this.put("SET @%s = :%s",t.parameterName,t.parameterName),this.endCommand());this.put("&n")};"procedures"==e.objectTypeField&&(a(e.parameters),this.put("^call %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand()),"functions"==e.objectTypeField&&(a(t),this.put("^select %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand())}}},293:(e,t,n)=>{const{driverBase:a}=global.DBGATE_PACKAGES["dbgate-tools"],{mysqlSplitterOptions:s}=n(994),r=n(197),i=["POINT","LINESTRING","POLYGON","GEOMETRY","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMCOLLECTION","GEOMETRYCOLLECTION"],o={rangeSelect:!0,stringEscapeChar:"\\",fallbackDataType:"longtext",enableConstraintsPerTable:!1,anonymousPrimaryKey:!0,explicitDropConstraint:!0,allowMultipleValuesInsert:!0,quoteIdentifier:e=>"`"+e+"`",createColumn:!0,dropColumn:!0,changeColumn:!0,changeAutoIncrement:!0,createIndex:!0,dropIndex:!0,createForeignKey:!0,dropForeignKey:!0,createPrimaryKey:!0,dropPrimaryKey:!0,dropIndexContainsTableSpec:!0,createUnique:!0,dropUnique:!0,createCheck:!0,dropCheck:!0,dropReferencesWhenDropTable:!1,requireStandaloneSelectForScopeIdentity:!0,columnProperties:{columnComment:!0,isUnsigned:!0,isZerofill:!0},predefinedDataTypes:["char(20)","varchar(250)","binary(250)","varbinary(250)","tinyblob","tinytext","text(1000)","blob(1000)","mediumtext","mediumblob","longtext","longblob","enum('val1','val2','val3')","set('val1','val2','val3')","bit(32)","tinyint","bool","smallint","mediumint","int","bigint","float","double","decimal","date","datetime","timestamp","time","year"],createColumnViewExpression(e,t,n,a){if(t&&i.includes(t.toUpperCase()))return{exprType:"call",func:"ST_AsText",alias:a||e,args:[{exprType:"column",columnName:e,source:n}]}},getSupportedEngines:()=>[],getTableFormOptions(e){return[{type:"dropdowntext",options:this.getSupportedEngines(),label:"Engine",name:"tableEngine",sqlFormatString:"^engine = %s"},{type:"text",label:"Comment",name:"objectComment",sqlFormatString:"^comment = %v",allowEmptyValue:!0}]}},l={...o,getSupportedEngines:()=>["InnoDB","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MYISAM","NDB","EXAMPLE","PERFORMANCE_SCHEMA","SEQUENCE","SPIDER","ROCKSDB","TokuDB"]},E={...a,showConnectionField:(e,t)=>!!["authType","user","defaultDatabase","singleDatabase","isReadOnly"].includes(e)||("awsIam"==t.authType?["awsRegion","secretAccessKey","accessKeyId","server","port"].includes(e):!!["password"].includes(e)||("socket"==t.authType?["socketPath"].includes(e):["server","port"].includes(e))),dumperClass:r,defaultPort:3306,getQuerySplitterOptions:e=>"editor"==e?{...s,ignoreComments:!0,preventSingleLineSplit:!0}:s,readOnlySessions:!0,supportsDatabaseDump:!0,authTypeLabel:"Connection mode",defaultAuthTypeName:"hostPort",defaultSocketPath:"/var/run/mysqld/mysqld.sock",supportsTransactions:!0,getNewObjectTemplates:()=>[{label:"New view",sql:"CREATE VIEW myview\nAS\nSELECT * FROM table1"},{label:"New procedure",sql:"DELIMITER //\n\nCREATE PROCEDURE myproc (IN arg1 INT)\nBEGIN\n SELECT * FROM table1;\nEND\n\nDELIMITER ;"},{label:"New function",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"}]},m={...E,dialect:l,engine:"mysql@dbgate-plugin-mysql",title:"MySQL",__analyserInternals:{quoteDefaultValues:!0}},N={...o,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},c={...E,dialect:N,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[m,c]},553:e=>{"use strict";e.exports=require("antares-mysql-dumper")},825:e=>{"use strict";e.exports=require("lodash")},12:e=>{"use strict";e.exports=require("mysql2")},203:e=>{"use strict";e.exports=require("stream")}},t={},n=function n(a){var s=t[a];if(void 0!==s)return s.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}(237);module.exports=n})();
(()=>{var e={994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oracleSplitterOptions=t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,skipSeparatorBeginEnd:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!1,queryParameterStyle:null},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{skipSeparatorBeginEnd:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}})},464:e=>{var t=Array.isArray;e.exports=t},688:(e,t,n)=>{const a=n(825),s=n(926),{DatabaseAnalyser:r,isTypeString:i,isTypeNumeric:o}=global.DBGATE_PACKAGES["dbgate-tools"];function E(e){return/int\(\d+\)/.test(e)?"int":e}function l({isNullable:e,extra:t,columnName:n,dataType:s,charMaxLength:r,numericPrecision:E,numericScale:l,defaultValue:N,columnComment:T,columnType:m},c){const{quoteDefaultValues:A}=c.__analyserInternals;let u={};const p=a.isString(m)?m.split(" ").map((e=>e.trim().toLowerCase())):[];let S=s;if(r&&i(s))S=`${s}(${r})`;else if(E&&l&&o(s))S=`${s}(${E},${l})`;else{const e=m.match(/^(enum|set)\((.+)\)/i);e?.length&&(S=m,u.options=e[2].split(",").map((e=>e.substring(1,e.length-1))),u.canSelectMultipleOptions="set"==e[1])}return{notNull:!e||"NO"==e||"no"==e,autoIncrement:!(!t||!t.toLowerCase().includes("auto_increment")),columnName:n,columnComment:T,dataType:S,defaultValue:A?(I=N,null==I?I:isNaN(I)||isNaN(parseFloat(I))?a.isString(I)&&I.startsWith("CURRENT_")?I:a.isString(I)&&"NULL"==I?.toUpperCase()?"NULL":a.isString(I)?`'${I.replace("'","\\'")}'`:I:I):N,isUnsigned:p.includes("unsigned"),isZerofill:p.includes("zerofill"),...u};var I}function N(e=[]){return e?.length?e.map((e=>{const t=e.parameterMode?`${e.parameterMode} `:"",n=e.dataType?` ${e.dataType.toUpperCase()}`:"";return t+e.parameterName+n})).join(", "):""}e.exports=class extends r{constructor(e,t,n){super(e,t,n)}createQuery(e,t,n={}){let a=s[e];return a=a.replace("#DATABASE#",this.dbhan.database),super.createQuery(a,t,n)}getRequestedViewNames(e){return this.getRequestedObjectPureNames("views",e)}async _computeSingleObjectId(){const{pureName:e}=this.singleObjectFilter;this.singleObjectId=e}async getViewTexts(e){const t={},n=await this.analyserQuery("viewTexts",["views"]);for(const e of n.rows)t[e.pureName]=`CREATE VIEW \`${e.pureName}\` AS ${e.viewDefinition}`;return t}async _runAnalysis(){this.feedback({analysingMessage:"Loading tables"});const e=await this.analyserQuery("tables",["tables"]);this.feedback({analysingMessage:"Loading columns"});const t=await this.analyserQuery("columns",["tables","views"]);this.feedback({analysingMessage:"Loading primary keys"});const n=await this.analyserQuery("primaryKeys",["tables"]);this.feedback({analysingMessage:"Loading foreign keys"});const s=await this.analyserQuery("foreignKeys",["tables"]);this.feedback({analysingMessage:"Loading views"});const i=await this.analyserQuery("views",["views"]);this.feedback({analysingMessage:"Loading programmables"});const o=await this.analyserQuery("programmables",["procedures","functions"]),T=await this.analyserQuery("parameters",["procedures","functions"]),m=T.rows.filter((e=>"FUNCTION"==e.routineType)).reduce(((e,t)=>(e[t.pureName]||(e[t.pureName]=[]),e[t.pureName].push({...t,dataType:E(t.dataType)}),e)),{}),c=T.rows.filter((e=>"PROCEDURE"==e.routineType)).reduce(((e,t)=>(e[t.pureName]||(e[t.pureName]=[]),e[t.pureName].push({...t,dataType:E(t.dataType)}),e)),{});this.feedback({analysingMessage:"Loading view texts"});const A=await this.getViewTexts(i.rows.map((e=>e.pureName)));this.feedback({analysingMessage:"Loading indexes"});const u=await this.analyserQuery("indexes",["tables"]);this.feedback({analysingMessage:"Loading uniques"}),this.feedback({analysingMessage:"Loading triggers"});const p=await this.analyserQuery("triggers");this.feedback({analysingMessage:"Loading scehduler events"});const S=await this.analyserQuery("schedulerEvents"),I=await this.analyserQuery("uniqueNames",["tables"]);this.feedback({analysingMessage:"Finalizing DB structure"});const d={tables:e.rows.map((e=>({...e,objectId:e.pureName,objectComment:a.isString(e.objectComment)?e.objectComment:void 0,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>l(e,this.driver))),primaryKey:r.extractPrimaryKeys(e,n.rows),foreignKeys:r.extractForeignKeys(e,s.rows),tableRowCount:e.tableRowCount,indexes:a.uniqBy(u.rows.filter((t=>t.tableName==e.pureName&&!I.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...a.pick(e,["constraintName","indexType"]),isUnique:!e.nonUnique,columns:u.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...a.pick(e,["columnName","isDescending"])})))}))),uniques:a.uniqBy(u.rows.filter((t=>t.tableName==e.pureName&&I.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...a.pick(e,["constraintName"]),columns:u.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...a.pick(e,["columnName"])})))})))}))),views:i.rows.map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>l(e,this.driver))),createSql:A[e.pureName],requiresFormat:!0}))),procedures:o.rows.filter((e=>"PROCEDURE"==e.objectType)).map((e=>a.omit(e,["objectType"]))).map((e=>({...e,createSql:`DELIMITER //\n\nCREATE PROCEDURE \`${e.pureName}\`(${N(c[e.pureName])})\n${e.routineDefinition}\n\nDELIMITER ;\n`,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,parameters:c[e.pureName]}))),functions:o.rows.filter((e=>"FUNCTION"==e.objectType)).map((e=>a.omit(e,["objectType"]))).map((e=>({...e,createSql:`CREATE FUNCTION \`${e.pureName}\`(${N(m[e.pureName]?.filter((e=>"RETURN"!==e.parameterMode)))})\nRETURNS ${e.returnDataType} ${"YES"==e.isDeterministic?"DETERMINISTIC":"NOT DETERMINISTIC"}\n${e.routineDefinition}`,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,parameters:m[e.pureName]}))),triggers:p.rows.map((e=>({contentHash:e.modifyDate,pureName:e.triggerName,eventType:e.eventType,triggerTiming:e.triggerTiming,tableName:e.tableName,createSql:`CREATE TRIGGER ${e.triggerName} ${e.triggerTiming} ${e.eventType} ON ${e.tableName} FOR EACH ROW ${e.definition}`}))),schedulerEvents:S.rows.map((e=>({contentHash:a.isDate(e.LAST_ALTERED)?e.LAST_ALTERED.toISOString():e.LAST_ALTERED,pureName:e.EVENT_NAME,createSql:e.CREATE_SQL,objectId:e.EVENT_NAME,intervalValue:e.INTERVAL_VALUE,intervalField:e.INTERVAL_FIELD,starts:e.STARTS,status:e.STATUS,executeAt:e.EXECUTE_AT,lastExecuted:e.LAST_EXECUTED,eventType:e.EVENT_TYPE,definer:e.DEFINER,objectTypeField:"schedulerEvents"})))};return this.feedback({analysingMessage:null}),d}async _getFastSnapshot(){const e=await this.analyserQuery("tableModifications"),t=await this.analyserQuery("procedureModifications"),n=await this.analyserQuery("functionModifications"),s=await this.analyserQuery("schedulerEvents");return{tables:e.rows.filter((e=>"BASE TABLE"==e.objectType)).map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,tableRowCount:e.tableRowCount}))),views:e.rows.filter((e=>"VIEW"==e.objectType)).map((e=>({...e,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate}))),procedures:t.rows.map((e=>({contentHash:e.Modified,objectId:e.Name,pureName:e.Name}))),functions:n.rows.map((e=>({contentHash:e.Modified,objectId:e.Name,pureName:e.Name}))),schedulerEvents:s.rows.map((e=>({contentHash:a.isDate(e.LAST_ALTERED)?e.LAST_ALTERED.toISOString():e.LAST_ALTERED,pureName:e.EVENT_NAME,createSql:e.CREATE_SQL,objectId:e.EVENT_NAME,intervalValue:e.INTERVAL_VALUE,intervalField:e.INTERVAL_FIELD,starts:e.STARTS,status:e.STATUS,executeAt:e.EXECUTE_AT,lastExecuted:e.LAST_EXECUTED,eventType:e.EVENT_TYPE,definer:e.DEFINER,objectTypeField:"schedulerEvents"})))}}}},378:(e,t,n)=>{const a=n(825),s=n(203),r=n(293),i=n(688),o=n(12),{getLogger:E,createBulkInsertStreamBase:l,makeUniqueColumnNames:N,extractErrorLogData:T}=global.DBGATE_PACKAGES["dbgate-tools"],{MySqlDumper:m}=n(553),c=E("mysqlDriver");let A;function u(e){if(e){const t=e.map((e=>({columnName:e.name})));return N(t),t}return null}function p(e,t){return a.zipObject(t.map((e=>e.columnName)),e)}const S=r.map((e=>({...e,analyserClass:i,async connect(t){const{server:n,port:a,user:s,password:r,database:i,ssl:E,isReadOnly:l,forceRowsAsObjects:N,socketPath:T,authType:m}=t;let c=null;"awsIam"==m&&(c=await A.getAwsIamToken(t));const u={host:"socket"==m?null:n,port:"socket"==m?null:a,socketPath:"socket"==m?T||e.defaultSocketPath:null,user:s,password:c||r,database:i,ssl:"awsIam"==m?E||{rejectUnauthorized:!1}:E,rowsAsArray:!N,supportBigNumbers:!0,bigNumberStrings:!0,dateStrings:!0},p={client:o.createConnection(u),database:i};return l&&await this.query(p,"SET SESSION TRANSACTION READ ONLY"),p},close:e=>new Promise((t=>{e.client.end(t)})),query:(e,t,n)=>null==t||n?.importSqlDump&&(t.trim().startsWith("/*!")||t.trim().startsWith("/*M!"))&&(t.includes("character_set_client")||t.includes("NOTE_VERBOSITY"))?{rows:[],columns:[]}:new Promise(((n,a)=>{e.client.query(t,(function(e,t,s){e&&a(e);const r=u(s);n({rows:t&&r&&t.map&&t.map((e=>p(e,r))),columns:r})}))})),async stream(e,t,n){const a=e.client.query(t);let s=[];a.on("error",(e=>{c.error(T(e),"Stream error");const{message:t}=e;n.info({message:t,line:0,time:new Date,severity:"error"})})).on("fields",(e=>{s=u(e),s&&n.recordset(s)})).on("result",(e=>{e&&e.constructor&&("OkPacket"==e.constructor.name||"ResultSetHeader"==e.constructor.name)?n.info({message:`${e.affectedRows} rows affected`,time:new Date,severity:"info"}):s&&n.row(p(e,s))})).on("end",(()=>{n.done()}))},async readQuery(e,t,n){const a=e.client.query(t),r=new s.PassThrough({objectMode:!0,highWaterMark:100});let i=[];return a.on("error",(e=>{console.error(e),r.end()})).on("fields",(e=>{i=u(e),r.write({__isStreamHeader:!0,...n||{columns:i}})})).on("result",(e=>r.write(p(e,i)))).on("end",(()=>r.end())),r},async getVersion(e){const{rows:t}=await this.query(e,"show variables like 'version'"),n=t[0].Value;if(n){const e=n.match(/(.*)-MariaDB-/);if(e)return{version:n,versionText:`MariaDB ${e[1]}`}}return{version:n,versionText:`MySQL ${n}`}},async listDatabases(e){const{rows:t}=await this.query(e,"show databases");return t.map((e=>({name:e.Database})))},async writeTable(e,t,n){return l(this,s,e,t,n)},async createBackupDumper(e,t){const{outputFile:n,databaseName:a,schemaName:s}=t;return new m({connection:e.client,schema:a||s,outputFile:n})},getAuthTypes(){const e=[{title:"Host and port",name:"hostPort",disabledFields:["socketPath"]},{title:"Socket",name:"socket",disabledFields:["server","port"]}];return A.supportsAwsIam()&&e.push({title:"AWS IAM",name:"awsIam"}),e}})));S.initialize=e=>{A=e.authProxy},e.exports=S},237:(e,t,n)=>{const a=n(378);e.exports={packageName:"dbgate-plugin-mysql",drivers:a,initialize(e){a.initialize(e)}}},925:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tCOLUMN_NAME as columnName,\n\tIS_NULLABLE as isNullable,\n\tDATA_TYPE as dataType,\n\tCHARACTER_MAXIMUM_LENGTH as charMaxLength,\n\tNUMERIC_PRECISION as numericPrecision,\n\tNUMERIC_SCALE as numericScale,\n\tCOLUMN_DEFAULT as defaultValue,\n\tCOLUMN_COMMENT as columnComment,\n\tCOLUMN_TYPE as columnType,\n\tEXTRA as extra\nfrom INFORMATION_SCHEMA.COLUMNS\nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION\norder by ORDINAL_POSITION\n"},958:e=>{e.exports="\nselect \n\tREFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME as constraintName,\n\tREFERENTIAL_CONSTRAINTS.TABLE_NAME as pureName,\n\tREFERENTIAL_CONSTRAINTS.UPDATE_RULE as updateAction,\n\tREFERENTIAL_CONSTRAINTS.DELETE_RULE as deleteAction,\n\tREFERENTIAL_CONSTRAINTS.REFERENCED_TABLE_NAME as refTableName,\n\tKEY_COLUMN_USAGE.COLUMN_NAME as columnName,\n\tKEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME as refColumnName\nfrom INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS\ninner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE \n\ton REFERENTIAL_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME \n\tand REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME\n\tand REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA\nwhere REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and REFERENTIAL_CONSTRAINTS.TABLE_NAME =OBJECT_ID_CONDITION\norder by KEY_COLUMN_USAGE.ORDINAL_POSITION\n"},623:e=>{e.exports="\nSHOW FUNCTION STATUS WHERE Db = '#DATABASE#'\n"},926:(e,t,n)=>{const a=n(925),s=n(97),r=n(916),i=n(958),o=n(697),E=n(864),l=n(474),N=n(990),T=n(746),m=n(623),c=n(171),A=n(913),u=n(332),p=n(377),S=n(262);e.exports={columns:a,tables:s,primaryKeys:r,foreignKeys:i,tableModifications:o,views:E,programmables:N,parameters:u,procedureModifications:T,functionModifications:m,indexes:l,uniqueNames:c,viewTexts:A,triggers:p,schedulerEvents:S}},474:e=>{e.exports="\n SELECT \n INDEX_NAME AS constraintName,\n TABLE_NAME AS tableName,\n COLUMN_NAME AS columnName,\n INDEX_TYPE AS indexType,\n NON_UNIQUE AS nonUnique,\n CASE COLLATION\n WHEN 'D' THEN 1\n ELSE 0\n END AS isDescending\n FROM INFORMATION_SCHEMA.STATISTICS\n WHERE TABLE_SCHEMA = '#DATABASE#' AND TABLE_NAME =OBJECT_ID_CONDITION AND INDEX_NAME != 'PRIMARY'\n ORDER BY SEQ_IN_INDEX\n"},332:e=>{e.exports="\nSELECT\n r.ROUTINE_SCHEMA AS schemaName,\n r.SPECIFIC_NAME AS pureName,\n CASE \n WHEN COALESCE(NULLIF(PARAMETER_MODE, ''), 'RETURN') = 'RETURN' THEN 'Return'\n ELSE PARAMETER_NAME\n END AS parameterName,\n p.CHARACTER_MAXIMUM_LENGTH AS charMaxLength,\n p.NUMERIC_PRECISION AS numericPrecision,\n p.NUMERIC_SCALE AS numericScale,\n p.DTD_IDENTIFIER AS dataType,\n COALESCE(NULLIF(PARAMETER_MODE, ''), 'RETURN') AS parameterMode,\n r.ROUTINE_TYPE AS routineType, -- Function or Procedure\n p.ORDINAL_POSITION AS ordinalPosition\nFROM \n information_schema.PARAMETERS p\nJOIN \n information_schema.ROUTINES r\nON \n p.SPECIFIC_NAME = r.SPECIFIC_NAME AND r.ROUTINE_SCHEMA = p.SPECIFIC_SCHEMA\nWHERE \n r.ROUTINE_SCHEMA = '#DATABASE#' AND r.ROUTINE_NAME =OBJECT_ID_CONDITION\nORDER BY\n r.ROUTINE_SCHEMA, r.SPECIFIC_NAME, p.ORDINAL_POSITION\n"},916:e=>{e.exports="select \n\tTABLE_CONSTRAINTS.CONSTRAINT_NAME as constraintName,\n\tTABLE_CONSTRAINTS.TABLE_NAME as pureName,\n\tKEY_COLUMN_USAGE.COLUMN_NAME as columnName\nfrom INFORMATION_SCHEMA.TABLE_CONSTRAINTS\ninner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE \n\ton TABLE_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME \n\t\tand TABLE_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME\n\t\tand TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA\nwhere TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and TABLE_CONSTRAINTS.TABLE_NAME =OBJECT_ID_CONDITION AND TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'PRIMARY KEY'\norder by KEY_COLUMN_USAGE.ORDINAL_POSITION\n"},746:e=>{e.exports="\nSHOW PROCEDURE STATUS WHERE Db = '#DATABASE#'\n"},990:e=>{e.exports="\nselect \n ROUTINE_NAME as pureName,\n ROUTINE_TYPE as objectType,\n COALESCE(LAST_ALTERED, CREATED) as modifyDate,\n DATA_TYPE AS returnDataType,\n ROUTINE_DEFINITION as routineDefinition,\n IS_DETERMINISTIC as isDeterministic\nfrom information_schema.routines\nwhere ROUTINE_SCHEMA = '#DATABASE#' and ROUTINE_NAME =OBJECT_ID_CONDITION\n"},262:e=>{e.exports="\nSELECT \n EVENT_SCHEMA,\n EVENT_NAME,\n DEFINER,\n EVENT_TYPE,\n EXECUTE_AT,\n INTERVAL_VALUE,\n INTERVAL_FIELD,\n CREATED,\n LAST_EXECUTED,\n LAST_ALTERED,\n STARTS,\n ENDS,\n STATUS,\n ON_COMPLETION,\n CONCAT(\n 'CREATE EVENT `', EVENT_NAME, '` ',\n CASE WHEN EVENT_TYPE = 'RECURRING' THEN\n 'ON SCHEDULE EVERY ' \n ELSE 'ON SCHEDULE AT ' \n END,\n CASE WHEN EVENT_TYPE = 'RECURRING' THEN \n CONCAT(INTERVAL_VALUE, ' ', INTERVAL_FIELD)\n ELSE DATE_FORMAT(EXECUTE_AT, '%Y-%m-%d %H:%i:%s') \n END,\n ' DO ',\n EVENT_DEFINITION\n ) AS CREATE_SQL\nFROM INFORMATION_SCHEMA.EVENTS\nWHERE EVENT_SCHEMA = '#DATABASE#' AND EVENT_NAME =OBJECT_ID_CONDITION\n"},697:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tTABLE_TYPE as objectType,\n\tTABLE_ROWS as tableRowCount,\n\tcase when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate \nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#'\n"},97:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n\tTABLE_ROWS as tableRowCount,\n\tENGINE as tableEngine,\n\tTABLE_COMMENT as objectComment,\n\tcase when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate \nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#' and (TABLE_TYPE='BASE TABLE' or TABLE_TYPE='SYSTEM VERSIONED') and TABLE_NAME =OBJECT_ID_CONDITION;\n"},377:e=>{e.exports="\nSELECT \n TRIGGER_NAME AS triggerName,\n EVENT_MANIPULATION AS eventType,\n ACTION_TIMING AS triggerTiming,\n EVENT_OBJECT_SCHEMA AS schemaName,\n EVENT_OBJECT_TABLE AS tableName,\n ACTION_STATEMENT AS definition,\n CREATED as modifyDate\nFROM \n INFORMATION_SCHEMA.TRIGGERS\n WHERE EVENT_OBJECT_SCHEMA = '#DATABASE#' AND TRIGGER_NAME =OBJECT_ID_CONDITION\n"},171:e=>{e.exports="\n select CONSTRAINT_NAME as constraintName\n from information_schema.TABLE_CONSTRAINTS\n where CONSTRAINT_SCHEMA = '#DATABASE#' and constraint_type = 'UNIQUE'\n"},913:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n VIEW_DEFINITION as viewDefinition\nfrom information_schema.views \nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION;\n"},864:e=>{e.exports="\nselect \n\tTABLE_NAME as pureName, \n coalesce(UPDATE_TIME, CREATE_TIME) as modifyDate\nfrom information_schema.tables \nwhere TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =OBJECT_ID_CONDITION and TABLE_TYPE = 'VIEW';\n"},197:(e,t,n)=>{const{SqlDumper:a,arrayToHexString:s}=global.DBGATE_PACKAGES["dbgate-tools"];n(464),e.exports=class extends a{transform(e,t){switch(e){case"GROUP:YEAR":case"YEAR":this.put("^year(%c)",t);break;case"MONTH":this.put("^month(%c)",t);break;case"DAY":this.put("^day(%c)",t);break;case"GROUP:MONTH":this.put("^date_format(%c, '%s')",t,"%Y-%m");break;case"GROUP:DAY":this.put("^date_format(%c, '%s')",t,"%Y-%m-%d");break;default:t()}}renameTable(e,t){this.putCmd("^rename ^table %f ^to %i",e,t)}changeColumn(e,t,n){e.notNull||this.fillNewNotNullDefaults({...t,columnName:e.columnName}),this.put("^alter ^table %f ^change ^column %i %i ",e,e.columnName,t.columnName),this.columnDefinition(t),this.inlineConstraints(n),this.endCommand()}autoIncrement(){}specialColumnOptions(e){e.isUnsigned&&this.put("^unsigned "),e.isZerofill&&this.put("^zerofill "),e.autoIncrement&&this.put("^auto_increment ")}columnDefinition(e,t){super.columnDefinition(e,t),e.columnComment&&this.put(" ^comment %v ",e.columnComment)}renameColumn(e,t){this.changeColumn(e,{...e,columnName:t},[])}enableConstraints(e,t){this.putCmd("^set FOREIGN_KEY_CHECKS = %s",t?"1":"0")}comment(e){this.put("/* %s */",e)}beginTransaction(){this.putCmd("^start ^transaction")}selectTableIntoNewTable(e,t){this.putCmd("^create ^table %f (^select * ^from %f)",t,e)}putByteArrayValue(e){this.putRaw(`unhex('${s(e)}')`)}selectScopeIdentity(){this.put("^select ^last_insert_id()")}callableTemplate(e){const t=(e.parameters||[]).filter((e=>"RETURN"!=e.parameterMode)),n=(e,t)=>{this.putCollection(t,e||[],(e=>{"IN"==e.parameterMode?this.putRaw("@"+e.parameterName):this.putRaw("@"+e.parameterName+"Output")}))},a=e=>{for(const t of e||[])"IN"==t.parameterMode&&(this.put("SET @%s = :%s",t.parameterName,t.parameterName),this.endCommand());this.put("&n")};"procedures"==e.objectTypeField&&(a(e.parameters),this.put("^call %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand()),"functions"==e.objectTypeField&&(a(t),this.put("^select %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand())}}},293:(e,t,n)=>{const{driverBase:a}=global.DBGATE_PACKAGES["dbgate-tools"],{mysqlSplitterOptions:s}=n(994),r=n(197),i=["POINT","LINESTRING","POLYGON","GEOMETRY","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMCOLLECTION","GEOMETRYCOLLECTION"],o={rangeSelect:!0,stringEscapeChar:"\\",fallbackDataType:"longtext",enableConstraintsPerTable:!1,anonymousPrimaryKey:!0,explicitDropConstraint:!0,allowMultipleValuesInsert:!0,quoteIdentifier:e=>"`"+e+"`",createColumn:!0,dropColumn:!0,changeColumn:!0,changeAutoIncrement:!0,createIndex:!0,dropIndex:!0,createForeignKey:!0,dropForeignKey:!0,createPrimaryKey:!0,dropPrimaryKey:!0,dropIndexContainsTableSpec:!0,createUnique:!0,dropUnique:!0,createCheck:!0,dropCheck:!0,dropReferencesWhenDropTable:!1,requireStandaloneSelectForScopeIdentity:!0,columnProperties:{columnComment:!0,isUnsigned:!0,isZerofill:!0},predefinedDataTypes:["char(20)","varchar(250)","binary(250)","varbinary(250)","tinyblob","tinytext","text(1000)","blob(1000)","mediumtext","mediumblob","longtext","longblob","enum('val1','val2','val3')","set('val1','val2','val3')","bit(32)","tinyint","bool","smallint","mediumint","int","bigint","float","double","decimal","date","datetime","timestamp","time","year"],createColumnViewExpression(e,t,n,a){if(t&&i.includes(t.toUpperCase()))return{exprType:"call",func:"ST_AsText",alias:a||e,args:[{exprType:"column",columnName:e,source:n}]}},getSupportedEngines:()=>[],getTableFormOptions(e){return[{type:"dropdowntext",options:this.getSupportedEngines(),label:"Engine",name:"tableEngine",sqlFormatString:"^engine = %s"},{type:"text",label:"Comment",name:"objectComment",sqlFormatString:"^comment = %v",allowEmptyValue:!0}]}},E={...o,getSupportedEngines:()=>["InnoDB","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MYISAM","NDB","EXAMPLE","PERFORMANCE_SCHEMA","SEQUENCE","SPIDER","ROCKSDB","TokuDB"]},l={...a,showConnectionField:(e,t)=>!!["authType","user","defaultDatabase","singleDatabase","isReadOnly"].includes(e)||("awsIam"==t.authType?["awsRegion","secretAccessKey","accessKeyId","server","port"].includes(e):!!["password"].includes(e)||("socket"==t.authType?["socketPath"].includes(e):["server","port"].includes(e))),dumperClass:r,defaultPort:3306,getQuerySplitterOptions:e=>"editor"==e?{...s,ignoreComments:!0,preventSingleLineSplit:!0}:s,readOnlySessions:!0,supportsDatabaseDump:!0,authTypeLabel:"Connection mode",defaultAuthTypeName:"hostPort",defaultSocketPath:"/var/run/mysqld/mysqld.sock",supportsTransactions:!0,getNewObjectTemplates:()=>[{label:"New view",sql:"CREATE VIEW myview\nAS\nSELECT * FROM table1"},{label:"New procedure",sql:"DELIMITER //\n\nCREATE PROCEDURE myproc (IN arg1 INT)\nBEGIN\n SELECT * FROM table1;\nEND\n\nDELIMITER ;"},{label:"New function",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"},{label:"New trigger",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"},{label:"New event",sql:"CREATE EVENT `event_name`\nON SCHEDULE EVERY 1 HOUR\nDO\nBEGIN\n\nEND"}]},N={...l,dialect:E,engine:"mysql@dbgate-plugin-mysql",title:"MySQL",__analyserInternals:{quoteDefaultValues:!0}},T={...o,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},m={...l,dialect:T,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[N,m]},553:e=>{"use strict";e.exports=require("antares-mysql-dumper")},825:e=>{"use strict";e.exports=require("lodash")},12:e=>{"use strict";e.exports=require("mysql2")},203:e=>{"use strict";e.exports=require("stream")}},t={},n=function n(a){var s=t[a];if(void 0!==s)return s.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}(237);module.exports=n})();

@@ -1,1 +0,1 @@

var plugin;(()=>{var e={994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oracleSplitterOptions=t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!1,queryParameterStyle:null},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}})},464:e=>{var t=Array.isArray;e.exports=t},56:(e,t,n)=>{const{SqlDumper:s,arrayToHexString:i}=window.DBGATE_PACKAGES["dbgate-tools"];n(464),e.exports=class extends s{transform(e,t){switch(e){case"GROUP:YEAR":case"YEAR":this.put("^year(%c)",t);break;case"MONTH":this.put("^month(%c)",t);break;case"DAY":this.put("^day(%c)",t);break;case"GROUP:MONTH":this.put("^date_format(%c, '%s')",t,"%Y-%m");break;case"GROUP:DAY":this.put("^date_format(%c, '%s')",t,"%Y-%m-%d");break;default:t()}}renameTable(e,t){this.putCmd("^rename ^table %f ^to %i",e,t)}changeColumn(e,t,n){e.notNull||this.fillNewNotNullDefaults({...t,columnName:e.columnName}),this.put("^alter ^table %f ^change ^column %i %i ",e,e.columnName,t.columnName),this.columnDefinition(t),this.inlineConstraints(n),this.endCommand()}autoIncrement(){}specialColumnOptions(e){e.isUnsigned&&this.put("^unsigned "),e.isZerofill&&this.put("^zerofill "),e.autoIncrement&&this.put("^auto_increment ")}columnDefinition(e,t){super.columnDefinition(e,t),e.columnComment&&this.put(" ^comment %v ",e.columnComment)}renameColumn(e,t){this.changeColumn(e,{...e,columnName:t},[])}enableConstraints(e,t){this.putCmd("^set FOREIGN_KEY_CHECKS = %s",t?"1":"0")}comment(e){this.put("/* %s */",e)}beginTransaction(){this.putCmd("^start ^transaction")}selectTableIntoNewTable(e,t){this.putCmd("^create ^table %f (^select * ^from %f)",t,e)}putByteArrayValue(e){this.putRaw(`unhex('${i(e)}')`)}selectScopeIdentity(){this.put("^select ^last_insert_id()")}callableTemplate(e){const t=(e.parameters||[]).filter((e=>"RETURN"!=e.parameterMode)),n=(e,t)=>{this.putCollection(t,e||[],(e=>{"IN"==e.parameterMode?this.putRaw("@"+e.parameterName):this.putRaw("@"+e.parameterName+"Output")}))},s=e=>{for(const t of e||[])"IN"==t.parameterMode&&(this.put("SET @%s = :%s",t.parameterName,t.parameterName),this.endCommand());this.put("&n")};"procedures"==e.objectTypeField&&(s(e.parameters),this.put("^call %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand()),"functions"==e.objectTypeField&&(s(t),this.put("^select %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand())}}},378:(e,t,n)=>{const{driverBase:s}=window.DBGATE_PACKAGES["dbgate-tools"],{mysqlSplitterOptions:i}=n(994),a=n(56),l=["POINT","LINESTRING","POLYGON","GEOMETRY","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMCOLLECTION","GEOMETRYCOLLECTION"],r={rangeSelect:!0,stringEscapeChar:"\\",fallbackDataType:"longtext",enableConstraintsPerTable:!1,anonymousPrimaryKey:!0,explicitDropConstraint:!0,allowMultipleValuesInsert:!0,quoteIdentifier:e=>"`"+e+"`",createColumn:!0,dropColumn:!0,changeColumn:!0,changeAutoIncrement:!0,createIndex:!0,dropIndex:!0,createForeignKey:!0,dropForeignKey:!0,createPrimaryKey:!0,dropPrimaryKey:!0,dropIndexContainsTableSpec:!0,createUnique:!0,dropUnique:!0,createCheck:!0,dropCheck:!0,dropReferencesWhenDropTable:!1,requireStandaloneSelectForScopeIdentity:!0,columnProperties:{columnComment:!0,isUnsigned:!0,isZerofill:!0},predefinedDataTypes:["char(20)","varchar(250)","binary(250)","varbinary(250)","tinyblob","tinytext","text(1000)","blob(1000)","mediumtext","mediumblob","longtext","longblob","enum('val1','val2','val3')","set('val1','val2','val3')","bit(32)","tinyint","bool","smallint","mediumint","int","bigint","float","double","decimal","date","datetime","timestamp","time","year"],createColumnViewExpression(e,t,n,s){if(t&&l.includes(t.toUpperCase()))return{exprType:"call",func:"ST_AsText",alias:s||e,args:[{exprType:"column",columnName:e,source:n}]}},getSupportedEngines:()=>[],getTableFormOptions(e){return[{type:"dropdowntext",options:this.getSupportedEngines(),label:"Engine",name:"tableEngine",sqlFormatString:"^engine = %s"},{type:"text",label:"Comment",name:"objectComment",sqlFormatString:"^comment = %v",allowEmptyValue:!0}]}},o={...r,getSupportedEngines:()=>["InnoDB","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MYISAM","NDB","EXAMPLE","PERFORMANCE_SCHEMA","SEQUENCE","SPIDER","ROCKSDB","TokuDB"]},p={...s,showConnectionField:(e,t)=>!!["authType","user","defaultDatabase","singleDatabase","isReadOnly"].includes(e)||("awsIam"==t.authType?["awsRegion","secretAccessKey","accessKeyId","server","port"].includes(e):!!["password"].includes(e)||("socket"==t.authType?["socketPath"].includes(e):["server","port"].includes(e))),dumperClass:a,defaultPort:3306,getQuerySplitterOptions:e=>"editor"==e?{...i,ignoreComments:!0,preventSingleLineSplit:!0}:i,readOnlySessions:!0,supportsDatabaseDump:!0,authTypeLabel:"Connection mode",defaultAuthTypeName:"hostPort",defaultSocketPath:"/var/run/mysqld/mysqld.sock",supportsTransactions:!0,getNewObjectTemplates:()=>[{label:"New view",sql:"CREATE VIEW myview\nAS\nSELECT * FROM table1"},{label:"New procedure",sql:"DELIMITER //\n\nCREATE PROCEDURE myproc (IN arg1 INT)\nBEGIN\n SELECT * FROM table1;\nEND\n\nDELIMITER ;"},{label:"New function",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"}]},m={...p,dialect:o,engine:"mysql@dbgate-plugin-mysql",title:"MySQL",__analyserInternals:{quoteDefaultValues:!0}},u={...r,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},c={...p,dialect:u,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[m,c]}},t={};function n(s){var i=t[s];if(void 0!==i)return i.exports;var a=t[s]={exports:{}};return e[s](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";n.r(s),n.d(s,{default:()=>t});var e=n(378);const t={packageName:"dbgate-plugin-mysql",drivers:n.n(e)()}})(),plugin=s})();
var plugin;(()=>{var e={994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.oracleSplitterOptions=t.redisSplitterOptions=t.noSplitSplitterOptions=t.mongoSplitterOptions=t.sqliteSplitterOptions=t.postgreSplitterOptions=t.mssqlSplitterOptions=t.mysqlSplitterOptions=t.defaultSplitterOptions=void 0,t.defaultSplitterOptions={stringsBegins:["'"],stringsEnds:{"'":"'"},stringEscapes:{"'":"'"},allowSemicolon:!0,allowCustomDelimiter:!1,allowCustomSqlTerminator:!1,allowGoDelimiter:!1,allowSlashDelimiter:!1,allowDollarDollarString:!1,noSplit:!1,skipSeparatorBeginEnd:!1,doubleDashComments:!0,multilineComments:!0,javaScriptComments:!1,returnRichInfo:!1,splitByLines:!1,preventSingleLineSplit:!1,adaptiveGoSplit:!1,ignoreComments:!1,copyFromStdin:!1,queryParameterStyle:null},t.mysqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomDelimiter:!0,stringsBegins:["'","`"],stringsEnds:{"'":"'","`":"`"},stringEscapes:{"'":"\\","`":"`"}}),t.mssqlSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowSemicolon:!1,allowGoDelimiter:!0,stringsBegins:["'","["],stringsEnds:{"'":"'","[":"]"},stringEscapes:{"'":"'"}}),t.postgreSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowDollarDollarString:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.sqliteSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{skipSeparatorBeginEnd:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}}),t.mongoSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"\\",'"':"\\"}}),t.noSplitSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{noSplit:!0}),t.redisSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{splitByLines:!0}),t.oracleSplitterOptions=Object.assign(Object.assign({},t.defaultSplitterOptions),{allowCustomSqlTerminator:!0,allowSlashDelimiter:!0,stringsBegins:["'",'"'],stringsEnds:{"'":"'",'"':'"'},stringEscapes:{"'":"'",'"':'"'}})},464:e=>{var t=Array.isArray;e.exports=t},56:(e,t,n)=>{const{SqlDumper:s,arrayToHexString:i}=window.DBGATE_PACKAGES["dbgate-tools"];n(464),e.exports=class extends s{transform(e,t){switch(e){case"GROUP:YEAR":case"YEAR":this.put("^year(%c)",t);break;case"MONTH":this.put("^month(%c)",t);break;case"DAY":this.put("^day(%c)",t);break;case"GROUP:MONTH":this.put("^date_format(%c, '%s')",t,"%Y-%m");break;case"GROUP:DAY":this.put("^date_format(%c, '%s')",t,"%Y-%m-%d");break;default:t()}}renameTable(e,t){this.putCmd("^rename ^table %f ^to %i",e,t)}changeColumn(e,t,n){e.notNull||this.fillNewNotNullDefaults({...t,columnName:e.columnName}),this.put("^alter ^table %f ^change ^column %i %i ",e,e.columnName,t.columnName),this.columnDefinition(t),this.inlineConstraints(n),this.endCommand()}autoIncrement(){}specialColumnOptions(e){e.isUnsigned&&this.put("^unsigned "),e.isZerofill&&this.put("^zerofill "),e.autoIncrement&&this.put("^auto_increment ")}columnDefinition(e,t){super.columnDefinition(e,t),e.columnComment&&this.put(" ^comment %v ",e.columnComment)}renameColumn(e,t){this.changeColumn(e,{...e,columnName:t},[])}enableConstraints(e,t){this.putCmd("^set FOREIGN_KEY_CHECKS = %s",t?"1":"0")}comment(e){this.put("/* %s */",e)}beginTransaction(){this.putCmd("^start ^transaction")}selectTableIntoNewTable(e,t){this.putCmd("^create ^table %f (^select * ^from %f)",t,e)}putByteArrayValue(e){this.putRaw(`unhex('${i(e)}')`)}selectScopeIdentity(){this.put("^select ^last_insert_id()")}callableTemplate(e){const t=(e.parameters||[]).filter((e=>"RETURN"!=e.parameterMode)),n=(e,t)=>{this.putCollection(t,e||[],(e=>{"IN"==e.parameterMode?this.putRaw("@"+e.parameterName):this.putRaw("@"+e.parameterName+"Output")}))},s=e=>{for(const t of e||[])"IN"==t.parameterMode&&(this.put("SET @%s = :%s",t.parameterName,t.parameterName),this.endCommand());this.put("&n")};"procedures"==e.objectTypeField&&(s(e.parameters),this.put("^call %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand()),"functions"==e.objectTypeField&&(s(t),this.put("^select %f(&>&n",e),n(t,",&n"),this.put("&<&n)"),this.endCommand())}}},378:(e,t,n)=>{const{driverBase:s}=window.DBGATE_PACKAGES["dbgate-tools"],{mysqlSplitterOptions:i}=n(994),a=n(56),l=["POINT","LINESTRING","POLYGON","GEOMETRY","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMCOLLECTION","GEOMETRYCOLLECTION"],r={rangeSelect:!0,stringEscapeChar:"\\",fallbackDataType:"longtext",enableConstraintsPerTable:!1,anonymousPrimaryKey:!0,explicitDropConstraint:!0,allowMultipleValuesInsert:!0,quoteIdentifier:e=>"`"+e+"`",createColumn:!0,dropColumn:!0,changeColumn:!0,changeAutoIncrement:!0,createIndex:!0,dropIndex:!0,createForeignKey:!0,dropForeignKey:!0,createPrimaryKey:!0,dropPrimaryKey:!0,dropIndexContainsTableSpec:!0,createUnique:!0,dropUnique:!0,createCheck:!0,dropCheck:!0,dropReferencesWhenDropTable:!1,requireStandaloneSelectForScopeIdentity:!0,columnProperties:{columnComment:!0,isUnsigned:!0,isZerofill:!0},predefinedDataTypes:["char(20)","varchar(250)","binary(250)","varbinary(250)","tinyblob","tinytext","text(1000)","blob(1000)","mediumtext","mediumblob","longtext","longblob","enum('val1','val2','val3')","set('val1','val2','val3')","bit(32)","tinyint","bool","smallint","mediumint","int","bigint","float","double","decimal","date","datetime","timestamp","time","year"],createColumnViewExpression(e,t,n,s){if(t&&l.includes(t.toUpperCase()))return{exprType:"call",func:"ST_AsText",alias:s||e,args:[{exprType:"column",columnName:e,source:n}]}},getSupportedEngines:()=>[],getTableFormOptions(e){return[{type:"dropdowntext",options:this.getSupportedEngines(),label:"Engine",name:"tableEngine",sqlFormatString:"^engine = %s"},{type:"text",label:"Comment",name:"objectComment",sqlFormatString:"^comment = %v",allowEmptyValue:!0}]}},o={...r,getSupportedEngines:()=>["InnoDB","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MYISAM","NDB","EXAMPLE","PERFORMANCE_SCHEMA","SEQUENCE","SPIDER","ROCKSDB","TokuDB"]},p={...s,showConnectionField:(e,t)=>!!["authType","user","defaultDatabase","singleDatabase","isReadOnly"].includes(e)||("awsIam"==t.authType?["awsRegion","secretAccessKey","accessKeyId","server","port"].includes(e):!!["password"].includes(e)||("socket"==t.authType?["socketPath"].includes(e):["server","port"].includes(e))),dumperClass:a,defaultPort:3306,getQuerySplitterOptions:e=>"editor"==e?{...i,ignoreComments:!0,preventSingleLineSplit:!0}:i,readOnlySessions:!0,supportsDatabaseDump:!0,authTypeLabel:"Connection mode",defaultAuthTypeName:"hostPort",defaultSocketPath:"/var/run/mysqld/mysqld.sock",supportsTransactions:!0,getNewObjectTemplates:()=>[{label:"New view",sql:"CREATE VIEW myview\nAS\nSELECT * FROM table1"},{label:"New procedure",sql:"DELIMITER //\n\nCREATE PROCEDURE myproc (IN arg1 INT)\nBEGIN\n SELECT * FROM table1;\nEND\n\nDELIMITER ;"},{label:"New function",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"},{label:"New trigger",sql:"CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1"},{label:"New event",sql:"CREATE EVENT `event_name`\nON SCHEDULE EVERY 1 HOUR\nDO\nBEGIN\n\nEND"}]},m={...p,dialect:o,engine:"mysql@dbgate-plugin-mysql",title:"MySQL",__analyserInternals:{quoteDefaultValues:!0}},u={...r,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},c={...p,dialect:u,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[m,c]}},t={};function n(s){var i=t[s];if(void 0!==i)return i.exports;var a=t[s]={exports:{}};return e[s](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";n.r(s),n.d(s,{default:()=>t});var e=n(378);const t={packageName:"dbgate-plugin-mysql",drivers:n.n(e)()}})(),plugin=s})();
{
"name": "dbgate-plugin-mysql",
"main": "dist/backend.js",
"version": "6.1.2",
"version": "6.1.3",
"homepage": "https://dbgate.org",

@@ -40,4 +40,4 @@ "description": "MySQL connect plugin for DbGate",

"antares-mysql-dumper": "^0.0.1",
"dbgate-query-splitter": "^4.11.2",
"dbgate-tools": "^6.1.2",
"dbgate-query-splitter": "^4.11.3",
"dbgate-tools": "^6.1.3",
"lodash": "^4.17.21",

@@ -44,0 +44,0 @@ "mysql2": "^3.11.3"