New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dbgate-plugin-mysql

Package Overview
Dependencies
Maintainers
0
Versions
167
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 5.5.7-alpha.68 to 6.0.0-alpha.1

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 s=n(825),a=n(926),{DatabaseAnalyser:i,isTypeString:r,isTypeNumeric:o}=global.DBGATE_PACKAGES["dbgate-tools"];function l({isNullable:e,extra:t,columnName:n,dataType:a,charMaxLength:i,numericPrecision:l,numericScale:E,defaultValue:c,columnComment:m,columnType:N},u){const{quoteDefaultValues:T}=u.__analyserInternals;let p={};const A=s.isString(N)?N.split(" ").map((e=>e.trim().toLowerCase())):[];let S=a;if(i&&r(a))S=`${a}(${i})`;else if(l&&E&&o(a))S=`${a}(${l},${E})`;else{const e=N.match(/^(enum|set)\((.+)\)/i);e?.length&&(S=N,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:m,dataType:S,defaultValue:T?(d=c,null==d?d:isNaN(d)||isNaN(parseFloat(d))?s.isString(d)&&d.startsWith("CURRENT_")?d:s.isString(d)&&"NULL"==d?.toUpperCase()?"NULL":s.isString(d)?`'${d.replace("'","\\'")}'`:d:d):c,isUnsigned:A.includes("unsigned"),isZerofill:A.includes("zerofill"),...p};var d}e.exports=class extends i{constructor(e,t,n){super(e,t,n)}createQuery(e,t,n={}){let s=a[e];return s=s.replace("#DATABASE#",this.dbhan.database),super.createQuery(s,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 a=await this.analyserQuery("foreignKeys",["tables"]);this.feedback({analysingMessage:"Loading views"});const r=await this.analyserQuery("views",["views"]);this.feedback({analysingMessage:"Loading programmables"});const o=await this.analyserQuery("programmables",["procedures","functions"]);this.feedback({analysingMessage:"Loading view texts"});const E=await this.getViewTexts(r.rows.map((e=>e.pureName)));this.feedback({analysingMessage:"Loading indexes"});const c=await this.analyserQuery("indexes",["tables"]);this.feedback({analysingMessage:"Loading uniques"});const m=await this.analyserQuery("uniqueNames",["tables"]);this.feedback({analysingMessage:"Finalizing DB structure"});const N={tables:e.rows.map((e=>({...e,objectId:e.pureName,contentHash:s.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>l(e,this.driver))),primaryKey:i.extractPrimaryKeys(e,n.rows),foreignKeys:i.extractForeignKeys(e,a.rows),tableRowCount:e.tableRowCount,indexes:s.uniqBy(c.rows.filter((t=>t.tableName==e.pureName&&!m.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...s.pick(e,["constraintName","indexType"]),isUnique:!e.nonUnique,columns:c.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...s.pick(e,["columnName"])})))}))),uniques:s.uniqBy(c.rows.filter((t=>t.tableName==e.pureName&&m.rows.find((e=>e.constraintName==t.constraintName)))),"constraintName").map((e=>({...s.pick(e,["constraintName"]),columns:c.rows.filter((t=>t.tableName==e.tableName&&t.constraintName==e.constraintName)).map((e=>({...s.pick(e,["columnName"])})))})))}))),views:r.rows.map((e=>({...e,objectId:e.pureName,contentHash:s.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,columns:t.rows.filter((t=>t.pureName==e.pureName)).map((e=>l(e,this.driver))),createSql:E[e.pureName],requiresFormat:!0}))),procedures:o.rows.filter((e=>"PROCEDURE"==e.objectType)).map((e=>s.omit(e,["objectType"]))).map((e=>({...e,createSql:`DELIMITER //\n\nCREATE PROCEDURE \`${e.pureName}\`()\n${e.routineDefinition}\n\nDELIMITER ;\n`,objectId:e.pureName,contentHash:s.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate}))),functions:o.rows.filter((e=>"FUNCTION"==e.objectType)).map((e=>s.omit(e,["objectType"]))).map((e=>({...e,createSql:`CREATE FUNCTION \`${e.pureName}\`()\nRETURNS ${e.returnDataType} ${"YES"==e.isDeterministic?"DETERMINISTIC":"NOT DETERMINISTIC"}\n${e.routineDefinition}`,objectId:e.pureName,contentHash:s.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate})))};return this.feedback({analysingMessage:null}),N}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:s.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:s.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 s=n(825),a=n(203),i=n(293),r=n(688),o=n(12),{getLogger:l,createBulkInsertStreamBase:E,makeUniqueColumnNames:c,extractErrorLogData:m}=global.DBGATE_PACKAGES["dbgate-tools"],{MySqlDumper:N}=n(553),u=l("mysqlDriver");let T;function p(e){if(e){const t=e.map((e=>({columnName:e.name})));return c(t),t}return null}function A(e,t){return s.zipObject(t.map((e=>e.columnName)),e)}const S=i.map((e=>({...e,analyserClass:r,async connect(t){const{server:n,port:s,user:a,password:i,database:r,ssl:l,isReadOnly:E,forceRowsAsObjects:c,socketPath:m,authType:N}=t;let u=null;"awsIam"==N&&(u=await T.getAwsIamToken(t));const p={host:"socket"==N?null:n,port:"socket"==N?null:s,socketPath:"socket"==N?m||e.defaultSocketPath:null,user:a,password:u||i,database:r,ssl:"awsIam"==N?l||{rejectUnauthorized:!1}:l,rowsAsArray:!c,supportBigNumbers:!0,bigNumberStrings:!0,dateStrings:!0},A={client:o.createConnection(p),database:r};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,s)=>{e.client.query(t,(function(e,t,a){e&&s(e);const i=p(a);n({rows:t&&i&&t.map&&t.map((e=>A(e,i))),columns:i})}))})),async stream(e,t,n){const s=e.client.query(t);let a=[];s.on("error",(e=>{u.error(m(e),"Stream error");const{message:t}=e;n.info({message:t,line:0,time:new Date,severity:"error"})})).on("fields",(e=>{a=p(e),a&&n.recordset(a)})).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"}):a&&n.row(A(e,a))})).on("end",(()=>{n.done()}))},async readQuery(e,t,n){const s=e.client.query(t),i=new a.PassThrough({objectMode:!0,highWaterMark:100});let r=[];return s.on("error",(e=>{console.error(e),i.end()})).on("fields",(e=>{r=p(e),i.write({__isStreamHeader:!0,...n||{columns:r}})})).on("result",(e=>i.write(A(e,r)))).on("end",(()=>i.end())),i},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,a,e,t,n)},async createBackupDumper(e,t){const{outputFile:n,databaseName:s,schemaName:a}=t;return new N({connection:e.client,schema:s||a,outputFile:n})},getAuthTypes(){const e=[{title:"Host and port",name:"hostPort",disabledFields:["socketPath"]},{title:"Socket",name:"socket",disabledFields:["server","port"]}];return T.supportsAwsIam()&&e.push({title:"AWS IAM",name:"awsIam"}),e}})));S.initialize=e=>{T=e.authProxy},e.exports=S},237:(e,t,n)=>{const s=n(378);e.exports={packageName:"dbgate-plugin-mysql",drivers:s,initialize(e){s.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 s=n(925),a=n(97),i=n(916),r=n(958),o=n(697),l=n(864),E=n(474),c=n(990),m=n(746),N=n(623),u=n(171),T=n(913);e.exports={columns:s,tables:a,primaryKeys:i,foreignKeys:r,tableModifications:o,views:l,programmables:c,procedureModifications:m,functionModifications:N,indexes:E,uniqueNames:u,viewTexts:T}},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 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"},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"},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:s,arrayToHexString:a}=global.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){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('${a(e)}')`)}selectScopeIdentity(){this.put("^select ^last_insert_id()")}}},293:(e,t,n)=>{const{driverBase:s}=global.DBGATE_PACKAGES["dbgate-tools"],{mysqlSplitterOptions:a}=n(994),i=n(197),r=["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,s){if(t&&r.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}]}},l={...o,getSupportedEngines:()=>["InnoDB","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MYISAM","NDB","EXAMPLE","PERFORMANCE_SCHEMA","SEQUENCE","SPIDER","ROCKSDB","TokuDB"]},E={...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:i,defaultPort:3306,getQuerySplitterOptions:e=>"editor"==e?{...a,ignoreComments:!0,preventSingleLineSplit:!0}:a,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"}]},c={...E,dialect:l,engine:"mysql@dbgate-plugin-mysql",title:"MySQL",__analyserInternals:{quoteDefaultValues:!0}},m={...o,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},N={...E,dialect:m,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[c,N]},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(s){var a=t[s];if(void 0!==a)return a.exports;var i=t[s]={exports:{}};return e[s](i,i.exports,n),i.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,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:c,columnType:N},u){const{quoteDefaultValues:T}=u.__analyserInternals;let p={};const A=a.isString(N)?N.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=N.match(/^(enum|set)\((.+)\)/i);e?.length&&(S=N,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:c,dataType:S,defaultValue:T?(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"]),c=await this.analyserQuery("parameters",["procedures","functions"]),N=c.rows.filter((e=>"FUNCTION"==e.routineType)).reduce(((e,t)=>(e[`${t.schemaName}.${t.pureName}`]||(e[`${t.schemaName}.${t.pureName}`]=[]),e[`${t.schemaName}.${t.pureName}`].push({...t,dataType:l(t.dataType)}),e)),{}),u=c.rows.filter((e=>"PROCEDURE"==e.routineType)).reduce(((e,t)=>(e[`${t.schemaName}.${t.pureName}`]||(e[`${t.schemaName}.${t.pureName}`]=[]),e[`${t.schemaName}.${t.pureName}`].push({...t,dataType:l(t.dataType)}),e)),{});this.feedback({analysingMessage:"Loading view texts"});const T=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"});const A=await this.analyserQuery("uniqueNames",["tables"]);this.feedback({analysingMessage:"Finalizing DB structure"});const S={tables:e.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))),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&&!A.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"])})))}))),uniques:a.uniqBy(p.rows.filter((t=>t.tableName==e.pureName&&A.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:T[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(u[`${e.schemaName}.${e.pureName}`])})\n${e.routineDefinition}\n\nDELIMITER ;\n`,objectId:e.pureName,contentHash:a.isDate(e.modifyDate)?e.modifyDate.toISOString():e.modifyDate,parameters:u[`${e.schemaName}.${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(N[`${e.schemaName}.${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:N[`${e.schemaName}.${e.pureName}`]})))};return this.feedback({analysingMessage:null}),S}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:c}=global.DBGATE_PACKAGES["dbgate-tools"],{MySqlDumper:N}=n(553),u=l("mysqlDriver");let T;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:c,authType:N}=t;let u=null;"awsIam"==N&&(u=await T.getAwsIamToken(t));const p={host:"socket"==N?null:n,port:"socket"==N?null:a,socketPath:"socket"==N?c||e.defaultSocketPath:null,user:s,password:u||r,database:i,ssl:"awsIam"==N?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=>{u.error(c(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 N({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 T.supportsAwsIam()&&e.push({title:"AWS IAM",name:"awsIam"}),e}})));S.initialize=e=>{T=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),c=n(746),N=n(623),u=n(171),T=n(913),p=n(332);e.exports={columns:a,tables:s,primaryKeys:r,foreignKeys:i,tableModifications:o,views:l,programmables:m,parameters:p,procedureModifications:c,functionModifications:N,indexes:E,uniqueNames:u,viewTexts:T}},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 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_SCHEMA AS schemaName,\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"},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){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()")}}},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}},c={...o,getSupportedEngines:()=>["InnoDB","Aria","MyISAM","MEMORY","CSV","ARCHIVE","BLACKHOLE","FEDERATED","MRG_MyISAM","SEQUENCE","SphinxSE","SPIDER","TokuDB","RocksDB","CONNECT","OQGRAPH","ColumnStore","Mroonga","S3","XtraDB"]},N={...E,dialect:c,engine:"mariadb@dbgate-plugin-mysql",title:"MariaDB",__analyserInternals:{quoteDefaultValues:!1}};e.exports=[m,N]},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})();
{
"name": "dbgate-plugin-mysql",
"main": "dist/backend.js",
"version": "5.5.7-alpha.68",
"version": "6.0.0-alpha.1",
"homepage": "https://dbgate.org",

@@ -41,3 +41,3 @@ "description": "MySQL connect plugin for DbGate",

"dbgate-query-splitter": "^4.11.2",
"dbgate-tools": "^5.5.7-alpha.68",
"dbgate-tools": "^6.0.0-alpha.1",
"lodash": "^4.17.21",

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc