planche 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +39 -0
  2. package/app/_headers +19 -0
  3. package/app/assets/AboutDialog-HsaLhYrq.js +1 -0
  4. package/app/assets/ConnectDialog-DAYnaSzA.js +1 -0
  5. package/app/assets/CopyDatabaseDialog-DCDkX1Zt.js +1 -0
  6. package/app/assets/CopyTableDialog-BylicT1d.js +1 -0
  7. package/app/assets/CreateDatabaseDialog-i7_uV-wh.js +1 -0
  8. package/app/assets/DataDiffDialog-B4SeJXry.js +1 -0
  9. package/app/assets/DownloadToCSVDialog-jX0lEP8B.js +3 -0
  10. package/app/assets/EditSchemaDialog-BVOHVgBR.js +1 -0
  11. package/app/assets/FindReplaceDialog-B0rD26fg.js +1 -0
  12. package/app/assets/FlushDialog-CNu4QuYo.js +1 -0
  13. package/app/assets/LinkColumnDialog-BwUBtMiy.js +1 -0
  14. package/app/assets/LocalHistoryDialog-DUlsyn8i.js +1 -0
  15. package/app/assets/ProcessListDialog-Chv324I7.js +1 -0
  16. package/app/assets/QuickCommandPalette-BG5A7y3V.js +1 -0
  17. package/app/assets/RowFormDialog-C5agNu3l.js +2 -0
  18. package/app/assets/SafetySettingsDialog-iaN6H-EP.js +1 -0
  19. package/app/assets/SchemaDiffDialog-D7re7sup.js +7 -0
  20. package/app/assets/SchemaToHTMLDialog-Biq3ELkl.js +27 -0
  21. package/app/assets/StatusDialog-D8CcfFkP.js +1 -0
  22. package/app/assets/TermsDialog-DbHxb0ld.js +1 -0
  23. package/app/assets/UserAddDialog-B_fz-cXy.js +1 -0
  24. package/app/assets/UserManagerDialog-ku7exEzu.js +1 -0
  25. package/app/assets/VariablesDialog-BP2RcCBK.js +1 -0
  26. package/app/assets/abap-08VXUWAP.js +1 -0
  27. package/app/assets/apex-BWPQTe0t.js +1 -0
  28. package/app/assets/app-storage-B6v72zLH.js +1 -0
  29. package/app/assets/azcli-Bc_sGQ0U.js +1 -0
  30. package/app/assets/bat-i0X4ZdIN.js +1 -0
  31. package/app/assets/bicep-B5-_aFwp.js +2 -0
  32. package/app/assets/button-DkRlMkru.js +1 -0
  33. package/app/assets/cameligo-DMUM7wLl.js +1 -0
  34. package/app/assets/chevron-up-Dy_mz-03.js +1 -0
  35. package/app/assets/clojure-Cm7r79vr.js +1 -0
  36. package/app/assets/codicon-ngg6Pgfi.ttf +0 -0
  37. package/app/assets/coffee-Ba7i2nA0.js +1 -0
  38. package/app/assets/connection-store-CJ_al8qv.js +1 -0
  39. package/app/assets/cpp-C7h46wYY.js +1 -0
  40. package/app/assets/csharp-BKxtCVv1.js +1 -0
  41. package/app/assets/csp-bTuwJoIa.js +1 -0
  42. package/app/assets/css-DIMkf-bt.js +3 -0
  43. package/app/assets/css.worker-Dsm2X3j_.js +89 -0
  44. package/app/assets/cssMode-BK7_e-YI.js +1 -0
  45. package/app/assets/cypher-CVaqCwHa.js +1 -0
  46. package/app/assets/dart-onAF5SnQ.js +1 -0
  47. package/app/assets/database-BIhkgl2O.js +1 -0
  48. package/app/assets/dbms-Cq4imB7l.js +353 -0
  49. package/app/assets/de-B_f2X0cM.js +2 -0
  50. package/app/assets/dialog-BtwqThq6.js +1 -0
  51. package/app/assets/dist-BV6Hwye5.js +41 -0
  52. package/app/assets/dist-C2pydad-.js +1 -0
  53. package/app/assets/dist-C3MLFgG1.js +1 -0
  54. package/app/assets/dist-Roudme38.js +3 -0
  55. package/app/assets/dockerfile-DZFCIeNp.js +1 -0
  56. package/app/assets/ecl-D05T4iGw.js +1 -0
  57. package/app/assets/editor-Br_kD0ds.css +1 -0
  58. package/app/assets/editor.api2-JBjomUWM.js +872 -0
  59. package/app/assets/editor.worker-BboMRUer.js +26 -0
  60. package/app/assets/elixir-6RTg0lbw.js +1 -0
  61. package/app/assets/engine-DBTzC3si.js +1 -0
  62. package/app/assets/file-name-CnYBZPf9.js +1 -0
  63. package/app/assets/flow9-C5_-GSwl.js +1 -0
  64. package/app/assets/fr-DigYoMZT.js +2 -0
  65. package/app/assets/freemarker2-Ca8y5qEc.js +3 -0
  66. package/app/assets/fsharp-C8Ef5oNN.js +1 -0
  67. package/app/assets/go-C-y9NEjX.js +1 -0
  68. package/app/assets/graphql-fmXr3nnJ.js +1 -0
  69. package/app/assets/handlebars-CMoDOM1Y.js +1 -0
  70. package/app/assets/hcl-CpzslTdj.js +1 -0
  71. package/app/assets/html-BOS8Hfbf.js +1 -0
  72. package/app/assets/html.worker-fD12ABR7.js +502 -0
  73. package/app/assets/htmlMode-CRjI81Qd.js +1 -0
  74. package/app/assets/i18n-C7R6hKCp.js +2 -0
  75. package/app/assets/ini-sBoK_t0W.js +1 -0
  76. package/app/assets/ja-CPMeuUuT.js +2 -0
  77. package/app/assets/java-BEtHBSE6.js +1 -0
  78. package/app/assets/javascript-2ntxzhMa.js +1 -0
  79. package/app/assets/json.worker-B2CIyALT.js +58 -0
  80. package/app/assets/jsonMode-C8yGgOEo.js +7 -0
  81. package/app/assets/julia-Bri6UV-V.js +1 -0
  82. package/app/assets/ko-IAtUoTg5.js +2 -0
  83. package/app/assets/kotlin-BOotOW0E.js +1 -0
  84. package/app/assets/less-B9JPFI3C.js +2 -0
  85. package/app/assets/lexon-CfSJPG6W.js +1 -0
  86. package/app/assets/liquid-DThFAxbS.js +1 -0
  87. package/app/assets/lspLanguageFeatures-DQW0rv3P.js +4 -0
  88. package/app/assets/lua-CsQS60Ue.js +1 -0
  89. package/app/assets/m3-D-oSqn_W.js +1 -0
  90. package/app/assets/main-DI8DxG3x.css +2 -0
  91. package/app/assets/main-NJl8KiiX.js +73 -0
  92. package/app/assets/markdown-Cimd5fb3.js +1 -0
  93. package/app/assets/mdx-CI71gDmg.js +1 -0
  94. package/app/assets/mips-CIPQ_RoX.js +1 -0
  95. package/app/assets/msdax-DauUninz.js +1 -0
  96. package/app/assets/mysql-SOo6toE5.js +1 -0
  97. package/app/assets/objective-c-FvmIjYaQ.js +1 -0
  98. package/app/assets/pascal-DrH0SRf2.js +1 -0
  99. package/app/assets/pascaligo-D-ptJ9y-.js +1 -0
  100. package/app/assets/perl-oz_6vUea.js +1 -0
  101. package/app/assets/pgsql-DTj74zXo.js +1 -0
  102. package/app/assets/php-nr791fC2.js +1 -0
  103. package/app/assets/pla-CopQ2nXW.js +1 -0
  104. package/app/assets/postiats-43DmfD33.js +1 -0
  105. package/app/assets/powerquery-D3hlyOfw.js +1 -0
  106. package/app/assets/powershell-DmHpPYUd.js +1 -0
  107. package/app/assets/preload-helper-Czpn1I53.js +1 -0
  108. package/app/assets/protobuf-C531GsRP.js +2 -0
  109. package/app/assets/pug-Z5eAx3Zn.js +1 -0
  110. package/app/assets/python-Ck7s8L2p.js +1 -0
  111. package/app/assets/qsharp-DkqhCAOL.js +1 -0
  112. package/app/assets/query-execution-CR2mkIdH.js +7 -0
  113. package/app/assets/query-store-DlzOIWw1.js +1 -0
  114. package/app/assets/r-BwWrilGY.js +1 -0
  115. package/app/assets/razor-DiN-9kkz.js +1 -0
  116. package/app/assets/redis-ClamHrr6.js +1 -0
  117. package/app/assets/redshift-DT7zqm-g.js +1 -0
  118. package/app/assets/restructuredtext-BYgofb2h.js +1 -0
  119. package/app/assets/rolldown-runtime-hePW80VL.js +1 -0
  120. package/app/assets/ruby-DezsRK8O.js +1 -0
  121. package/app/assets/rust-DdL9SqIa.js +1 -0
  122. package/app/assets/sb-CcwsVR0C.js +1 -0
  123. package/app/assets/scala-DHpiXF5c.js +1 -0
  124. package/app/assets/schema-nodes-n_QZJb21.js +1 -0
  125. package/app/assets/scheme-BeGwcela.js +1 -0
  126. package/app/assets/scss-gp-XZpBa.js +3 -0
  127. package/app/assets/select-CqYxAwnu.js +1 -0
  128. package/app/assets/settings-store-DxKFgC4Z.js +1 -0
  129. package/app/assets/shell-CC2rA5mh.js +1 -0
  130. package/app/assets/solidity-BEEn4gHE.js +1 -0
  131. package/app/assets/sophia-CRfGWb83.js +1 -0
  132. package/app/assets/sparql-D_Lu-MrJ.js +1 -0
  133. package/app/assets/sql-NEE52Syq.js +1 -0
  134. package/app/assets/sqlite3-BVKGSWc-.wasm +0 -0
  135. package/app/assets/sqlite3-opfs-async-proxy-D_xnb1D8.js +876 -0
  136. package/app/assets/sqlite3-worker1-CVKz6JuG.js +43 -0
  137. package/app/assets/st-DbInun42.js +1 -0
  138. package/app/assets/storage-worker-DEIYmjYK.js +43 -0
  139. package/app/assets/swift-Bxkupp3x.js +1 -0
  140. package/app/assets/systemverilog-Bz4Y3fRF.js +1 -0
  141. package/app/assets/table-copy-2y2RNth1.js +1 -0
  142. package/app/assets/table-definition-Bs5VSn0X.js +1 -0
  143. package/app/assets/tcl-DISqw1ZD.js +1 -0
  144. package/app/assets/ts.worker-BwG70EDZ.js +67734 -0
  145. package/app/assets/tsMode-Dzctobqp.js +11 -0
  146. package/app/assets/twig-De2hgUGE.js +1 -0
  147. package/app/assets/typescript-Ww5oHWDp.js +1 -0
  148. package/app/assets/typespec-B8J7ngcE.js +1 -0
  149. package/app/assets/ui-store-BPY9VfQP.js +1 -0
  150. package/app/assets/use-engine-F2Y_trPz.js +1 -0
  151. package/app/assets/user-store-D5dzuD-E.js +1 -0
  152. package/app/assets/vb-DV3o63ZY.js +1 -0
  153. package/app/assets/wgsl-DpFanUEy.js +298 -0
  154. package/app/assets/xml-CT99FsSc.js +1 -0
  155. package/app/assets/yaml-DA78fpmA.js +1 -0
  156. package/app/assets/zh-DCKqmOQA.js +2 -0
  157. package/app/cloudflare-d1-client/index.html +111 -0
  158. package/app/de/cloudflare-d1-client/index.html +111 -0
  159. package/app/de/index.html +123 -0
  160. package/app/de/mariadb-client/index.html +111 -0
  161. package/app/de/mysql-client/index.html +112 -0
  162. package/app/de/neon-client/index.html +111 -0
  163. package/app/de/oracle-client/index.html +111 -0
  164. package/app/de/postgresql-client/index.html +111 -0
  165. package/app/de/sql-server-client/index.html +111 -0
  166. package/app/de/sqlite-viewer/index.html +112 -0
  167. package/app/de/supabase-client/index.html +111 -0
  168. package/app/favicon.svg +1 -0
  169. package/app/fr/cloudflare-d1-client/index.html +111 -0
  170. package/app/fr/index.html +123 -0
  171. package/app/fr/mariadb-client/index.html +111 -0
  172. package/app/fr/mysql-client/index.html +112 -0
  173. package/app/fr/neon-client/index.html +111 -0
  174. package/app/fr/oracle-client/index.html +111 -0
  175. package/app/fr/postgresql-client/index.html +111 -0
  176. package/app/fr/sql-server-client/index.html +111 -0
  177. package/app/fr/sqlite-viewer/index.html +112 -0
  178. package/app/fr/supabase-client/index.html +111 -0
  179. package/app/icons.svg +24 -0
  180. package/app/index.html +123 -0
  181. package/app/ja/cloudflare-d1-client/index.html +111 -0
  182. package/app/ja/index.html +123 -0
  183. package/app/ja/mariadb-client/index.html +111 -0
  184. package/app/ja/mysql-client/index.html +112 -0
  185. package/app/ja/neon-client/index.html +111 -0
  186. package/app/ja/oracle-client/index.html +111 -0
  187. package/app/ja/postgresql-client/index.html +111 -0
  188. package/app/ja/sql-server-client/index.html +111 -0
  189. package/app/ja/sqlite-viewer/index.html +112 -0
  190. package/app/ja/supabase-client/index.html +111 -0
  191. package/app/ko/cloudflare-d1-client/index.html +111 -0
  192. package/app/ko/index.html +123 -0
  193. package/app/ko/mariadb-client/index.html +111 -0
  194. package/app/ko/mysql-client/index.html +112 -0
  195. package/app/ko/neon-client/index.html +111 -0
  196. package/app/ko/oracle-client/index.html +111 -0
  197. package/app/ko/postgresql-client/index.html +111 -0
  198. package/app/ko/sql-server-client/index.html +111 -0
  199. package/app/ko/sqlite-viewer/index.html +112 -0
  200. package/app/ko/supabase-client/index.html +111 -0
  201. package/app/landing.css +25 -0
  202. package/app/mariadb-client/index.html +111 -0
  203. package/app/mysql-client/index.html +112 -0
  204. package/app/neon-client/index.html +111 -0
  205. package/app/og-image.png +0 -0
  206. package/app/oracle-client/index.html +111 -0
  207. package/app/postgresql-client/index.html +111 -0
  208. package/app/robots.txt +3 -0
  209. package/app/sample-shop.db +0 -0
  210. package/app/sitemap.xml +603 -0
  211. package/app/sql-server-client/index.html +111 -0
  212. package/app/sqlite-viewer/index.html +112 -0
  213. package/app/supabase-client/index.html +111 -0
  214. package/app/zh/cloudflare-d1-client/index.html +111 -0
  215. package/app/zh/index.html +123 -0
  216. package/app/zh/mariadb-client/index.html +111 -0
  217. package/app/zh/mysql-client/index.html +112 -0
  218. package/app/zh/neon-client/index.html +111 -0
  219. package/app/zh/oracle-client/index.html +111 -0
  220. package/app/zh/postgresql-client/index.html +111 -0
  221. package/app/zh/sql-server-client/index.html +111 -0
  222. package/app/zh/sqlite-viewer/index.html +112 -0
  223. package/app/zh/supabase-client/index.html +111 -0
  224. package/dist/index.js +1437 -1184
  225. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ import{pt as e}from"./main-NJl8KiiX.js";import{h as t}from"./editor.api2-JBjomUWM.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-DQW0rv3P.js";var b=12e4,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=e({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/assets/css.worker-Dsm2X3j_.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(e){let n=[],s=[],c=new x(e);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=e;w(s),c.completionItems&&s.push(t.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(t.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(t.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(t.registerDefinitionProvider(n,new f(g))),c.references&&s.push(t.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(t.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(t.registerRenameProvider(n,new m(g))),c.colors&&s.push(t.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(t.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,e.onDidChange)),c.selectionRanges&&s.push(t.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(t.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(t.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}]},t={defaultToken:``,tokenPostfix:`.cypher`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],keywords:`ALL.AND.AS.ASC.ASCENDING.BY.CALL.CASE.CONTAINS.CREATE.DELETE.DESC.DESCENDING.DETACH.DISTINCT.ELSE.END.ENDS.EXISTS.IN.IS.LIMIT.MANDATORY.MATCH.MERGE.NOT.ON.ON.OPTIONAL.OR.ORDER.REMOVE.RETURN.SET.SKIP.STARTS.THEN.UNION.UNWIND.WHEN.WHERE.WITH.XOR.YIELD`.split(`.`),builtinLiterals:[`true`,`TRUE`,`false`,`FALSE`,`null`,`NULL`],builtinFunctions:`abs.acos.asin.atan.atan2.avg.ceil.coalesce.collect.cos.cot.count.degrees.e.endNode.exists.exp.floor.head.id.keys.labels.last.left.length.log.log10.lTrim.max.min.nodes.percentileCont.percentileDisc.pi.properties.radians.rand.range.relationships.replace.reverse.right.round.rTrim.sign.sin.size.split.sqrt.startNode.stDev.stDevP.substring.sum.tail.tan.timestamp.toBoolean.toFloat.toInteger.toLower.toString.toUpper.trim.type`.split(`.`),operators:[`+`,`-`,`*`,`/`,`%`,`^`,`=`,`<>`,`<`,`>`,`<=`,`>=`,`->`,`<-`,`-->`,`<--`],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,`@brackets`],{include:`common`}],common:[{include:`@whitespace`},{include:`@numbers`},{include:`@strings`},[/:[a-zA-Z_][\w]*/,`type.identifier`],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":`predefined.function`}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@builtinLiterals":`predefined.literal`,"@default":`identifier`}}],[/`/,`identifier.escape`,`@identifierBacktick`],[/[;,.:|]/,`delimiter`],[/[<>=%+\-*/^]+/,{cases:{"@operators":`delimiter`,"@default":``}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,`number.float`],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,`number.float`],[/-?0x(@hexdigits)/,`number.hex`],[/-?0(@octaldigits)/,`number.octal`],[/-?(@digits)/,`number`]],strings:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@stringDouble`],[/'/,`string`,`@stringSingle`]],whitespace:[[/[ \t\r\n]+/,`white`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/\/\/.*/,`comment`],[/[^/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[/*]/,`comment`]],stringDouble:[[/[^\\"]+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/"/,`string`,`@pop`]],stringSingle:[[/[^\\']+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/'/,`string`,`@pop`]],identifierBacktick:[[/[^\\`]+/,`identifier.escape`],[/@escapes/,`identifier.escape`],[/\\./,`identifier.escape.invalid`],[/`/,`identifier.escape`,`@pop`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},t={defaultToken:`invalid`,tokenPostfix:`.dart`,keywords:`abstract.dynamic.implements.show.as.else.import.static.assert.enum.in.super.async.export.interface.switch.await.extends.is.sync.break.external.library.this.case.factory.mixin.throw.catch.false.new.true.class.final.null.try.const.finally.on.typedef.continue.for.operator.var.covariant.Function.part.void.default.get.rethrow.while.deferred.hide.return.with.do.if.set.yield`.split(`.`),typeKeywords:[`int`,`double`,`String`,`bool`],operators:`+.-.*./.~/.%.++.--.==.!=.>.<.>=.<=.=.-=./=.%=.>>=.^=.+=.*=.~/=.<<=.&=.!=.||.&&.&.|.^.~.<<.>>.!.>>>.??.?.:.|=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":`type.identifier`,"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z_$][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/@[a-zA-Z]+/,`annotation`],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/\/.*$/,`comment.doc`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([gimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"\$]+/,`string`],[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`],[/\$\w+/,`identifier`]],string_single:[[/[^\\'\$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`],[/\$\w+/,`identifier`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ import{c as e,n as t,r as n}from"./ui-store-BPY9VfQP.js";import{i as r}from"./i18n-C7R6hKCp.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{i as a,n as o,r as s,t as c}from"./app-storage-B6v72zLH.js";import{t as l}from"./connection-store-CJ_al8qv.js";import{n as u}from"./query-store-DlzOIWw1.js";function d(e,t){let n=globalThis,r=`__planche_${e}`;return r in n||(n[r]=t()),n[r]}var f=new Set([`neon`,`supabase`]);function p(e){return e===`postgres`||f.has(e)}var ee=`_rowid_`,te=`http://127.0.0.1:8888`,m=d(`tunnelAgent`,()=>({url:null,token:null}));function ne(e){m.url=e.url?.replace(/\/+$/,``)||null,m.token=e.token?.trim()||null}var re=new Set([`127.0.0.1`,`localhost`,`[::1]`,`::1`]);function ie(e){try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&re.has(t.hostname)}catch{return!1}}function ae(e){try{return typeof window<`u`&&new URL(e).origin===window.location.origin}catch{return!1}}function oe(e){return ie(e)||ae(e)}function se(){return m.url!==null&&m.url!==`/api`&&!oe(m.url)}function h(){return m.url??te}function g(){let e=h();return e===`/api`?r.t(`services.agent.devProxyUrl`,{url:`http://localhost:8888`}):e}async function ce(){let e=g(),t;try{let e={};m.token&&(e.Authorization=`Bearer ${m.token}`),t=await(await fetch(`${h()}/health`,{cache:`no-store`,headers:e})).json()}catch(t){return{state:`offline`,url:e,message:t instanceof Error?t.message:String(t)}}return t.name!==`planche`||typeof t.version!=`string`||!/^[\w.+-]{1,32}$/.test(t.version)?{state:`offline`,url:e,message:r.t(`services.agent.notPlanche`)}:t.protocolVersion===2?t.authorized===!1||m.token===null&&t.authorized===void 0?{state:`unauthorized`,url:e,version:t.version}:{state:`online`,url:e,version:t.version,activeConnections:t.activeConnections??0,...t.gateway?{gateway:t.gateway}:{}}:{state:`outdated`,url:e,version:t.version,protocolVersion:t.protocolVersion??0}}async function le(){let e=await fetch(`${h()}/profiles`,{cache:`no-store`,headers:b()}),t=await e.json().catch(()=>null);if(!e.ok||!t||t.success!==!0)throw new x(t?.message??r.t(`services.agent.httpError`,{status:e.status,statusText:e.statusText}),e.status);return t}function _(e){let t=e.ssh;if(t?.enabled)return{host:t.host,port:t.port,user:t.user,auth:t.auth,password:t.auth===`password`?t.password??``:void 0,privateKey:t.auth===`key`?t.privateKey:void 0,passphrase:t.auth===`key`&&t.passphrase||void 0}}function v(e){return e.gatewayProfile?{profile:e.gatewayProfile}:e.dbms===`sqlite`?{driver:`sqlite`,file:e.file??``,createIfMissing:e.createIfMissing??!1,readonly:e.readOnly??!1}:e.dbms===`d1`?{driver:`d1`,accountId:e.accountId??``,databaseId:e.databaseId??``,apiToken:e.pass}:e.dbms===`postgres`?{driver:`postgres`,host:e.host,port:e.port,user:e.user,password:e.pass,database:e.database||`postgres`,ssl:e.ssl??!1,sslVerify:e.sslVerify??!1,ssh:_(e)}:f.has(e.dbms)?{driver:`postgres`,host:e.host,port:e.port,user:e.user,password:e.pass,database:e.database||`postgres`,ssl:!0,sslVerify:e.dbms===`neon`}:e.dbms===`mssql`?{driver:`mssql`,host:e.host,port:e.port,user:e.user,password:e.pass,database:e.database||`master`,ssl:e.ssl??!1,sslVerify:e.sslVerify??!1,ssh:_(e)}:e.dbms===`oracle`?{driver:`oracle`,host:e.host,port:e.port,user:e.user,password:e.pass,serviceName:e.database||`FREEPDB1`,ssh:_(e)}:{driver:`mysql`,host:e.host,port:e.port,user:e.user,password:e.pass,charset:e.charset===`utf8`?`utf8mb4`:e.charset,ssl:e.ssl??!1,sslVerify:e.sslVerify??!1,ssh:_(e)}}var y=d(`tunnelAuthTokens`,()=>new Map);function ue(e,t){let n=t?.trim();n?y.set(e,n):y.delete(e)}function de(e){return e?.trim()||m.token||void 0}function b(e){let t={"Content-Type":`application/json`},n=de(e);return n&&(t.Authorization=`Bearer ${n}`),t}var x=class extends Error{status;body;constructor(e,t,n=null){super(e),this.status=t,this.body=n}};function fe(e){if(!(e instanceof x)||e.status!==409)return null;let t=e.body,n=t?.hostKey;if(t?.code!==`host-key-unknown`||!n)return null;let r=typeof n.host==`string`&&/^[A-Za-z0-9._:[\]-]{1,253}$/.test(n.host)?n.host:null,i=typeof n.type==`string`&&/^[\w.@-]{1,64}$/.test(n.type)?n.type:null,a=typeof n.fingerprint==`string`&&/^SHA256:[A-Za-z0-9+/]{43}$/.test(n.fingerprint)?n.fingerprint:null,o=Number.isInteger(n.port)&&n.port>0&&n.port<65536?n.port:null;return r&&i&&a&&o?{host:r,port:o,type:i,fingerprint:a}:null}async function pe(e,t){let n=await fetch(`${e.replace(/\/+$/,``)}/pair`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:t})}),i=await n.json().catch(()=>null);if(!n.ok||!i?.success||typeof i.token!=`string`)throw Error(i?.message??r.t(`services.agent.httpError`,{status:n.status,statusText:n.statusText}));return i.token}async function S(e,t,n){let i;try{i=await fetch(`${h()}${e}`,{method:`POST`,headers:b(n),body:JSON.stringify(t)})}catch(e){throw Error(r.t(`services.agent.unreachable`,{url:g(),message:e instanceof Error?e.message:String(e)}))}let a=null;try{a=await i.json()}catch{a=null}if(!i.ok)throw new x(a?.message??r.t(`services.agent.httpError`,{status:i.status,statusText:i.statusText}),i.status,a);if(!a)throw Error(r.t(`services.agent.emptyResponse`));return a}async function C(e,t){let n=await S(`/connect`,e,t);return n.success&&n.connectionId&&(ue(n.connectionId,de(t)),me()),n}async function w(e,t,n){let r=performance.now(),i=await S(`/query`,{connectionId:e,sql:t,database:n},y.get(e));return i.execTime||=Math.round(performance.now()-r),i}function me(){if(typeof window>`u`)return;let e=d(`tunnelPageHide`,()=>({done:!1}));e.done||(e.done=!0,window.addEventListener(`pagehide`,()=>{for(let[e,t]of y)fetch(`${h()}/disconnect`,{method:`POST`,headers:b(t),body:JSON.stringify({connectionId:e}),keepalive:!0}).catch(()=>void 0)}))}async function he(e){try{await S(`/disconnect`,{connectionId:e},y.get(e))}finally{y.delete(e)}}async function ge(e,t){return S(`/test-connection`,e,t)}function T(e,t,n){return e.map(e=>e.id===t?n(e):e.children.length>0?{...e,children:T(e.children,t,n)}:e)}function _e(e,t){for(let n of e){if(n.id===t)return n;let e=_e(n.children,t);if(e)return e}return null}function E(e,t,n){let r=new Set(e??[]);if(n)r.add(t);else for(let e of r)(e===t||e.startsWith(`${t}/`))&&r.delete(e);return[...r]}var ve=n()(a(e=>({trees:{},selectedNodeId:{},expandedIds:{},setTree:(t,n)=>e(e=>({trees:{...e.trees,[t]:n}})),setChildren:(t,n,r)=>e(e=>{let i=e.trees[t];return i?{expandedIds:{...e.expandedIds,[t]:E(e.expandedIds[t],n,!0)},trees:{...e.trees,[t]:T(i,n,e=>({...e,children:r,isLoading:!1,isExpanded:!0,metadata:{...e.metadata,count:r.length}}))}}:e}),setNodeMetadata:(t,n,r)=>e(e=>{let i=e.trees[t];return i?{trees:{...e.trees,[t]:T(i,n,e=>({...e,metadata:{...e.metadata,...r}}))}}:e}),toggleExpanded:(t,n)=>e(e=>{let r=e.trees[t];if(!r)return e;let i=!_e(r,n)?.isExpanded;return{expandedIds:{...e.expandedIds,[t]:E(e.expandedIds[t],n,i)},trees:{...e.trees,[t]:T(r,n,e=>({...e,isExpanded:i}))}}}),setExpanded:(t,n,r)=>e(e=>{let i=e.trees[t];return i?{expandedIds:{...e.expandedIds,[t]:E(e.expandedIds[t],n,r)},trees:{...e.trees,[t]:T(i,n,e=>({...e,isExpanded:r}))}}:e}),setSelected:(t,n)=>e(e=>({selectedNodeId:{...e.selectedNodeId,[t]:n}})),setLoading:(t,n,r)=>e(e=>{let i=e.trees[t];return i?{trees:{...e.trees,[t]:T(i,n,e=>({...e,isLoading:r}))}}:e}),removeTree:t=>e(e=>{let n={...e.trees},r={...e.selectedNodeId};return delete n[t],delete r[t],{trees:n,selectedNodeId:r}})}),{name:`planche-schema`,storage:c(),partialize:e=>({selectedNodeId:e.selectedNodeId,expandedIds:e.expandedIds})})),ye=32,D=24,be=931071618,O=931071619,k=(e,t)=>(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0,xe=(e,t)=>(e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t])>>>0;function A(e,t,n,r,i=0,a=0){let o=r?k:xe;for(let r=t;r<t+n;r+=8)i=i+o(e,r)+a>>>0,a=a+o(e,r+4)+i>>>0;return[i,a]}function Se(e){if(e.byteLength<ye)return null;let t=k(e,0);if(t!==be&&t!==O)return null;let n=t===O,r=k(e,8);if(r<512||r>65536||r&r-1)return null;let i=k(e,16),a=k(e,20),[o,s]=A(e,0,24,n);if(o!==k(e,24)||s!==k(e,28))return null;let c=D+r,l=new Map,u=new Map,d=0,f=0,p=0;for(let t=ye;t+c<=e.byteLength&&!(k(e,t+8)!==i||k(e,t+12)!==a||([o,s]=A(e,t,8,n,o,s),[o,s]=A(e,t+D,r,n,o,s),o!==k(e,t+16)||s!==k(e,t+20)));t+=c){let n=k(e,t),r=k(e,t+4);if(n===0)break;if(u.set(n,e.subarray(t+D,t+c)),p++,r>0){for(let[e,t]of u)l.set(e,t);u.clear(),d=r,f+=p,p=0}}return{pageSize:r,dbSizePages:d,pages:l,committedFrames:f}}function j(e,t){let n=Se(t);if(!n||n.committedFrames===0)return{bytes:e,appliedFrames:0};let{pageSize:r,dbSizePages:i,pages:a}=n,o=Math.max(i*r,e.byteLength-e.byteLength%r),s=new Uint8Array(o);s.set(e.subarray(0,Math.min(e.byteLength,o)));for(let[e,t]of a){let n=(e-1)*r;n+r<=o&&s.set(t,n)}return{bytes:i>0?s.subarray(0,i*r):s,appliedFrames:n.committedFrames}}var Ce=`planche-file-handles`,M=`handles`;function we(){return new Promise((e,t)=>{if(typeof indexedDB>`u`){t(Error(`IndexedDB unavailable`));return}let n=indexedDB.open(Ce,1);n.onupgradeneeded=()=>n.result.createObjectStore(M),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function N(e,t){return we().then(n=>new Promise((r,i)=>{let a=t(n.transaction(M,e).objectStore(M));a.onsuccess=()=>r(a.result),a.onerror=()=>i(a.error)}))}var P=e=>`${e}:wal`;async function F(e,t){try{await N(`readwrite`,n=>n.put(t,e))}catch{}}async function I(e){try{return await N(`readonly`,t=>t.get(e))??null}catch{return null}}async function L(e){try{await N(`readwrite`,t=>t.delete(e))}catch{}}async function R(e,t){let n=e,r={mode:`readwrite`};try{if(n.queryPermission&&await n.queryPermission(r)===`granted`)return!0;if(t&&n.requestPermission)return await n.requestPermission(r)===`granted`}catch{}return!1}var z=e=>`dbcache-meta:${e}`,B=e=>`${e}.sqlite3`;async function Te(e){try{let t=await s.getItem(z(e));if(!t)return null;let n=JSON.parse(t),r=await o.get(B(e));return r?{bytes:new Uint8Array(r),meta:n}:null}catch{return null}}async function Ee(e,t,n){try{let r=t.slice().buffer;return await o.set(B(e),r)?(await s.setItem(z(e),JSON.stringify(n)),!0):!1}catch(e){return console.warn(`[db-cache] write failed:`,e),!1}}async function De(e,t){try{let n=await s.getItem(z(e));if(!n)return;await s.setItem(z(e),JSON.stringify({...JSON.parse(n),...t}))}catch{}}async function Oe(e){try{await o.remove(B(e)),await s.removeItem(z(e))}catch{}}var ke=`browser:`;function V(e){return typeof e==`string`&&e.startsWith(`browser:`)}var Ae=750;function je(e){let t=W.get(e);t?.profileId&&(t.flushTimer&&clearTimeout(t.flushTimer),t.flushTimer=setTimeout(()=>{t.flushTimer=null,H(e)},Ae))}async function H(e){let t=W.get(e);if(t?.profileId)try{let n=await Ze(e);await Ee(t.profileId,n,Me(t))}catch(e){console.warn(`[browser-sqlite] cache flush failed:`,e)}}function Me(e){return{name:e.source.name,lastModified:e.fileMeta.lastModified,size:e.fileMeta.size,dirty:e.dirty,cachedAt:Date.now()}}var Ne=d(`browserSqliteVisibilityListener`,()=>({installed:!1}));typeof document<`u`&&!Ne.installed&&(Ne.installed=!0,document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState===`hidden`)for(let[e,t]of W)t.flushTimer&&(clearTimeout(t.flushTimer),t.flushTimer=null,H(e))}));function U(e){return e.toLowerCase().endsWith(`-wal`)}var W=d(`browserSqliteDatabases`,()=>new Map),Pe=d(`browserSqliteModule`,()=>({promise:null}));async function G(){return Pe.promise||=i(()=>import(`./dist-Roudme38.js`).then(e=>e.default()),[]),Pe.promise}function K(e){let t=W.get(e);if(!t)throw Error(`Browser connection not found: ${e}`);return t}function Fe(e){if(!(e.byteLength>=100&&e[0]===83&&e[15]===0)||e[18]!==2&&e[19]!==2)return{bytes:e,wal:!1};let t=new Uint8Array(e);return t[18]=1,t[19]=1,{bytes:t,wal:!0}}var Ie=`SQLite format 3\0`;function Le(e){if(e.byteLength===0)return null;if(e.byteLength<100)return r.t(`services.sqliteFile.tooSmall`);if(String.fromCharCode(...e.subarray(0,16))!==Ie)return r.t(`services.sqliteFile.notSqlite`);let t=e[16]<<8|e[17],n=t===1?65536:t;return n<512||n&n-1?r.t(`services.sqliteFile.badPageSize`,{size:n}):null}async function Re(e){let t=Le(e);if(t)throw Error(t);let n=await G(),i=new n.oo1.DB;if(e.byteLength===0)return i;let a=n.wasm.allocFromTypedArray(e),o=n.capi,s=o.SQLITE_DESERIALIZE_FREEONCLOSE??1,c=o.SQLITE_DESERIALIZE_RESIZEABLE??2,l=n.capi.sqlite3_deserialize(i.pointer,`main`,a,e.byteLength,e.byteLength,s|c);i.checkRc(l);try{i.exec(`SELECT count(*) FROM sqlite_master`)}catch(e){throw i.close(),Error(r.t(`services.sqliteFile.unreadable`,{message:e instanceof Error?e.message:String(e)}))}return i}async function ze(e){let t=window.showOpenFilePicker;if(t)try{let n=await t({multiple:e.multiple,types:e.sqliteOnly?[{description:r.t(`services.sqliteFile.pickerDescription`),accept:{"application/vnd.sqlite3":[`.sqlite`,`.sqlite3`,`.db`,`.db3`]}}]:void 0,excludeAcceptAllOption:!1});return Promise.all(n.map(async e=>({file:await e.getFile(),handle:e})))}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return[];throw e}return new Promise(t=>{let n=document.createElement(`input`);n.type=`file`,n.multiple=e.multiple,e.sqliteOnly&&(n.accept=`.sqlite,.sqlite3,.db,.db3,application/vnd.sqlite3`),n.onchange=()=>t(Array.from(n.files??[]).map(e=>({file:e}))),n.oncancel=()=>t([]),n.click()})}async function Be(){let e=await ze({multiple:!0,sqliteOnly:!1}),t=e.find(e=>!U(e.file.name));return t?{main:t,wal:e.find(e=>U(e.file.name)&&e.file.name.toLowerCase()===`${t.file.name.toLowerCase()}-wal`)??e.find(e=>U(e.file.name))}:null}async function Ve(){let[e]=await ze({multiple:!1,sqliteOnly:!1});return e??null}async function q(e,t,n={}){let{bytes:r,wal:i}=Fe(e),a=await Re(r),o=`${ke}${crypto.randomUUID()}`,s={...t,wal:i};return W.set(o,{db:a,source:s,rawBytes:e,profileId:n.profileId,fileMeta:n.fileMeta??{lastModified:0,size:e.byteLength},dirty:n.dirty??!1,flushTimer:null}),{connectionId:o,source:s}}async function J(e,t,n,r={}){let i=e?new Uint8Array(await e.arrayBuffer()):new Uint8Array,a=i,o=!1;n&&(a=j(i,new Uint8Array(await n.file.arrayBuffer())).bytes,o=!0);let s=await q(a,{name:e?.name??`:memory:`,handle:t,walApplied:o,walHandle:n?.handle},{profileId:r.profileId,fileMeta:{lastModified:Math.max(e?.lastModified??0,n?.file.lastModified??0),size:i.byteLength}});return W.get(s.connectionId).rawBytes=i,r.profileId&&H(s.connectionId),s}async function He(e,t,n,r){return await q(t,{name:n.name,handle:r,walApplied:!0},{profileId:e,fileMeta:{lastModified:n.lastModified,size:n.size},dirty:n.dirty})}function Ue(e,t){let n=K(e);n.source={...n.source,handle:t}}function We(e){return W.get(e)?.dirty??!1}async function Ge(e,t){let n=K(e),r=j(n.rawBytes,new Uint8Array(await t.file.arrayBuffer())),i=await q(r.bytes,{...n.source,walApplied:!0,walHandle:t.handle},{profileId:n.profileId,fileMeta:n.fileMeta});return W.get(i.connectionId).rawBytes=n.rawBytes,X(e),n.profileId&&H(i.connectionId),{...i,appliedFrames:r.appliedFrames}}function Y(e){return W.get(e)?.source??null}function Ke(e){return e&&e.trim().toLowerCase().replace(/\(.*$/,``).trim()||null}function qe(e){return e==null?`null`:typeof e==`number`?Number.isInteger(e)?`integer`:`real`:typeof e==`bigint`?`bigint`:e instanceof Uint8Array?`blob`:`text`}function Je(e){return typeof e==`bigint`?Number(e):e instanceof Uint8Array?{type:`Buffer`,data:Array.from(e)}:e}async function Ye(e,t){let{db:n}=K(e),r=await G(),i=performance.now(),a=K(e),o=Number(r.capi.sqlite3_total_changes(n.pointer)),s=n.prepare(t);try{if(s.columnCount===0){s.step();let c=Number(n.changes()),l=Number(r.capi.sqlite3_last_insert_rowid(n.pointer)),u=/^\s*(BEGIN|COMMIT|END|ROLLBACK|SAVEPOINT|RELEASE)\b/i.test(t);return(c>0||Number(r.capi.sqlite3_total_changes(n.pointer))!==o||!u)&&(a.dirty=!0,je(e)),{success:!0,fields:[],records:[],affectedRows:c,insertId:l,isResultQuery:!1,execTime:Math.round(performance.now()-i)}}let c=[];for(;s.step();)c.push(s.get([]).map(Je));let l=s.getColumnNames(),u=r.capi,d=s.pointer;return{success:!0,fields:l.map((e,t)=>{let n=Ke(u.sqlite3_column_decltype(d,t)),r=u.sqlite3_column_table_name(d,t)??``;return{name:e,orgName:u.sqlite3_column_origin_name(d,t)??e,type:n??qe(Xe(c,t)),table:r,orgTable:r,db:u.sqlite3_column_database_name(d,t)??``,maxLength:0}}),records:c,affectedRows:0,insertId:0,isResultQuery:!0,execTime:Math.round(performance.now()-i)}}finally{s.finalize()}}function Xe(e,t){for(let n of e){let e=n[t];if(e!=null)return e}return null}async function Ze(e){let{db:t}=K(e);return(await G()).capi.sqlite3_js_db_export(t.pointer)}function Qe(e){let t=W.get(e);if(!t?.source.handle)return null;let{source:n}=t;return n.wal&&!n.walApplied&&!n.walAcknowledged?r.t(`services.sqliteFile.walNotLoaded`):null}function $e(e){let t=K(e);t.source={...t.source,walAcknowledged:!0}}async function et(e){let{source:t,fileMeta:n}=e;if(!t.handle)return;let i=await t.handle.getFile();if(n.lastModified&&(i.lastModified!==n.lastModified||i.size!==n.size))throw Error(r.t(`services.sqliteFile.changedOnDisk`,{name:t.name}));if(t.walHandle)try{let e=await t.walHandle.getFile();if(e.size>0&&!t.walApplied)throw Error(r.t(`services.sqliteFile.walHasChanges`,{name:t.name}));if(e.size>0&&t.walApplied&&e.lastModified>n.lastModified)throw Error(r.t(`services.sqliteFile.walChangedOnDisk`,{name:t.name}))}catch(e){if(e instanceof Error&&!(e instanceof DOMException))throw e}}async function tt(e){let t=K(e),{source:n}=t,i=Qe(e);if(i)throw Error(i);n.handle&&await et(t);let a=await Ze(e);if(n.handle){if(!await R(n.handle,!0))throw Error(r.t(`services.sqliteFile.writeDenied`,{name:n.name}));let t=await n.handle.createWritable();await t.write(a),await t.close(),n.walHandle&&await(await n.walHandle.createWritable()).close();let i=K(e);i.dirty=!1;try{let e=await n.handle.getFile();i.fileMeta={lastModified:e.lastModified,size:e.size}}catch{i.fileMeta={lastModified:Date.now(),size:a.byteLength}}return i.profileId&&De(i.profileId,{...Me(i)}),`in-place`}let o=new Blob([a],{type:`application/vnd.sqlite3`}),s=URL.createObjectURL(o),c=document.createElement(`a`);return c.href=s,c.download=n.name===`:memory:`?`database.sqlite`:n.name,c.click(),URL.revokeObjectURL(s),`download`}function X(e){let t=W.get(e);t&&(t.flushTimer&&clearTimeout(t.flushTimer),t.db.close(),W.delete(e))}function Z(e){return W.get(e)?.profileId}async function nt(e){await L(e),await L(P(e)),await Oe(e)}async function rt(e,t){let n=await I(e);if(!n)return null;if(!await R(n,t))return`denied`;try{return{handle:n,file:await n.getFile()}}catch(t){if(t instanceof DOMException&&(t.name===`NotFoundError`||t.name===`NotAllowedError`))return await L(e),null;throw t}}async function it(e,t){let n=await I(P(e));if(!(!n||!await R(n,t)))try{return{file:await n.getFile(),handle:n}}catch{await L(P(e));return}}async function at(e,t){let n={remembered:!0,fromCache:!1,restoredUnsaved:!1,fileDetached:!1,diskChanged:!1},r=await Te(e),i=await rt(e,t.interactive),a=i&&i!==`denied`?i.handle:void 0,o=i&&i!==`denied`?i.file:null;if(r?.meta.dirty){let{connectionId:t,source:i}=await He(e,r.bytes,r.meta,a),s=o?o.lastModified!==r.meta.lastModified||o.size!==r.meta.size:!1;return{...n,connectionId:t,fileName:i.name,wal:i.wal,walApplied:i.walApplied,fromCache:!0,restoredUnsaved:!0,fileDetached:!a,diskChanged:s}}if(o&&a){let{connectionId:r,source:i}=await J(o,a,await it(e,t.interactive),{profileId:e});return{...n,connectionId:r,fileName:i.name,wal:i.wal,walApplied:i.walApplied}}if(r){let{connectionId:t,source:i}=await He(e,r.bytes,r.meta);return{...n,connectionId:t,fileName:i.name,wal:i.wal,walApplied:i.walApplied,fromCache:!0,fileDetached:!0}}if(!t.interactive)return null;let s=await Be();if(!s)return null;let{connectionId:c,source:l}=await J(s.main.file,s.main.handle,s.wal,{profileId:e});return s.main.handle?await F(e,s.main.handle):await L(e),s.wal?.handle?await F(P(e),s.wal.handle):await L(P(e)),{...n,connectionId:c,fileName:l.name,wal:l.wal,walApplied:l.walApplied,remembered:!1}}var ot=`SQLite format 3\0`;async function st(e){if(e.size===0)return!0;if(e.size<100)return!1;let t=new Uint8Array(await e.slice(0,16).arrayBuffer());return String.fromCharCode(...t)===ot}async function ct(e,t){try{let n=await I(e);return n?await n.isSameEntry(t):!1}catch{return!1}}async function lt(n){let i=n.find(e=>!U(e.file.name));if(!i)return;if(!await st(i.file))throw Error(r.t(`app.dropNotSqlite`,{name:i.file.name}));let a=n.find(e=>U(e.file.name)&&e.file.name.toLowerCase()===`${i.file.name.toLowerCase()}-wal`),o=l.getState(),s;for(let e of o.savedConnections)if(!(e.dbms!==`sqlite`||(e.transport??`browser`)!==`browser`||e.sample||e.file!==i.file.name)&&i.handle&&await ct(e.id,i.handle)){s=e;break}let c=s??{id:crypto.randomUUID(),hostName:i.file.name.replace(/\.(db|sqlite|sqlite3|db3)$/i,``),host:``,user:``,pass:``,charset:`utf8`,port:0,dbms:`sqlite`,transport:`browser`,file:i.file.name,autoConnection:!1,savePassword:!0,authToken:``};e(`sqlite_file_drop`,{reused:!!s,wal:!!a,handle:!!i.handle});let d=o.activeConnections.some(e=>e.id===c.id),f=o.activeConnections.find(e=>e.id===c.id)?.serverConnectionId,{connectionId:p}=await J(i.file,i.handle,a,{profileId:c.id});f&&f!==p&&V(f)&&X(f),i.handle?await F(c.id,i.handle):await L(c.id),a?.handle?await F(P(c.id),a.handle):await L(P(c.id)),s||o.addSavedConnection(c),o.openConnection({...c,serverConnectionId:p}),o.setPendingReopen(c.id,!1),o.setFileDetached(c.id,!1),d?ve.getState().removeTree(c.id):u.getState().addQueryTab(c.id,{id:`tab-${Date.now()}`,title:r.t(`connection.dialog.firstQueryTab`),query:``,database:``,isExecuting:!1,results:[],error:null,executionTime:null}),t.getState().setWelcomeVisible(!1)}async function ut(e,t){let n=await rt(e,!0);return!n||n===`denied`?!1:(Ue(t,n.handle),!0)}async function dt(e){let t=Z(e),n=Y(e);return n&&!n.handle&&t&&await ut(t,e),tt(e)}function ft(e){let t=Y(e);return t?t.name===`:memory:`?r.t(`services.save.inMemory`):typeof window<`u`&&!(`showOpenFilePicker`in window)?r.t(`services.save.noFileSystemAccess`):!t.handle&&!Z(e)?r.t(`services.save.noWritableHandle`):null:r.t(`services.save.notBrowserSqlite`)}async function pt(e,t){let n=await Ve();if(!n)return null;let r=await Ge(t,n);return n.handle&&await F(P(e),n.handle),{connectionId:r.connectionId,appliedFrames:r.appliedFrames}}function mt(e){if(!V(e))return null;let t=Y(e);return t?{wal:t.wal,walApplied:t.walApplied,walAcknowledged:t.walAcknowledged??!1}:null}function ht(e){return e.dbms===`sqlite`&&e.transport===`browser`?`browser`:`tunnel`}async function gt(e,t){return C(e,t)}async function _t(e,t){return ge(e,t)}async function vt(e,t,n){let r=e=>({success:!1,fields:[],records:[],affectedRows:0,insertId:0,isResultQuery:!1,execTime:0,message:e instanceof Error?e.message:String(e)});if(V(e))try{return await Ye(e,t)}catch(e){return r(e)}let i=Q.get(e)??e;try{return await w(i,t,n)}catch(e){if(!(e instanceof x)||e.status!==404)return r(e);let a=await yt(i);if(!a)return r(e);try{return await w(a,t,n)}catch(e){return r(e)}}}var Q=new Map,$=new Map;function yt(e){let n=$.get(e);if(n)return n;let i=(async()=>{let n=l.getState(),i=n.activeConnections.find(t=>t.serverConnectionId===e||Q.get(t.serverConnectionId??``)===e);if(!i||ht(i)===`browser`||se())return null;if(i.serverConnectionId&&i.serverConnectionId!==e&&!Q.has(i.serverConnectionId))return Q.set(e,i.serverConnectionId),i.serverConnectionId;let a=n.resolveCredentials(i),o=a.ssh?.enabled&&a.ssh.auth===`password`&&!a.ssh.password;if(!a.pass&&i.pass===``&&i.dbms!==`sqlite`||o)return null;try{let n=await C(v(a),a.authToken||void 0);if(!n.success||!n.connectionId)return null;for(let[t,r]of Q)r===e&&Q.set(t,n.connectionId);return Q.set(e,n.connectionId),l.getState().updateServerConnectionId(i.id,n.connectionId),l.getState().setTransactionOpen(i.id,!1),t.getState().setFooterMessage(r.t(`services.agent.reconnected`,{name:i.hostName||i.host||i.databaseId||i.file||i.id})),n.connectionId}catch{return null}})();return $.set(e,i),i.finally(()=>$.delete(e)),i}async function bt(e){if(V(e)){let t=Z(e);X(e),t&&await Oe(t);return}return he(e)}function xt(e){return async(t,n)=>{let i=await vt(e,t,n);if(!i.success)throw Error(i.message??r.t(`services.query.failed`));return i}}export{ee as A,ne as C,pe as D,oe as E,d as M,v as O,ce as S,fe as T,V as _,bt as a,ve as b,mt as c,lt as d,ut as f,Qe as g,$e as h,ft as i,p as j,f as k,ht as l,_t as m,gt as n,vt as o,dt as p,xt as r,nt as s,at as t,pt as u,We as v,le as w,se as x,J as y};
@@ -0,0 +1,353 @@
1
+ var e=/^(?:-?\d+(?:\.\d+)?|null|true|false|current_(?:timestamp|date|time)(?:\(\d*\))?|now\(\)|b'[01]+'|x'[0-9a-f]*')$/i;function t(t,n){let r=t.trim();return r===``?n(``):e.test(r)||/^'.*'$/s.test(r)||/^".*"$/s.test(r)||r.includes(`(`)||r.includes(`::`)?r:n(r)}function n(e,n,r){let i=n.upperCaseTypes?e.type.toUpperCase():e.type;return e.nullable?n.modify===`mssql`&&(i+=` NULL`):i+=` NOT NULL`,e.defaultValue!==null&&!/auto_increment|identity/i.test(e.extra)&&(i+=` DEFAULT ${t(e.defaultValue,r)}`),n.mysqlAttributes&&(/auto_increment/i.test(e.extra)&&(i+=` AUTO_INCREMENT`),e.comment&&(i+=` COMMENT ${r(e.comment)}`)),i}function r({quoteIdentifier:e,quoteLiteral:r,qualify:i},a){let o=e=>n(e,a,r),s=(t,n)=>a.qualifiedIndexNames?i(t,n):e(n);return{addColumn(t,n,r){let s=`${e(r.name)} ${o(r)}`;return a.addColumn===`ADD (`?`ALTER TABLE ${i(t,n)} ADD (${s});`:`ALTER TABLE ${i(t,n)} ${a.addColumn} ${s};`},alterColumn(n,s,c){let l=i(n,s),u=e(c.name);switch(a.modify){case`mysql`:return`ALTER TABLE ${l} MODIFY COLUMN ${u} ${o(c)};`;case`oracle`:return`ALTER TABLE ${l} MODIFY (${u} ${o(c)});`;case`mssql`:return`ALTER TABLE ${l} ALTER COLUMN ${u} ${c.type}${c.nullable?` NULL`:` NOT NULL`};`;case`postgres`:return`ALTER TABLE ${l}\n ${[`ALTER COLUMN ${u} TYPE ${c.type}`,c.nullable?`ALTER COLUMN ${u} DROP NOT NULL`:`ALTER COLUMN ${u} SET NOT NULL`,c.defaultValue===null||/auto_increment|identity/i.test(c.extra)?`ALTER COLUMN ${u} DROP DEFAULT`:`ALTER COLUMN ${u} SET DEFAULT ${t(c.defaultValue,r)}`].join(`,
2
+ `)};`;case`none`:return null}},dropColumn(t,n,r){return`ALTER TABLE ${i(t,n)} DROP COLUMN ${e(r)};`},createIndex(t,n,r){let o=r.columns.map(e).join(`, `);if(r.type===`PRIMARY`)return`ALTER TABLE ${i(t,n)} ADD PRIMARY KEY (${o});`;let c=r.type===`UNIQUE`?`UNIQUE `:r.type===`FULLTEXT`&&a.fulltext?`FULLTEXT `:``,l=a.unqualifiedIndexTarget?e(n):i(t,n);return`CREATE ${c}INDEX ${s(t,r.name)} ON ${l} (${o});`},dropIndex(t,n,r){return a.dropIndexOnTable?`DROP INDEX ${e(r)} ON ${i(t,n)};`:`DROP INDEX ${s(t,r)};`},insertRows(t,n,o,s){let c=i(t,n),l=o.map(e).join(`, `),u=s.map(e=>`(${e.map(r).join(`, `)})`);return a.multiRowInsert?`INSERT INTO ${c} (${l}) VALUES\n${u.join(`,
3
+ `)};`:`INSERT ALL\n${u.map(e=>` INTO ${c} (${l}) VALUES ${e}`).join(`
4
+ `)}\nSELECT 1 FROM DUAL;`}}}var i={DATABASE:`database`,SCHEMA:`schema`,TABLE:`table`,VIEW:`view`,COLUMN:`column`,INDEX:`index`,PROCEDURE:`procedure`,FUNCTION:`function`,TRIGGER:`trigger`,EVENT:`event`,FOLDER:`folder`,USER:`user`};function a(e,t,n){let r=`${t}:${n.replaceAll(`/`,`⁄`)}`;return e?`${e}/${r}`:r}function o(e,t,n,r,i){return{id:a(e,t,n),type:t,text:n,isLeaf:r,isExpanded:!1,isLoading:!1,children:[],metadata:i}}var s=[{text:`Tables`,type:`TABLE`},{text:`Views`,type:`VIEW`},{text:`Procedures`,type:`PROCEDURE`,capability:`procedures`},{text:`Functions`,type:`FUNCTION`,capability:`functions`},{text:`Triggers`,type:`TRIGGER`,capability:`triggers`},{text:`Events`,type:`EVENT`,capability:`events`}],c=[`Columns`,`Indexes`],l={TABLE:i.TABLE,VIEW:i.VIEW,PROCEDURE:i.PROCEDURE,FUNCTION:i.FUNCTION,TRIGGER:i.TRIGGER,EVENT:i.EVENT};function u(e){return s.find(t=>t.type===e).text}function ee(e){return s.filter(t=>!t.capability||e.capabilities[t.capability]).map(e=>e.text)}function te(e,t,n){return ee(e).map(e=>o(t,i.FOLDER,e,!1,{...n,countable:!0}))}async function ne({engine:e,run:t},n){let{introspect:r}=e,a=n.metadata?.database??``,s={database:a,catalog:n.metadata?.catalog},c=(e,t,r)=>o(n.id,l[e],t,!0,{...s,...r});switch(n.text){case`Tables`:return(await r.listTables(t,a)).map(e=>o(n.id,i.TABLE,e.name,!1,{...s,table:e.name}));case`Views`:return(await r.listViews(t,a)).map(e=>c(`VIEW`,e));case`Procedures`:return(await r.listProcedures(t,a)).map(e=>c(`PROCEDURE`,e));case`Functions`:return(await r.listFunctions(t,a)).map(e=>c(`FUNCTION`,e));case`Triggers`:return r.listTriggerDetails?(await r.listTriggerDetails(t,a)).map(e=>c(`TRIGGER`,e.name,{table:e.table})):(await r.listTriggers(t,a)).map(e=>c(`TRIGGER`,e));case`Events`:return(await r.listEvents(t,a)).map(e=>c(`EVENT`,e));default:return[]}}function re(e){let t={database:e.metadata?.database,catalog:e.metadata?.catalog,table:e.text};return c.map(n=>o(e.id,i.FOLDER,n,!1,t))}async function ie({engine:e,run:t},n){let r=n.metadata?.database??``,a=n.metadata?.table;if(!a)return null;let s={database:r,catalog:n.metadata?.catalog,table:a};switch(n.text){case`Columns`:return(await e.introspect.listColumns(t,r,a)).map(e=>{let t=e.extra?` [${e.extra}]`:``;return o(n.id,i.COLUMN,`${e.name} ${e.type}${t}`,!0,{...s,column:e.name,key:e.key})});case`Indexes`:return(await e.introspect.listIndexes(t,r,a)).map(e=>o(n.id,i.INDEX,`${e.name} (${e.columns.join(`, `)})`,!0,{...s,index:e.name}));default:return null}}async function ae(e,t){switch(t.type){case i.FOLDER:return await ie(e,t)??ne(e,t);case i.TABLE:return re(t);default:return null}}function oe(e,t,n){let r=a(e,i.FOLDER,u(t));return[e,r,a(r,l[t],n)]}var se={async loadRoot({engine:e,run:t}){return(await e.introspect.listDatabases(t)).map(e=>o(null,i.DATABASE,e,!1,{database:e}))},async loadChildren(e,t){return t.type===i.DATABASE?te(e.engine,t.id,{database:t.text}):await ae(e,t)??[]},objectPath(e,t,n){return oe(a(null,i.DATABASE,e),t,n)},namespacePath(e){return[a(null,i.DATABASE,e)]}},ce=class extends Error{constructor(e,t){super(`${e} does not support ${t}`),this.name=`UnsupportedQueryError`}};function le(e,t,...n){let r=t.identifierQuote,i=t.identifierQuoteClose??r;return e.replace(/(.?)\{(\d+)\}(.?)/gs,(e,a,o,s)=>{let c=parseInt(o,10);if(c>=n.length)return e;let l=n[c];return a===r&&s===i?`${a}${l.replaceAll(i,i+i)}${s}`:a&&a===s&&t.stringQuotes.includes(a)?`${a}${d(l,a,t.backslashEscapes)}${s}`:`${a}${l}${s}`})}function d(e,t,n){let r=n?e.replaceAll(`\\`,`\\\\`):e;return r=r.replaceAll(t,t+t),r}function f(e){return String(e).padStart(2,`0`)}function ue(e){return`${e.getFullYear()}-${f(e.getMonth()+1)}-${f(e.getDate())} ${f(e.getHours())}:${f(e.getMinutes())}:${f(e.getSeconds())}`}var de=/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/,fe=e=>Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``),pe=e=>`X'${e}'`;function me(e,t,n=!1,r=pe){if(e==null)return`NULL`;if(e instanceof Uint8Array)return r(fe(e));if(typeof e==`number`)return Number.isFinite(e)?String(e):`NULL`;if(typeof e==`bigint`)return e.toString();if(typeof e==`boolean`)return n?e?`TRUE`:`FALSE`:e?`1`:`0`;if(e instanceof Date)return`'${ue(e)}'`;let i;if(typeof e==`object`)try{i=JSON.stringify(e)}catch{i=String(e)}else{i=String(e);let t=i.match(de);t&&(i=`${t[1]} ${t[2]}`)}return`'${d(i,`'`,t)}'`}function p(e){let t=e.fields.map(e=>e.name);return e.records.map(e=>{let n={};return t.forEach((t,r)=>{n[t]=e[r]}),n})}function m(e,t=``){return e==null?t:String(e)}function h(e){return e==null?null:String(e)}function g(e){if(e==null||e===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function _(e,t){return e.trim()||t}function v(e){let t=e.identifierQuote,n=e.identifierQuoteClose??t,r=e=>`${t}${e.replaceAll(n,n+n)}${n}`,i=t=>me(t,e.syntax.backslashEscapes,e.booleanKeywords??!1,e.binaryLiteral),a=(e,t)=>e?`${r(e)}.${r(t)}`:r(t),o={identifierQuote:t,identifierQuoteClose:n,stringQuotes:e.syntax.doubleQuoteIsIdentifier?[`'`]:[`'`,`"`],backslashEscapes:e.syntax.backslashEscapes};return{id:e.id,label:e.label,capabilities:e.capabilities,introspect:e.introspect,tree:e.tree??se,defaultPort:e.defaultPort,syntax:e.syntax,limitClause:t=>e.syntax.limitStyle===`top`?`OFFSET 0 ROWS FETCH NEXT ${t} ROWS ONLY`:e.syntax.limitStyle===`fetch`?`FETCH FIRST ${t} ROWS ONLY`:`LIMIT ${t}`,quoteIdentifier:r,quoteLiteral:i,qualify:a,ddl:e.ddl({quoteIdentifier:r,quoteLiteral:i,qualify:a}),rowIdExpression:e.rowIdExpression,hasQuery(t){return e.queries[t]!==void 0},getQuery(t,...n){let r=e.queries[t];if(r===void 0)throw new ce(e.label,t);return le(r,o,...n)},getDataTypes:()=>e.dataTypes,getDataTypesToJSON:()=>e.dataTypes.map(e=>[e,e]),getFunctions:()=>e.functions,getReservedWords:()=>e.reservedWords}}var y=e=>`\`${e.replaceAll("`","``")}\``,b=(e,t)=>`${y(e)}.${y(t)}`,x=e=>`'${e.replace(/\\/g,`\\\\`).replace(/'/g,`''`)}'`;function he(e){let t=m(e).toUpperCase();return t===`PRI`||t===`UNI`||t===`MUL`?t:``}function ge(e,t,n){if(e===`PRIMARY`)return`PRIMARY`;let r=m(n).toUpperCase();return r===`FULLTEXT`?`FULLTEXT`:r===`SPATIAL`?`SPATIAL`:Number(t)===0?`UNIQUE`:`INDEX`}function _e(e){return{name:m(e.Name??e.TABLE_NAME),engine:h(e.Engine??e.ENGINE),rows:g(e.Rows??e.TABLE_ROWS),collation:h(e.Collation??e.TABLE_COLLATION),autoIncrement:h(e.Auto_increment??e.AUTO_INCREMENT),comment:m(e.Comment??e.TABLE_COMMENT),createTime:h(e.Create_time??e.CREATE_TIME),updateTime:h(e.Update_time??e.UPDATE_TIME),dataLength:g(e.Data_length??e.DATA_LENGTH)}}function ve(e){return{name:m(e.Field??e.COLUMN_NAME),type:m(e.Type??e.COLUMN_TYPE),nullable:m(e.Null??e.IS_NULLABLE).toUpperCase()===`YES`,key:he(e.Key??e.COLUMN_KEY),defaultValue:h(e.Default??e.COLUMN_DEFAULT),extra:m(e.Extra??e.EXTRA),comment:m(e.Comment??e.COLUMN_COMMENT),collation:h(e.Collation??e.COLLATION_NAME)}}function ye(e){let t=new Map;for(let n of e){let e=m(n.Table??n.TABLE_NAME),r=m(n.Key_name??n.INDEX_NAME),i=m(n.Column_name??n.COLUMN_NAME),a=t.get(e);a||(a=new Map,t.set(e,a));let o=a.get(r);o?o.columns.push(i):a.set(r,{name:r,type:ge(r,n.Non_unique??n.NON_UNIQUE,n.Index_type??n.INDEX_TYPE),columns:[i]})}return new Map(Array.from(t,([e,t])=>[e,Array.from(t.values())]))}var be={TABLE:`TABLE`,VIEW:`VIEW`,PROCEDURE:`PROCEDURE`,FUNCTION:`FUNCTION`,TRIGGER:`TRIGGER`,EVENT:`EVENT`},xe={async listDatabases(e){return(await e(`SHOW DATABASES`)).records.map(e=>m(e[0]))},async listTables(e,t){return p(await e(`SHOW TABLE STATUS FROM ${y(t)} WHERE ENGINE IS NOT NULL`,t)).map(_e)},async listViews(e,t){return(await e(`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = ${x(t)} ORDER BY TABLE_NAME`,t)).records.map(e=>m(e[0]))},async listProcedures(e,t){return p(await e(`SHOW PROCEDURE STATUS WHERE DB = ${x(t)}`,t)).map(e=>m(e.Name))},async listFunctions(e,t){return p(await e(`SHOW FUNCTION STATUS WHERE DB = ${x(t)}`,t)).map(e=>m(e.Name))},async listTriggers(e,t){return p(await e(`SHOW TRIGGERS FROM ${y(t)}`,t)).map(e=>m(e.Trigger))},async listEvents(e,t){return(await e(`SELECT EVENT_NAME FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA = ${x(t)} ORDER BY EVENT_NAME`,t)).records.map(e=>m(e[0]))},async listColumns(e,t,n){return p(await e(`SHOW FULL COLUMNS FROM ${b(t,n)}`,t)).map(ve)},async listIndexes(e,t,n){return ye(p(await e(`SHOW INDEX FROM ${b(t,n)}`,t))).get(n)??[]},async listAllColumns(e,t){let n=await e(`SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT,
5
+ EXTRA, COLUMN_COMMENT, COLLATION_NAME
6
+ FROM information_schema.COLUMNS
7
+ WHERE TABLE_SCHEMA = ${x(t)}
8
+ ORDER BY TABLE_NAME, ORDINAL_POSITION`,t),r=new Map;for(let e of p(n)){let t=m(e.TABLE_NAME),n=r.get(t)??[];n.push(ve(e)),r.set(t,n)}return r},async listAllIndexes(e,t){return ye(p(await e(`SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME, NON_UNIQUE, INDEX_TYPE
9
+ FROM information_schema.STATISTICS
10
+ WHERE TABLE_SCHEMA = ${x(t)}
11
+ ORDER BY TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX`,t)))},async listForeignKeys(e,t){return(await e(`SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
12
+ FROM information_schema.KEY_COLUMN_USAGE
13
+ WHERE TABLE_SCHEMA = ${x(t)} AND REFERENCED_TABLE_NAME IS NOT NULL
14
+ ORDER BY TABLE_NAME, CONSTRAINT_NAME, ORDINAL_POSITION`,t)).records.map(e=>({name:m(e[0]),table:m(e[1]),column:m(e[2]),refTable:m(e[3]),refColumn:m(e[4])}))},async getTableInfo(e,t,n){let r=p(await e(`SHOW TABLE STATUS FROM ${y(t)} LIKE ${x(n)}`,t));return r.length>0?_e(r[0]):null},async getPrimaryKeys(e,t,n){return p(await e(`SHOW KEYS FROM ${b(t,n)} WHERE Key_name = 'PRIMARY'`,t)).map(e=>m(e.Column_name))},async getCreateStatement(e,t,n,r){let i=await e(`SHOW CREATE ${be[n]} ${b(t,r)}`,t);if(i.records.length===0)return null;let a=i.fields.findIndex(e=>/^create /i.test(e.name)),o=i.records[0];return h(a>=0?o[a]:o.find(e=>/create/i.test(m(e))))}},Se={SELECT_ALL_USER:"SELECT * FROM `mysql`.`user`",SELECT_USER:'SELECT * FROM `mysql`.`user` WHERE user="{0}" AND host="{1}"',SELECT_COUNT:"SELECT COUNT(1) as cnt FROM `{0}`.`{1}`",CREATE_USER:'CREATE USER `{0}`@`{1}` IDENTIFIED BY "{2}"',DELETE_USER:"DROP USER `{0}`@`{1}`",GRANT:"GRANT {0} ON {3} TO `{1}`@`{2}` {4}",REVOKE:"REVOKE {0} ON {3} FROM `{1}`@`{2}`",RENAME_USER:"RENAME USER `{0}`@`{1}` TO `{2}`@`{3}`",USER_PRIV:'SELECT * FROM `mysql`.`user` WHERE USER = "{0}" AND HOST = "{1}"',USER_DATABASE_PRIV:'SELECT * FROM `mysql`.`db` WHERE USER = "{0}" AND HOST = "{1}"',USER_TABLE_PRIV:'SELECT Db, Table_name, Table_priv FROM `mysql`.`tables_priv` WHERE USER = "{0}" AND HOST = "{1}"',USER_COLUMN_PRIV:'SELECT Db, Table_name, Column_name, Column_priv FROM `mysql`.`columns_priv` WHERE USER = "{0}" AND HOST = "{1}"',USER_PROC_PRIV:'SELECT Db, Routine_name, Routine_type, Proc_priv FROM `mysql`.`procs_priv` WHERE USER = "{0}" AND HOST = "{1}"',SHOW_FULL_FIELDS:"SHOW FULL FIELDS FROM `{0}`.`{1}`",SHOW_DATABASE_VIEWS:"SHOW FULL TABLES FROM `{0}` WHERE TABLE_TYPE LIKE 'VIEW'",SHOW_DATABASE_TABLES:"SHOW FULL TABLES FROM `{0}` WHERE table_type = 'BASE TABLE'",SHOW_ADVANCED_PROPERTIES:'SHOW TABLE STATUS FROM `{0}` LIKE "{1}"',SHOW_DATABASE:`SHOW DATABASES`,ADD_INDEX:"CREATE {3} INDEX {2} ON `{0}`.`{1}`({4}) {5}",SHOW_INDEX:'SHOW INDEX FROM `{0}`.`{1}` WHERE key_name="{2}"',SHOW_INDEXES:"SHOW INDEX FROM `{0}`.`{1}`",DROP_INDEX:"DROP INDEX {2} ON `{0}`.`{1}`",DROP_PROCEDURE:"DROP PROCEDURE {2} `{0}`.`{1}`",DROP_FUNCTION:"DROP FUNCTION {2} `{0}`.`{1}`",DROP_TRIGGER:"DROP TRIGGER {2} `{0}`.`{1}`",DROP_EVENT:"DROP EVENT {2} `{0}`.`{1}`",DROP_VIEW:"DROP VIEW {2} `{0}`.`{1}`",SHOW_PROCEDURES:`SHOW PROCEDURE STATUS WHERE DB = "{0}"`,SHOW_FUNCTIONS:`SHOW FUNCTION STATUS WHERE DB = "{0}"`,SHOW_TRIGGERS:"SHOW TRIGGERS FROM `{0}`",SHOW_EVENTS:'SELECT `Event_name`,`Definer`,`Event_type`,`Execute_at`,`Interval_value`,`Interval_field`,`Starts`,`Ends`,`Status` FROM `INFORMATION_SCHEMA`.`EVENTS` WHERE `EVENT_SCHEMA` = "{0}"',SHOW_VIEWS:'SELECT `TABLE_NAME` AS View_name,`View_definition`,`Check_option`,`Is_updatable`,`Definer`,`Security_type` FROM `INFORMATION_SCHEMA`.`VIEWS` WHERE `TABLE_SCHEMA` = "{0}"',SHOW_DATABASE_DDL:"SHOW CREATE DATABASE `{0}`",SHOW_ALL_TABLE_STATUS:"SHOW TABLE STATUS FROM `{0}` WHERE ENGINE IS NOT NULL",SHOW_TABLE_STATUS:'SHOW TABLE STATUS FROM `{0}` like "{1}"',CHANGE_TABLE_TYPE:"ALTER TABLE `{0}`.`{1}` ENGINE = {2}",INSERT_TABLE:"INSERT INTO `{0}`.`{1}` ({2}) VALUES({3});",INSERT_TABLE_BULK:"INSERT INTO `{0}`.`{1}` ({2}) VALUES {3};",INSERT_DEFAULT_VALUES:"INSERT INTO `{0}`.`{1}` () VALUES ();",INSERT_ON_DUPLICATE:"INSERT INTO `{0}`.`{1}` ({2}) VALUES({3}) ON DUPLICATE KEY UPDATE {4}",UPDATE_TABLE:"UPDATE `{0}`.`{1}` SET {2} WHERE {3};",DELETE_TABLE:"DELETE FROM `{0}`.`{1}` WHERE {2};",SELECT_TABLE:"SELECT {2} FROM `{0}`.`{1}` {3};",TRUNCATE_TABLE:"TRUNCATE TABLE `{0}`.`{1}`",RENAME_TABLE:"RENAME TABLE `{0}`.`{1}` TO `{2}`.`{3}`",DROP_TABLE:"DROP TABLE {2} `{0}`.`{1}`",TABLE_CREATE_INFO:"SHOW CREATE TABLE `{0}`.`{1}`",TABLE_KEYS_INFO:"SHOW KEYS FROM `{0}`.`{1}`",INDEX_KEYS_INFO:'SHOW KEYS FROM `{0}`.`{1}` WHERE key_name="{2}"',CREATE_PROCEDURE:`DELIMITER $$
15
+ CREATE
16
+ /*[DEFINER = { user | CURRENT_USER }]*/
17
+ PROCEDURE \`{0}\`.\`{1}\`()
18
+
19
+ /* LANGUAGE SQL */
20
+ /* [NOT] DETERMINISTIC { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } */
21
+ /* SQL SECURITY { DEFINER | INVOKER } */
22
+ /* COMMENT 'string'*/
23
+ BEGIN
24
+
25
+ /* SQL Statements */
26
+
27
+ END$$
28
+ DELIMITER ;`,CREATE_FUNCTION:`DELIMITER $$
29
+ CREATE
30
+ /*[DEFINER = { user | CURRENT_USER }]*/
31
+ FUNCTION \`{0}\`.\`{1}\`()
32
+ RETURNS INT /*{STRING|INTEGER|REAL|DECIMAL}*/ /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string'*/
33
+ BEGIN
34
+
35
+ /* SQL Statements */
36
+
37
+ END$$
38
+ DELIMITER ;`,CREATE_TRIGGER:`DELIMITER $$
39
+ CREATE
40
+ /*[DEFINER = { user | CURRENT_USER }]*/
41
+ TRIGGER \`{0}\`.\`{1}\`
42
+ BEFORE
43
+ -- AFTER
44
+ INSERT
45
+ -- UPDATE
46
+ -- DELETE
47
+ ON \`{0}\`.\`<Table Name>\` FOR EACH ROW
48
+ BEGIN
49
+
50
+ /* SQL Statements */
51
+
52
+ END$$
53
+ DELIMITER ;`,CREATE_EVENT:`DELIMITER $$
54
+ -- SET GLOBAL event_scheduler = ON$$
55
+ -- required for event to execute but not create
56
+ CREATE
57
+ /*[DEFINER = { user | CURRENT_USER }]*/
58
+ EVENT \`{0}\`.\`{1}\`
59
+ ON SCHEDULE EVERY 1 HOUR /* uncomment the example below you want to use */
60
+ -- scheduleexample 1: run once
61
+ -- AT 'YYYY-MM-DD HH:MM.SS'/CURRENT_TIMESTAMP { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] }
62
+ -- scheduleexample 2: run at intervals forever after creation
63
+ -- scheduleexample 3: specified start time, end time and interval for execution
64
+ /*
65
+ EVERY 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...]
66
+ STARTS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1[HOUR|MONTH|WEEK|DAY|MINUTE|...] }
67
+ ENDS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] }
68
+ */
69
+ /*[ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE] */
70
+ /* COMMENT 'comment' */
71
+ DO BEGIN
72
+
73
+ /* SQL Statements */
74
+
75
+ END$$
76
+ DELIMITER ;`,CREATE_VIEW:`CREATE
77
+ /* [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] */
78
+ /* DEFINER = user | CURRENT_USER */
79
+ /* SQL SECURITY { DEFINER | INVOKER }] */
80
+ VIEW \`{0}\`.\`{1}\` AS
81
+ /* SQL SELECT Statement */`,SHOW_CREATE_PROCEDURE:"SHOW CREATE PROCEDURE `{0}`.`{1}`",SHOW_CREATE_TABLE:"SHOW CREATE TABLE `{0}`.`{1}`",SHOW_CREATE_VIEW:"SHOW CREATE TABLE `{0}`.`{1}`",SHOW_CREATE_FUNCTION:"SHOW CREATE FUNCTION `{0}`.`{1}`",SHOW_CREATE_TRIGGER:"SHOW CREATE TRIGGER `{0}`.`{1}`",SHOW_CREATE_EVENT:"SHOW CREATE EVENT `{0}`.`{1}`",CREATE_TABLE:"CREATE TABLE `{0}`.`{1}` {2}",ALTER_TABLE:"ALTER TABLE `{0}`.`{1}` {2}",ALTER_VIEW:`DELIMITER $$
82
+ USE \`{0}\`$$
83
+ DROP VIEW IF EXISTS \`{1}\`$$
84
+ {2}$$
85
+ DELIMITER;`,ALTER_PROCEDURE:`DELIMITER $$
86
+ USE \`{0}\`$$
87
+ DROP PROCEDURE IF EXISTS \`{1}\`$$
88
+ {2}$$
89
+ DELIMITER;`,ALTER_FUNCTION:`DELIMITER $$
90
+ USE \`{0}\`$$
91
+ DROP FUNCTION IF EXISTS \`{1}\`$$
92
+ {2}$$
93
+ DELIMITER;`,ALTER_TRIGGER:`DELIMITER $$
94
+ USE \`{0}\`$$
95
+ DROP TRIGGER IF EXISTS \`{1}\`$$
96
+ {2}$$
97
+ DELIMITER;`,ALTER_EVENT:`DELIMITER $$
98
+ USE \`{0}\`$$
99
+ DROP EVENT IF EXISTS \`{1}\`$$
100
+ {2}$$
101
+ DELIMITER;`,SHOW_PROCESS_LIST:`SHOW FULL PROCESSLIST`,SHOW_VARIABLES:`SHOW VARIABLES`,SHOW_STATUS:`SHOW STATUS`,SHOW_GLOBAL_STATUS:`SHOW GLOBAL STATUS`,SHOW_SESSION_STATUS:`SHOW SESSION STATUS`,CREATE_DATABASE:"CREATE DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",ALTER_DATABASE:"ALTER DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",DROP_DATABASE:"DROP DATABASE `{0}`",CREATE_SCHEMA:"CREATE SCHEMA `{0}`",DROP_SCHEMA:"DROP SCHEMA `{0}`",SHOW_CHARSET:`SHOW CHARSET`,SHOW_COLLATION:`SHOW COLLATION`,SHOW_COLUMNS:"SHOW FULL COLUMNS FROM `{0}`.`{1}`",CHARSET_DATABASE:`SHOW VARIABLES LIKE 'character_set_database'`,COLLATION_DATABASE:`SHOW VARIABLES LIKE 'collation_database'`,KILL_QUERY:`KILL {0}`,SHOW_DATABASES:`SHOW DATABASES`,COPY_TABLE_STRUCTURE:"CREATE TABLE `{2}`.`{3}` LIKE `{0}`.`{1}`",COPY_TABLE_DATA:"INSERT `{2}`.`{3}` SELECT * FROM `{0}`.`{1}`",UPDATE_TABLE_SINGLE:"UPDATE `{0}`.`{1}` SET {2} WHERE {3} LIMIT 1",START_TRANSACTION:`START TRANSACTION`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,SHOW_GLOBAL_VARIABLES:`SHOW GLOBAL VARIABLES`,SHOW_SESSION_VARIABLES:`SHOW SESSION VARIABLES`,DISABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 0`,ENABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 1`},Ce=`ASCII.BIN.BIT_LENGTH.CHAR.CHAR_LENGTH.CHARACTER_LENGTH.CONCAT.CONCAT_WS.ELT.EXPORT_SET.FIELD.FIND_IN_SET.FORMAT.FROM_BASE64.HEX.INSERT.INSTR.LCASE.LEFT.LENGTH.LOAD_FILE.LOCATE.LOWER.LPAD.LTRIM.MAKE_SET.MID.OCT.OCTET_LENGTH.ORD.POSITION.QUOTE.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SOUNDEX.SPACE.STRCMP.SUBSTR.SUBSTRING.SUBSTRING_INDEX.TO_BASE64.TRIM.UCASE.UNHEX.UPPER.WEIGHT_STRING.ABS.ACOS.ASIN.ATAN.ATAN2.CEIL.CEILING.CONV.COS.COT.CRC32.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.TAN.TRUNCATE.ADDDATE.ADDTIME.CONVERT_TZ.CURDATE.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURTIME.DATE.DATE_ADD.DATE_FORMAT.DATE_SUB.DATEDIFF.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.EXTRACT.FROM_DAYS.FROM_UNIXTIME.GET_FORMAT.HOUR.LAST_DAY.LOCALTIME.LOCALTIMESTAMP.MAKEDATE.MAKETIME.MICROSECOND.MINUTE.MONTH.MONTHNAME.NOW.PERIOD_ADD.PERIOD_DIFF.QUARTER.SEC_TO_TIME.SECOND.STR_TO_DATE.SUBDATE.SUBTIME.SYSDATE.TIME.TIME_FORMAT.TIME_TO_SEC.TIMEDIFF.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TO_DAYS.TO_SECONDS.UNIX_TIMESTAMP.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.WEEK.WEEKDAY.WEEKOFYEAR.YEAR.YEARWEEK.BINARY.CAST.COALESCE.CONVERT.GREATEST.IF.IFNULL.INTERVAL.ISNULL.LEAST.NULLIF.AVG.BIT_AND.BIT_OR.BIT_XOR.COUNT.GROUP_CONCAT.JSON_ARRAYAGG.JSON_OBJECTAGG.MAX.MIN.STD.STDDEV.STDDEV_POP.STDDEV_SAMP.SUM.VAR_POP.VAR_SAMP.VARIANCE.CUME_DIST.DENSE_RANK.FIRST_VALUE.LAG.LAST_VALUE.LEAD.NTH_VALUE.NTILE.PERCENT_RANK.RANK.ROW_NUMBER.JSON_ARRAY.JSON_ARRAY_APPEND.JSON_ARRAY_INSERT.JSON_CONTAINS.JSON_CONTAINS_PATH.JSON_DEPTH.JSON_EXTRACT.JSON_INSERT.JSON_KEYS.JSON_LENGTH.JSON_MERGE_PATCH.JSON_MERGE_PRESERVE.JSON_OBJECT.JSON_OVERLAPS.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SCHEMA_VALID.JSON_SCHEMA_VALIDATION_REPORT.JSON_SEARCH.JSON_SET.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.JSON_TABLE.JSON_TYPE.JSON_UNQUOTE.JSON_VALID.JSON_VALUE.AES_DECRYPT.AES_ENCRYPT.COMPRESS.MD5.RANDOM_BYTES.SHA.SHA1.SHA2.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.UNCOMPRESS.UNCOMPRESSED_LENGTH.VALIDATE_PASSWORD_STRENGTH.BENCHMARK.CHARSET.COERCIBILITY.COLLATION.CONNECTION_ID.CURRENT_ROLE.CURRENT_USER.DATABASE.FOUND_ROWS.ICU_VERSION.LAST_INSERT_ID.ROLES_GRAPHML.ROW_COUNT.SCHEMA.SESSION_USER.SYSTEM_USER.USER.VERSION.ANY_VALUE.BIN_TO_UUID.DEFAULT.FORMAT_BYTES.FORMAT_PICO_TIME.GET_LOCK.GROUPING.GTID_SUBSET.GTID_SUBTRACT.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.IS_FREE_LOCK.IS_IPV4.IS_IPV4_COMPAT.IS_IPV4_MAPPED.IS_IPV6.IS_USED_LOCK.IS_UUID.NAME_CONST.PS_CURRENT_THREAD_ID.PS_THREAD_ID.RELEASE_ALL_LOCKS.RELEASE_LOCK.SLEEP.SOURCE_POS_WAIT.UUID.UUID_SHORT.UUID_TO_BIN.VALUES.WAIT_FOR_EXECUTED_GTID_SET.EXTRACTVALUE.UPDATEXML.GEOMETRYCOLLECTION.LINESTRING.MULTILINESTRING.MULTIPOINT.MULTIPOLYGON.POINT.POLYGON.MBRCONTAINS.MBRCOVEREDBY.MBRCOVERS.MBRDISJOINT.MBREQUALS.MBRINTERSECTS.MBROVERLAPS.MBRTOUCHES.MBRWITHIN.ST_AREA.ST_ASBINARY.ST_ASGEOJSON.ST_ASTEXT.ST_BUFFER.ST_CENTROID.ST_CONTAINS.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DISTANCE_SPHERE.ST_ENDPOINT.ST_ENVELOPE.ST_EQUALS.ST_EXTERIORRING.ST_GEOHASH.ST_GEOMCOLLFROMTEXT.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMGEOJSON.ST_GEOMFROMTEXT.ST_GEOMFROMWKB.ST_INTERIORRINGN.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISSIMPLE.ST_ISVALID.ST_LATITUDE.ST_LENGTH.ST_LINEFROMTEXT.ST_LONGITUDE.ST_MAKEENVELOPE.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINTFROMTEXT.ST_POINTN.ST_POLYFROMTEXT.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SWAPXY.ST_SYMDIFFERENCE.ST_TOUCHES.ST_TRANSFORM.ST_UNION.ST_VALIDATE.ST_WITHIN.ST_X.ST_Y`.split(`.`),we=`ACCESSIBLE.ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN.BIGINT.BINARY.BLOB.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHAR.CHARACTER.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CUBE.CUME_DIST.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DEC.DECIMAL.DECLARE.DEFAULT.DELAYED.DELETE.DENSE_RANK.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DOUBLE.DROP.DUAL.EACH.ELSE.ELSEIF.EMPTY.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.FALSE.FETCH.FIRST_VALUE.FLOAT.FLOAT4.FLOAT8.FOR.FORCE.FOREIGN.FROM.FULLTEXT.FUNCTION.GENERATED.GET.GRANT.GROUP.GROUPING.GROUPS.HAVING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.INTERSECT.INTERVAL.INTO.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.IS.ITERATE.JOIN.JSON_TABLE.KEY.KEYS.KILL.LAG.LAST_VALUE.LATERAL.LEAD.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINEAR.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LONG.LONGBLOB.LONGTEXT.LOOP.LOW_PRIORITY.MASTER_SSL_VERIFY_SERVER_CERT.MATCH.MAXVALUE.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NOT.NO_WRITE_TO_BINLOG.NTH_VALUE.NTILE.NULL.NUMERIC.OF.ON.OPTIMIZE.OPTIMIZER_COSTS.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PARTITION.PERCENT_RANK.PRECISION.PRIMARY.PROCEDURE.PURGE.RANGE.RANK.READ.READS.READ_WRITE.REAL.RECURSIVE.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESIGNAL.RESTRICT.RETURN.REVOKE.RIGHT.RLIKE.ROW.ROWS.ROW_NUMBER.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SMALLINT.SPATIAL.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.SQL_BIG_RESULT.SQL_CALC_FOUND_ROWS.SQL_SMALL_RESULT.SSL.STARTING.STORED.STRAIGHT_JOIN.SYSTEM.TABLE.TERMINATED.THEN.TINYBLOB.TINYINT.TINYTEXT.TO.TRAILING.TRIGGER.TRUE.UNDO.UNION.UNIQUE.UNLOCK.UNSIGNED.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.VALUES.VARBINARY.VARCHAR.VARCHARACTER.VARYING.VIRTUAL.WHEN.WHERE.WHILE.WINDOW.WITH.WRITE.XOR.YEAR_MONTH.ZEROFILL`.split(`.`),Te=`AUTO_INCREMENT.BEGIN.CHARSET.COMMENT.COMMIT.DO.END.ENGINE.EVENT.FIRST.FOLLOWING.IF EXISTS.IF NOT EXISTS.INVISIBLE.LAST.NULLS.OFFSET.PRECEDING.ROLLBACK.SAVEPOINT.START TRANSACTION.TEMPORARY.TRANSACTION.TRUNCATE.UNBOUNDED.VIEW.VISIBLE.CROSS JOIN.GROUP BY.INNER JOIN.INSERT INTO.LEFT JOIN.ON DUPLICATE KEY UPDATE.ORDER BY.PARTITION BY.RIGHT JOIN.UNION ALL`.split(`.`),Ee=`tinyint.smallint.mediumint.int.integer.bigint.decimal.numeric.float.double.bit.bool.boolean.date.datetime.timestamp.time.year.char.varchar.binary.varbinary.tinyblob.blob.mediumblob.longblob.tinytext.text.mediumtext.longtext.enum.set.json.geometry.point.linestring.polygon.multipoint.multilinestring.multipolygon.geometrycollection`.split(`.`),De={hashComments:!0,dashCommentNeedsSpace:!0,backslashEscapes:!0,doubleQuoteIsIdentifier:!1,bracketIdentifiers:!1,delimiterCommand:!0,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Oe(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:i}=e;return{...r(e,{addColumn:`ADD COLUMN`,modify:`mysql`,qualifiedIndexNames:!1,dropIndexOnTable:!0,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!0,fulltext:!0,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=e.columns.map(e=>{let r=` ${t(_(e.name,`column`))} ${e.type.toUpperCase()}`;return e.length&&(r+=`(${e.length})`),e.unsigned&&(r+=` UNSIGNED`),e.zerofill&&(r+=` ZEROFILL`),e.notNull&&(r+=` NOT NULL`),e.autoIncrement&&(r+=` AUTO_INCREMENT`),e.defaultValue&&(r+=` DEFAULT ${e.defaultValue}`),e.comment&&(r+=` COMMENT ${n(e.comment)}`),r}),a=e.columns.filter(e=>e.primaryKey).map(e=>t(e.name));a.length>0&&r.push(` PRIMARY KEY (${a.join(`, `)})`);for(let n of e.indexes){if(n.type===`PRIMARY`)continue;let e=n.columns.map(t).join(`, `),i=n.type===`UNIQUE`?`UNIQUE KEY`:n.type===`FULLTEXT`?`FULLTEXT KEY`:`KEY`;r.push(` ${i} ${t(n.name)} (${e})`)}let o=[];return e.options.engine&&o.push(`ENGINE=${e.options.engine}`),e.options.charset&&o.push(`DEFAULT CHARSET=${e.options.charset}`),e.options.collation&&o.push(`COLLATE=${e.options.collation}`),e.options.autoIncrement&&o.push(`AUTO_INCREMENT=${e.options.autoIncrement}`),e.options.comment&&o.push(`COMMENT=${n(e.options.comment)}`),`CREATE TABLE ${i(e.database,_(e.name,`untitled`))} (\n${r.join(`,
102
+ `)}\n)${o.length?` `+o.join(` `):``};`}}}var S={id:`mysql`,label:`MySQL`,capabilities:{multipleDatabases:!0,users:!0,procedures:!0,functions:!0,triggers:!0,events:!0,processList:!0,variables:!0,status:!0,flush:!0,tableProperties:!0,implicitCommitDdl:!0,transactions:!0},introspect:xe,ddl:Oe,identifierQuote:"`",defaultPort:3306,queries:Se,syntax:De,dataTypes:Ee,functions:Ce,reservedWords:[...we,...Te]},C=v(S),ke=new Set(`REGEXP_LIKE.JSON_SCHEMA_VALIDATION_REPORT.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.VALIDATE_PASSWORD_STRENGTH.ICU_VERSION.ROLES_GRAPHML.ANY_VALUE.BIN_TO_UUID.UUID_TO_BIN.IS_UUID.GROUPING.FORMAT_BYTES.FORMAT_PICO_TIME.PS_CURRENT_THREAD_ID.PS_THREAD_ID.SOURCE_POS_WAIT.WAIT_FOR_EXECUTED_GTID_SET.ST_GEOHASH.ST_LATITUDE.ST_LONGITUDE.ST_MAKEENVELOPE.ST_SIMPLIFY.ST_TRANSFORM.ST_VALIDATE.ST_SWAPXY.CUBE.CUME_DIST.DENSE_RANK.EMPTY.FIRST_VALUE.GENERATED.GET.GROUPS.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.JSON_TABLE.LAG.LAST_VALUE.LATERAL.LEAD.NTH_VALUE.NTILE.OF.OPTIMIZER_COSTS.PERCENT_RANK.RANK.STORED.SYSTEM.VIRTUAL`.split(`.`)),Ae=`ADD_MONTHS.BINLOG_GTID_POS.COLUMN_ADD.COLUMN_CHECK.COLUMN_CREATE.COLUMN_DELETE.COLUMN_EXISTS.COLUMN_GET.COLUMN_JSON.COLUMN_LIST.CRC32C.DECODE.DECODE_ORACLE.DES_DECRYPT.DES_ENCRYPT.ENCODE.ENCRYPT.JSON_ARRAY_INTERSECT.JSON_COMPACT.JSON_DETAILED.JSON_EQUALS.JSON_EXISTS.JSON_KEY_VALUE.JSON_LOOSE.JSON_NORMALIZE.JSON_OBJECT_FILTER_KEYS.JSON_OBJECT_TO_ARRAY.JSON_QUERY.KDF.LASTVAL.MASTER_GTID_WAIT.MASTER_POS_WAIT.MEDIAN.NATURAL_SORT_KEY.NEXTVAL.NVL.NVL2.OLD_PASSWORD.PASSWORD.PERCENTILE_CONT.PERCENTILE_DISC.ROWNUM.SETVAL.SFORMAT.SYS_GUID.TO_CHAR.TRIM_ORACLE.VALUE`.split(`.`),je=[`DELETE_DOMAIN_ID`,`DO_DOMAIN_IDS`,`IGNORE_DOMAIN_IDS`,`IGNORE_SERVER_IDS`,`MASTER_HEARTBEAT_PERIOD`,`OFFSET`,`PAGE_CHECKSUM`,`PARSE_VCOL_EXPR`,`POSITION`,`REF_SYSTEM_ID`,`RETURNING`,`SLOW`,`STATS_AUTO_RECALC`,`STATS_PERSISTENT`,`STATS_SAMPLE_PAGES`,`SEQUENCE`,`SYSTEM_TIME`,`SYSTEM_VERSIONING`,`WITHOUT`],w=e=>e.filter(e=>!ke.has(e)),T=e=>[...new Set(e)],E=v({...S,id:`maria`,label:`MariaDB`,dataTypes:[...Ee,`inet4`,`inet6`,`uuid`],functions:T([...w(Ce),...Ae]).sort(),reservedWords:T([...w(we),...je,...Te])}),D=e=>`"${e.replaceAll(`"`,`""`)}"`,Me=(e,t)=>`${D(e)}.${D(t)}`,O=e=>`'${e.replace(/'/g,`''`)}'`,Ne=`n.nspname NOT LIKE 'pg\\_%' AND n.nspname <> 'information_schema'`;async function Pe(e,t,n){return(await e(`SELECT c.relname FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
103
+ WHERE n.nspname = ${O(t)} AND c.relkind IN (${n.map(O).join(`, `)}) ORDER BY c.relname`)).records.map(e=>m(e[0]))}async function Fe(e,t,n){return(await e(`SELECT DISTINCT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
104
+ WHERE n.nspname = ${O(t)} AND p.prokind = ${O(n)} ORDER BY p.proname`)).records.map(e=>m(e[0]))}async function k(e,t,n){return p(await e(`SELECT c.relname AS table_name, a.attname AS name,
105
+ format_type(a.atttypid, a.atttypmod) AS type,
106
+ NOT a.attnotnull AS nullable,
107
+ pg_get_expr(d.adbin, d.adrelid) AS default_value,
108
+ a.attidentity <> '' AS identity,
109
+ col_description(a.attrelid, a.attnum) AS comment,
110
+ CASE WHEN a.attcollation <> t.typcollation THEN co.collname END AS collation
111
+ FROM pg_attribute a
112
+ JOIN pg_class c ON c.oid = a.attrelid
113
+ JOIN pg_namespace n ON n.oid = c.relnamespace
114
+ JOIN pg_type t ON t.oid = a.atttypid
115
+ LEFT JOIN pg_attrdef d ON d.adrelid = a.attrelid AND d.adnum = a.attnum
116
+ LEFT JOIN pg_collation co ON co.oid = a.attcollation
117
+ WHERE n.nspname = ${O(t)} AND c.relkind IN ('r', 'p', 'v', 'm', 'f')
118
+ AND a.attnum > 0 AND NOT a.attisdropped${n?` AND c.relname = ${O(n)}`:``}
119
+ ORDER BY c.relname, a.attnum`)).map(e=>({table:m(e.table_name),name:m(e.name),type:m(e.type),nullable:e.nullable===!0||e.nullable===`t`,defaultValue:h(e.default_value),identity:e.identity===!0||e.identity===`t`,comment:m(e.comment),collation:h(e.collation)}))}async function A(e,t,n){return p(await e(`SELECT t.relname AS table_name, i.relname AS name, ix.indisprimary AS is_primary, ix.indisunique AS is_unique,
120
+ array_to_string(ARRAY(
121
+ SELECT COALESCE(a.attname, '<expr>')
122
+ FROM unnest(ix.indkey) WITH ORDINALITY AS k(attnum, ord)
123
+ LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = k.attnum
124
+ ORDER BY k.ord
125
+ ), E'\\n') AS columns
126
+ FROM pg_index ix
127
+ JOIN pg_class t ON t.oid = ix.indrelid
128
+ JOIN pg_class i ON i.oid = ix.indexrelid
129
+ JOIN pg_namespace n ON n.oid = t.relnamespace
130
+ WHERE n.nspname = ${O(t)}${n?` AND t.relname = ${O(n)}`:``}
131
+ ORDER BY t.relname, ix.indisprimary DESC, i.relname`)).map(e=>({table:m(e.table_name),name:m(e.name),primary:e.is_primary===!0||e.is_primary===`t`,unique:e.is_unique===!0||e.is_unique===`t`,columns:m(e.columns).split(`
132
+ `).filter(Boolean)}))}function Ie(e){return{name:e.primary?`PRIMARY`:e.name,type:e.primary?`PRIMARY`:e.unique?`UNIQUE`:`INDEX`,columns:e.columns}}function Le(e,t){let n=new Set,r=new Set,i=new Set;for(let e of t)e.primary?e.columns.forEach(e=>n.add(e)):e.unique&&e.columns.length===1?r.add(e.columns[0]):e.columns.length>0&&i.add(e.columns[0]);return e.map(e=>({name:e.name,type:e.type,nullable:e.nullable,key:n.has(e.name)?`PRI`:r.has(e.name)?`UNI`:i.has(e.name)?`MUL`:``,defaultValue:e.defaultValue,extra:e.identity||/^nextval\(/i.test(e.defaultValue??``)?`auto_increment`:``,comment:e.comment,collation:e.collation}))}function j(e){let t=new Map;for(let n of e){let e=t.get(n.table);e?e.push(n):t.set(n.table,[n])}return t}async function M(e,t,n){return p(await e(`SELECT c.relname AS name, c.reltuples AS rows, obj_description(c.oid, 'pg_class') AS comment,
133
+ pg_total_relation_size(c.oid) AS data_length
134
+ FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
135
+ WHERE n.nspname = ${O(t)} AND c.relkind IN ('r', 'p')${n?` AND c.relname = ${O(n)}`:``}
136
+ ORDER BY c.relname`)).map(e=>{let t=g(e.rows);return{name:m(e.name),engine:null,rows:t!==null&&t>=0?Math.round(t):null,collation:null,autoIncrement:null,comment:m(e.comment),createTime:null,updateTime:null,dataLength:g(e.data_length)}})}async function Re(e,t,n){let r=await k(e,t,n);if(r.length===0)return null;let i=p(await e(`SELECT con.conname AS name, con.contype AS type, pg_get_constraintdef(con.oid, true) AS def
137
+ FROM pg_constraint con
138
+ JOIN pg_class c ON c.oid = con.conrelid
139
+ JOIN pg_namespace n ON n.oid = c.relnamespace
140
+ WHERE n.nspname = ${O(t)} AND c.relname = ${O(n)} ORDER BY con.contype, con.conname`)),a=Me(t,n),o=r.map(e=>{let t=` ${D(e.name)} ${e.type}`;return e.identity?t+=` GENERATED BY DEFAULT AS IDENTITY`:e.defaultValue&&(t+=` DEFAULT ${e.defaultValue}`),e.nullable||(t+=` NOT NULL`),e.collation&&(t+=` COLLATE ${D(e.collation)}`),t});for(let e of i)m(e.type)!==`n`&&o.push(` CONSTRAINT ${D(m(e.name))} ${m(e.def)}`);let s=[`CREATE TABLE ${a} (\n${o.join(`,
141
+ `)}\n);`],c=new Set(i.map(e=>m(e.name))),l=p(await e(`SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = ${O(t)} AND tablename = ${O(n)} ORDER BY indexname`));for(let e of l)c.has(m(e.indexname))||s.push(`${m(e.indexdef)};`);let u=m((await M(e,t,n))[0]?.comment);u&&s.push(`COMMENT ON TABLE ${a} IS ${O(u)};`);for(let e of r)e.comment&&s.push(`COMMENT ON COLUMN ${a}.${D(e.name)} IS ${O(e.comment)};`);return s.join(`
142
+ `)}async function ze(e,t,n,r){return h((await e(`SELECT pg_get_functiondef(p.oid) FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
143
+ WHERE n.nspname = ${O(t)} AND p.proname = ${O(n)} AND p.prokind = ${O(r)} ORDER BY p.oid LIMIT 1`)).records[0]?.[0])}async function Be(e,t){return(await e(`SELECT t.tgname, c.relname FROM pg_trigger t
144
+ JOIN pg_class c ON c.oid = t.tgrelid JOIN pg_namespace n ON n.oid = c.relnamespace
145
+ WHERE n.nspname = ${O(t)} AND NOT t.tgisinternal ORDER BY c.relname, t.tgname`)).records.map(e=>({name:m(e[0]),table:m(e[1])}))}var Ve={TABLE:[`r`,`p`,`f`],VIEW:[`v`,`m`]},He={async listCatalogs(e){return(await e(`SELECT datname FROM pg_database WHERE NOT datistemplate ORDER BY datname`)).records.map(e=>m(e[0]))},async currentCatalog(e){return m((await e(`SELECT current_database()`)).records[0]?.[0])},async listDatabases(e){return(await e(`SELECT n.nspname FROM pg_namespace n WHERE ${Ne} ORDER BY (n.nspname <> 'public'), n.nspname`)).records.map(e=>m(e[0]))},listTables:(e,t)=>M(e,t),listViews:(e,t)=>Pe(e,t,Ve.VIEW),listProcedures:(e,t)=>Fe(e,t,`p`),listFunctions:(e,t)=>Fe(e,t,`f`),async listTriggers(e,t){return(await Be(e,t)).map(e=>e.name)},listTriggerDetails:Be,listEvents:async()=>[],async listColumns(e,t,n){let[r,i]=await Promise.all([k(e,t,n),A(e,t,n)]);return Le(r,i)},async listIndexes(e,t,n){return(await A(e,t,n)).map(Ie)},async listAllColumns(e,t){let[n,r]=await Promise.all([k(e,t),A(e,t)]),i=j(r),a=new Map;for(let[e,t]of j(n))a.set(e,Le(t,i.get(e)??[]));return a},async listAllIndexes(e,t){let n=new Map;for(let[r,i]of j(await A(e,t)))n.set(r,i.map(Ie));return n},async listForeignKeys(e,t){return(await e(`SELECT con.conname, c.relname, a.attname, rc.relname AS ref_table, ra.attname AS ref_column
146
+ FROM pg_constraint con
147
+ JOIN pg_class c ON c.oid = con.conrelid
148
+ JOIN pg_namespace n ON n.oid = c.relnamespace
149
+ JOIN pg_class rc ON rc.oid = con.confrelid
150
+ JOIN unnest(con.conkey, con.confkey) WITH ORDINALITY AS k(attnum, ref_attnum, ord) ON true
151
+ JOIN pg_attribute a ON a.attrelid = con.conrelid AND a.attnum = k.attnum
152
+ JOIN pg_attribute ra ON ra.attrelid = con.confrelid AND ra.attnum = k.ref_attnum
153
+ WHERE con.contype = 'f' AND n.nspname = ${O(t)}
154
+ ORDER BY c.relname, con.conname, k.ord`)).records.map(e=>({name:m(e[0]),table:m(e[1]),column:m(e[2]),refTable:m(e[3]),refColumn:m(e[4])}))},async getTableInfo(e,t,n){return(await M(e,t,n))[0]??null},async getPrimaryKeys(e,t,n){return(await A(e,t,n)).find(e=>e.primary)?.columns??[]},async getCreateStatement(e,t,n,r){switch(n){case`TABLE`:return Re(e,t,r);case`VIEW`:{let n=(await e(`SELECT c.relkind, pg_get_viewdef(c.oid, true) FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
155
+ WHERE n.nspname = ${O(t)} AND c.relname = ${O(r)} AND c.relkind IN ('v', 'm')`)).records[0];return n?`CREATE ${m(n[0])===`m`?`MATERIALIZED VIEW`:`VIEW`} ${Me(t,r)} AS\n${m(n[1])}`:null}case`PROCEDURE`:return ze(e,t,r,`p`);case`FUNCTION`:return ze(e,t,r,`f`);case`TRIGGER`:return h((await e(`SELECT pg_get_triggerdef(t.oid, true) FROM pg_trigger t
156
+ JOIN pg_class c ON c.oid = t.tgrelid JOIN pg_namespace n ON n.oid = c.relnamespace
157
+ WHERE n.nspname = ${O(t)} AND t.tgname = ${O(r)} AND NOT t.tgisinternal LIMIT 1`)).records[0]?.[0]);default:return null}}},Ue={async loadRoot({engine:e,run:t,database:n}){let r=e.introspect.listCatalogs?await e.introspect.listCatalogs(t):[],a=n||(e.introspect.currentCatalog?await e.introspect.currentCatalog(t):``);return a&&!r.includes(a)&&r.unshift(a),r.map(e=>{let t=e===a;return o(null,i.DATABASE,e,!t,{catalog:e,unreachable:!t})})},async loadChildren(e,t){switch(t.type){case i.DATABASE:return t.metadata?.unreachable?[]:(await e.engine.introspect.listDatabases(e.run)).map(e=>o(t.id,i.SCHEMA,e,!1,{database:e,catalog:t.text}));case i.SCHEMA:return te(e.engine,t.id,{database:t.text,catalog:t.metadata?.catalog});default:return await ae(e,t)??[]}},objectPath(e,t,n,r){let[i,a]=this.namespacePath(e,r);return[i,...oe(a,t,n)]},namespacePath(e,t){let n=a(null,i.DATABASE,t??``);return[n,a(n,i.SCHEMA,e)]}},We={SELECT_COUNT:`SELECT COUNT(1) AS cnt FROM "{0}"."{1}"`,SHOW_FULL_FIELDS:`SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema = '{0}' AND table_name = '{1}' ORDER BY ordinal_position`,SHOW_COLUMNS:`SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema = '{0}' AND table_name = '{1}' ORDER BY ordinal_position`,SHOW_DATABASE_VIEWS:`SELECT table_name FROM information_schema.views WHERE table_schema = '{0}' ORDER BY table_name`,SHOW_DATABASE_TABLES:`SELECT table_name FROM information_schema.tables WHERE table_schema = '{0}' AND table_type = 'BASE TABLE' ORDER BY table_name`,SHOW_DATABASE:`SELECT current_schema()`,SHOW_DATABASES:`SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE 'pg\\_%' AND nspname <> 'information_schema' ORDER BY nspname`,ADD_INDEX:`CREATE {3} INDEX "{2}" ON "{0}"."{1}" ({4})`,SHOW_INDEXES:`SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = '{0}' AND tablename = '{1}' ORDER BY indexname`,DROP_INDEX:`DROP INDEX "{0}"."{2}"`,DROP_PROCEDURE:`DROP PROCEDURE {2} "{0}"."{1}"`,DROP_FUNCTION:`DROP FUNCTION {2} "{0}"."{1}"`,DROP_TRIGGER:`DROP TRIGGER {2} "{1}" ON "{0}"."{3}"`,DROP_VIEW:`DROP VIEW {2} "{0}"."{1}"`,SHOW_PROCEDURES:`SELECT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = '{0}' AND p.prokind = 'p' ORDER BY 1`,SHOW_FUNCTIONS:`SELECT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = '{0}' AND p.prokind = 'f' ORDER BY 1`,SHOW_TRIGGERS:`SELECT t.tgname, c.relname FROM pg_trigger t JOIN pg_class c ON c.oid = t.tgrelid JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND NOT t.tgisinternal ORDER BY 1`,SHOW_VIEWS:`SELECT table_name AS "View_name", view_definition AS "View_definition" FROM information_schema.views WHERE table_schema = '{0}' ORDER BY table_name`,SHOW_ALL_TABLE_STATUS:`SELECT c.relname AS "Name", c.reltuples::bigint AS "Rows", obj_description(c.oid, 'pg_class') AS "Comment" FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND c.relkind IN ('r', 'p') ORDER BY 1`,SHOW_TABLE_STATUS:`SELECT c.relname AS "Name", c.reltuples::bigint AS "Rows", obj_description(c.oid, 'pg_class') AS "Comment" FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND c.relname = '{1}'`,INSERT_TABLE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3});`,INSERT_TABLE_BULK:`INSERT INTO "{0}"."{1}" ({2}) VALUES {3};`,INSERT_DEFAULT_VALUES:`INSERT INTO "{0}"."{1}" DEFAULT VALUES;`,UPDATE_TABLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3};`,UPDATE_TABLE_SINGLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3}`,START_TRANSACTION:`BEGIN`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM "{0}"."{1}" WHERE {2};`,SELECT_TABLE:`SELECT {2} FROM "{0}"."{1}" {3};`,TRUNCATE_TABLE:`TRUNCATE TABLE "{0}"."{1}"`,RENAME_TABLE:`ALTER TABLE "{0}"."{1}" RENAME TO "{3}"`,DROP_TABLE:`DROP TABLE {2} "{0}"."{1}"`,CREATE_PROCEDURE:`CREATE OR REPLACE PROCEDURE "{0}"."{1}"()
158
+ LANGUAGE plpgsql
159
+ AS $$
160
+ BEGIN
161
+
162
+ /* SQL Statements */
163
+
164
+ END;
165
+ $$;`,CREATE_FUNCTION:`CREATE OR REPLACE FUNCTION "{0}"."{1}"()
166
+ RETURNS integer
167
+ LANGUAGE plpgsql
168
+ AS $$
169
+ BEGIN
170
+
171
+ /* SQL Statements */
172
+ RETURN 0;
173
+
174
+ END;
175
+ $$;`,CREATE_TRIGGER:`CREATE TRIGGER "{1}"
176
+ BEFORE
177
+ -- AFTER
178
+ INSERT
179
+ -- UPDATE
180
+ -- DELETE
181
+ ON "{0}"."<Table Name>" FOR EACH ROW
182
+ EXECUTE FUNCTION "{0}"."<trigger_function>"();`,CREATE_VIEW:`CREATE VIEW "{0}"."{1}" AS
183
+ /* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`DROP VIEW IF EXISTS "{0}"."{1}";
184
+ {2};`,ALTER_PROCEDURE:`{2}`,ALTER_FUNCTION:`{2}`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS "{1}" ON "{0}"."{3}";
185
+ {2};`,SHOW_PROCESS_LIST:`SELECT pid AS "Id", usename AS "User", COALESCE(client_addr::text, 'local') AS "Host", datname AS "db", COALESCE(state, '') AS "Command", COALESCE(EXTRACT(EPOCH FROM (now() - query_start))::bigint, 0) AS "Time", COALESCE(wait_event_type || ': ' || wait_event, '') AS "State", query AS "Info" FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY pid`,KILL_QUERY:`SELECT pg_terminate_backend({0})`,SHOW_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", COALESCE(reset_val, setting) AS "Value" FROM pg_settings ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA "{0}"`,DROP_SCHEMA:`DROP SCHEMA "{0}" CASCADE`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" (LIKE "{0}"."{1}" INCLUDING ALL)`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`SET session_replication_role = 'replica'`,ENABLE_FK_CHECKS:`SET session_replication_role = 'origin'`},Ge=`ASCII.BTRIM.CHAR_LENGTH.CHR.CONCAT.CONCAT_WS.FORMAT.INITCAP.LEFT.LENGTH.LOWER.LPAD.LTRIM.MD5.POSITION.QUOTE_IDENT.QUOTE_LITERAL.REGEXP_MATCHES.REGEXP_REPLACE.REGEXP_SPLIT_TO_ARRAY.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SPLIT_PART.STRING_AGG.STRING_TO_ARRAY.STRPOS.SUBSTR.SUBSTRING.TRANSLATE.TRIM.UPPER.ABS.CBRT.CEIL.CEILING.DIV.EXP.FLOOR.GCD.LCM.LN.LOG.LOG10.MOD.PI.POWER.RADIANS.RANDOM.ROUND.SIGN.SQRT.TRUNC.WIDTH_BUCKET.AGE.CLOCK_TIMESTAMP.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATE_PART.DATE_TRUNC.EXTRACT.ISFINITE.JUSTIFY_DAYS.JUSTIFY_HOURS.LOCALTIME.LOCALTIMESTAMP.MAKE_DATE.MAKE_INTERVAL.MAKE_TIMESTAMP.NOW.STATEMENT_TIMESTAMP.TO_CHAR.TO_DATE.TO_TIMESTAMP.ARRAY_AGG.AVG.BOOL_AND.BOOL_OR.COUNT.EVERY.JSON_AGG.JSONB_AGG.JSON_OBJECT_AGG.MAX.MIN.PERCENTILE_CONT.PERCENTILE_DISC.STDDEV.SUM.VARIANCE.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.COALESCE.NULLIF.GREATEST.LEAST.CAST.GEN_RANDOM_UUID.CURRENT_USER.CURRENT_DATABASE.CURRENT_SCHEMA.PG_TYPEOF.VERSION.ARRAY_LENGTH.ARRAY_TO_STRING.ARRAY_APPEND.ARRAY_REMOVE.ARRAY_POSITION.CARDINALITY.UNNEST.JSON_BUILD_OBJECT.JSONB_BUILD_OBJECT.JSON_BUILD_ARRAY.JSONB_BUILD_ARRAY.JSON_EXTRACT_PATH.JSONB_EXTRACT_PATH.JSON_EXTRACT_PATH_TEXT.JSONB_EXTRACT_PATH_TEXT.JSONB_SET.JSONB_PRETTY.JSON_TYPEOF.JSONB_TYPEOF.JSON_ARRAY_LENGTH.JSONB_ARRAY_LENGTH.JSON_EACH.JSONB_EACH.TO_JSON.TO_JSONB.ROW_TO_JSON`.split(`.`),Ke=`ALL.ANALYSE.ANALYZE.AND.ANY.ARRAY.AS.ASC.ASYMMETRIC.BOTH.CASE.CAST.CHECK.COLLATE.COLUMN.CONSTRAINT.CREATE.CURRENT_CATALOG.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DEFAULT.DEFERRABLE.DESC.DISTINCT.DO.ELSE.END.EXCEPT.FALSE.FETCH.FOR.FOREIGN.FROM.GRANT.GROUP.GROUP BY.HAVING.IN.INITIALLY.INTERSECT.INTO.LATERAL.LEADING.LIMIT.LOCALTIME.LOCALTIMESTAMP.NOT.NULL.OFFSET.ON.ONLY.OR.ORDER.ORDER BY.PLACING.PRIMARY.REFERENCES.RETURNING.SELECT.SESSION_USER.SOME.SYMMETRIC.TABLE.THEN.TO.TRAILING.TRUE.UNION.UNIQUE.USER.USING.VARIADIC.WHEN.WHERE.WINDOW.WITH.ALTER.BEGIN.BETWEEN.BY.CASCADE.COMMENT.COMMIT.CROSS.DATABASE.DELETE.DROP.EXISTS.EXPLAIN.FULL.FUNCTION.IF.ILIKE.INDEX.INNER.INSERT.INSERT INTO.IS.JOIN.KEY.LEFT.LIKE.MATERIALIZED.NATURAL.OUTER.OVER.PARTITION.PROCEDURE.RECURSIVE.RETURNS.RIGHT.ROLLBACK.SCHEMA.SEQUENCE.SET.SHOW.TRIGGER.TRUNCATE.TYPE.UPDATE.VACUUM.VALUES.VIEW`.split(`.`),qe=`bigint.bigserial.bit.boolean.box.bytea.char.character.character varying.cidr.circle.date.decimal.double precision.inet.int.integer.interval.json.jsonb.line.macaddr.money.numeric.path.point.polygon.real.serial.smallint.smallserial.text.time.timestamp.timestamptz.timetz.tsquery.tsvector.uuid.varchar.xml`.split(`.`),Je={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!0,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Ye(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:i}=e;return{...r(e,{addColumn:`ADD COLUMN`,modify:`postgres`,qualifiedIndexNames:!1,dropIndexOnTable:!1,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=_(e.name,`untitled`),a=i(e.database,r),o=e.columns.filter(e=>e.primaryKey),s=e.columns.map(e=>{let n=` ${t(_(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` GENERATED BY DEFAULT AS IDENTITY`),e.notNull&&(n+=` NOT NULL`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),n});o.length>0&&s.push(` PRIMARY KEY (${o.map(e=>t(e.name)).join(`, `)})`);let c=[`CREATE TABLE ${a} (\n${s.join(`,
186
+ `)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,i=n.type===`FULLTEXT`?` -- FULLTEXT is MySQL-only; consider a GIN index on to_tsvector()`:``,o=t(_(n.name,`${r}_${n.columns.join(`_`)}_idx`));c.push(`CREATE ${e}INDEX ${o} ON ${a} (${n.columns.map(t).join(`, `)});${i}`)}e.options.comment&&c.push(`COMMENT ON TABLE ${a} IS ${n(e.options.comment)};`);for(let r of e.columns)r.comment&&c.push(`COMMENT ON COLUMN ${a}.${t(_(r.name,`column`))} IS ${n(r.comment)};`);return c.join(`
187
+ `)}}}var N={id:`postgres`,label:`PostgreSQL`,capabilities:{multipleDatabases:!1,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:Ye,introspect:He,tree:Ue,defaultPort:5432,binaryLiteral:e=>`'\\x${e}'::bytea`,booleanKeywords:!0,identifierQuote:`"`,queries:We,syntax:Je,dataTypes:qe,functions:Ge,reservedWords:Ke},Xe=v(N),P=e=>`"${e.replaceAll(`"`,`""`)}"`,F=e=>`'${e.replace(/'/g,`''`)}'`,I=e=>`${P(e)}.sqlite_master`;async function L(e,t,n){return(await e(`SELECT name FROM ${I(t)} WHERE type = ${F(n)} AND name NOT LIKE 'sqlite_%' ORDER BY name`)).records.map(e=>m(e[0]))}async function R(e,t,n){return p(await e(`PRAGMA ${P(t)}.table_info(${P(n)})`)).map(e=>({cid:Number(e.cid),name:m(e.name),type:m(e.type),notnull:Number(e.notnull)===1,dflt_value:h(e.dflt_value),pk:Number(e.pk)}))}async function Ze(e,t,n){return m((await e(`SELECT sql FROM ${I(t)} WHERE type = 'table' AND name = ${F(n)}`)).records[0]?.[0])}function z(e){return e.filter(e=>e.pk>0).sort((e,t)=>e.pk-t.pk).map(e=>e.name)}async function B(e,t,n,r){let i=[],a=z(r);a.length>0&&i.push({name:`PRIMARY`,type:`PRIMARY`,columns:a});let o=p(await e(`PRAGMA ${P(t)}.index_list(${P(n)})`));for(let n of o){if(m(n.origin)===`pk`)continue;let r=m(n.name),a=p(await e(`PRAGMA ${P(t)}.index_info(${P(r)})`));i.push({name:r,type:Number(n.unique)===1?`UNIQUE`:`INDEX`,columns:a.sort((e,t)=>Number(e.seqno)-Number(t.seqno)).map(e=>m(e.name,`<expr>`))})}return i}async function Qe(e,t,n){let r=await R(e,t,n),i=await B(e,t,n,r),a=await Ze(e,t,n),o=z(r),s=/AUTOINCREMENT/i.test(a),c=new Set,l=new Set;for(let e of i)e.type!==`PRIMARY`&&(e.type===`UNIQUE`&&e.columns.length===1?c.add(e.columns[0]):l.add(e.columns[0]));return r.map(e=>{let t=o.length===1&&o[0]===e.name&&/^INTEGER$/i.test(e.type);return{name:e.name,type:e.type,nullable:!e.notnull&&e.pk===0,key:e.pk>0?`PRI`:c.has(e.name)?`UNI`:l.has(e.name)?`MUL`:``,defaultValue:e.dflt_value,extra:t&&s?`auto_increment`:``,comment:``,collation:null}})}var $e={TABLE:`table`,VIEW:`view`,TRIGGER:`trigger`},et={async listDatabases(e){return p(await e(`PRAGMA database_list`)).map(e=>m(e.name)).filter(e=>e!==`temp`)},async listTables(e,t){return(await L(e,t,`table`)).map(e=>({name:e,engine:null,rows:null,collation:null,autoIncrement:null,comment:``,createTime:null,updateTime:null,dataLength:null}))},listViews:(e,t)=>L(e,t,`view`),listProcedures:async()=>[],listFunctions:async()=>[],listTriggers:(e,t)=>L(e,t,`trigger`),listEvents:async()=>[],listColumns:Qe,async listIndexes(e,t,n){return B(e,t,n,await R(e,t,n))},async listAllColumns(e,t){let n=new Map;for(let r of await L(e,t,`table`))n.set(r,await Qe(e,t,r));return n},async listAllIndexes(e,t){let n=new Map;for(let r of await L(e,t,`table`))n.set(r,await B(e,t,r,await R(e,t,r)));return n},async listForeignKeys(e,t){let n=[];for(let r of await L(e,t,`table`)){let i=p(await e(`PRAGMA ${P(t)}.foreign_key_list(${P(r)})`));for(let e of i)n.push({name:`fk_${r}_${e.id}`,table:r,column:m(e.from),refTable:m(e.table),refColumn:m(e.to)})}return n},async getTableInfo(e,t,n){return(await e(`SELECT 1 FROM ${I(t)} WHERE type = 'table' AND name = ${F(n)}`)).records.length===0?null:{name:n,engine:null,rows:g((await e(`SELECT COUNT(*) FROM ${P(t)}.${P(n)}`)).records[0]?.[0]),collation:null,autoIncrement:null,comment:``,createTime:null,updateTime:null,dataLength:null}},async getPrimaryKeys(e,t,n){return z(await R(e,t,n))},async getCreateStatement(e,t,n,r){let i=$e[n];return i?h((await e(`SELECT sql FROM ${I(t)} WHERE type = ${F(i)} AND name = ${F(r)}`)).records[0]?.[0]):null}},tt={SELECT_COUNT:`SELECT COUNT(1) as cnt FROM "{0}"."{1}"`,SHOW_FULL_FIELDS:`PRAGMA "{0}".table_info("{1}")`,SHOW_COLUMNS:`PRAGMA "{0}".table_info("{1}")`,SHOW_DATABASE_VIEWS:`SELECT name FROM "{0}".sqlite_master WHERE type = 'view' ORDER BY name`,SHOW_DATABASE_TABLES:`SELECT name FROM "{0}".sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name`,SHOW_DATABASE:`PRAGMA database_list`,SHOW_DATABASES:`PRAGMA database_list`,ADD_INDEX:`CREATE {3} INDEX "{0}"."{2}" ON "{1}"({4})`,SHOW_INDEX:`PRAGMA "{0}".index_info("{2}")`,SHOW_INDEXES:`PRAGMA "{0}".index_list("{1}")`,DROP_INDEX:`DROP INDEX "{0}"."{2}"`,DROP_TRIGGER:`DROP TRIGGER {2} "{0}"."{1}"`,DROP_VIEW:`DROP VIEW {2} "{0}"."{1}"`,SHOW_TRIGGERS:`SELECT name, tbl_name, sql FROM "{0}".sqlite_master WHERE type = 'trigger' ORDER BY name`,SHOW_VIEWS:`SELECT name AS View_name, sql AS View_definition FROM "{0}".sqlite_master WHERE type = 'view' ORDER BY name`,SHOW_ALL_TABLE_STATUS:`SELECT name, type FROM "{0}".sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name`,SHOW_TABLE_STATUS:`SELECT name, type FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,INSERT_TABLE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3});`,INSERT_TABLE_BULK:`INSERT INTO "{0}"."{1}" ({2}) VALUES {3};`,INSERT_DEFAULT_VALUES:`INSERT INTO "{0}"."{1}" DEFAULT VALUES;`,INSERT_ON_DUPLICATE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3}) ON CONFLICT DO UPDATE SET {4}`,UPDATE_TABLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3};`,UPDATE_TABLE_SINGLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3}`,START_TRANSACTION:`BEGIN`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM "{0}"."{1}" WHERE {2};`,SELECT_TABLE:`SELECT {2} FROM "{0}"."{1}" {3};`,TRUNCATE_TABLE:`DELETE FROM "{0}"."{1}"`,RENAME_TABLE:`ALTER TABLE "{0}"."{1}" RENAME TO "{3}"`,DROP_TABLE:`DROP TABLE {2} "{0}"."{1}"`,TABLE_CREATE_INFO:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,TABLE_KEYS_INFO:`PRAGMA "{0}".index_list("{1}")`,INDEX_KEYS_INFO:`PRAGMA "{0}".index_info("{2}")`,CREATE_TRIGGER:`CREATE TRIGGER "{0}"."{1}"
188
+ BEFORE
189
+ -- AFTER
190
+ INSERT
191
+ -- UPDATE
192
+ -- DELETE
193
+ ON "<Table Name>" FOR EACH ROW
194
+ BEGIN
195
+
196
+ /* SQL Statements */
197
+
198
+ END;`,CREATE_VIEW:`CREATE VIEW "{0}"."{1}" AS
199
+ /* SQL SELECT Statement */`,SHOW_CREATE_TABLE:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,SHOW_CREATE_VIEW:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'view' AND name = '{1}'`,SHOW_CREATE_TRIGGER:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'trigger' AND name = '{1}'`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`DROP VIEW IF EXISTS "{0}"."{1}";
200
+ {2};`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS "{0}"."{1}";
201
+ {2};`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`PRAGMA foreign_keys = OFF`,ENABLE_FK_CHECKS:`PRAGMA foreign_keys = ON`},nt=`ABS.CHANGES.CHAR.COALESCE.CONCAT.CONCAT_WS.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOWER.LTRIM.MAX.MIN.NULLIF.OCTET_LENGTH.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNHEX.UNICODE.UNLIKELY.UPPER.ZEROBLOB.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.TIMEDIFF.AVG.COUNT.GROUP_CONCAT.STRING_AGG.SUM.TOTAL.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSONB.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_EACH.JSON_ERROR_POSITION.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TREE.JSON_TYPE.JSON_VALID.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT`.split(`.`),rt=`ABORT.ACTION.ADD.AFTER.ALL.ALTER.ALWAYS.ANALYZE.AND.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP BY.GROUP.GROUPS.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT INTO.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON CONFLICT.ON.OR.ORDER BY.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.TRUE.FALSE.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT`.split(`.`),it=[`integer`,`int`,`real`,`text`,`blob`,`numeric`,`boolean`,`varchar`,`char`,`double`,`float`,`bigint`,`smallint`,`tinyint`,`date`,`datetime`,`timestamp`,`decimal`,`json`],at={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function ot(e){let{quoteIdentifier:t,qualify:n}=e;return{...r(e,{addColumn:`ADD COLUMN`,modify:`none`,qualifiedIndexNames:!0,dropIndexOnTable:!1,unqualifiedIndexTarget:!0,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=e.columns.filter(e=>e.primaryKey),i=r.length===1&&r[0].type.toUpperCase()===`INTEGER`,a=e.columns.map(e=>{let n=` ${t(_(e.name,`column`))} ${e.type.toUpperCase()}`;return e.length&&!st(e,i)&&(n+=`(${e.length})`),st(e,i)&&(n+=` PRIMARY KEY`,e.autoIncrement&&(n+=` AUTOINCREMENT`)),e.notNull&&(n+=` NOT NULL`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),e.comment&&(n+=` /* ${e.comment.replaceAll(`*/`,`* /`)} */`),n});!i&&r.length>0&&a.push(` PRIMARY KEY (${r.map(e=>t(e.name)).join(`, `)})`);let o=_(e.name,`untitled`),s=[`CREATE TABLE ${n(e.database,o)} (\n${a.join(`,
202
+ `)}\n);`];for(let r of e.indexes){if(r.type===`PRIMARY`||r.columns.length===0)continue;let i=r.type===`UNIQUE`?`UNIQUE `:``,a=r.type===`FULLTEXT`?` -- FULLTEXT is not supported by SQLite; created as a plain index`:``,c=n(e.database,_(r.name,`${o}_${r.columns.join(`_`)}_idx`));s.push(`CREATE ${i}INDEX ${c} ON ${t(o)} (${r.columns.map(t).join(`, `)});${a}`)}return s.join(`
203
+ `)}}}function st(e,t){return t&&e.primaryKey}var V={id:`sqlite`,label:`SQLite`,capabilities:{multipleDatabases:!1,users:!1,procedures:!1,functions:!1,triggers:!0,events:!1,processList:!1,variables:!1,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:ot,rowIdExpression:`rowid AS "_rowid_"`,introspect:et,identifierQuote:`"`,queries:tt,syntax:at,dataTypes:it,functions:nt,reservedWords:rt},ct=v(V),H=e=>`[${e.replaceAll(`]`,`]]`)}]`,lt=(e,t)=>`${H(e)}.${H(t)}`,U=e=>`'${e.replace(/'/g,`''`)}'`,ut=(e,t)=>`OBJECT_ID(${U(`${H(e)}.${H(t)}`)})`,dt=`s.name NOT IN ('sys', 'INFORMATION_SCHEMA', 'guest') AND s.schema_id < 16384`;async function W(e,t){return(await e(t)).records.map(e=>m(e[0]))}function ft(e,t,n,r){let i=e.toLowerCase();return[`varchar`,`char`,`varbinary`,`binary`].includes(i)?`${i}(${t===-1?`max`:t})`:[`nvarchar`,`nchar`].includes(i)?`${i}(${t===-1?`max`:t/2})`:[`decimal`,`numeric`].includes(i)?`${i}(${n},${r})`:[`datetime2`,`time`,`datetimeoffset`].includes(i)?`${i}(${r})`:i}async function G(e,t,n){return p(await e(`SELECT o.name AS table_name, c.name, ty.name AS type_name, c.max_length, c.precision, c.scale,
204
+ c.is_nullable, d.definition AS default_value, c.is_identity, c.is_computed, c.collation_name,
205
+ CAST(ep.value AS NVARCHAR(4000)) AS comment
206
+ FROM sys.columns c
207
+ JOIN sys.objects o ON o.object_id = c.object_id
208
+ JOIN sys.schemas s ON s.schema_id = o.schema_id
209
+ JOIN sys.types ty ON ty.user_type_id = c.user_type_id
210
+ LEFT JOIN sys.default_constraints d ON d.object_id = c.default_object_id
211
+ LEFT JOIN sys.extended_properties ep ON ep.major_id = c.object_id AND ep.minor_id = c.column_id AND ep.class = 1 AND ep.name = 'MS_Description'
212
+ WHERE s.name = ${U(t)} AND o.type IN ('U', 'V')${n?` AND o.name = ${U(n)}`:``}
213
+ ORDER BY o.name, c.column_id`)).map(e=>({table:m(e.table_name),name:m(e.name),type:ft(m(e.type_name),Number(e.max_length),Number(e.precision),Number(e.scale)),nullable:e.is_nullable===!0||Number(e.is_nullable)===1,defaultValue:h(e.default_value),identity:e.is_identity===!0||Number(e.is_identity)===1,computed:e.is_computed===!0||Number(e.is_computed)===1,comment:m(e.comment),collation:h(e.collation_name)}))}async function K(e,t,n){return p(await e(`SELECT o.name AS table_name, i.name, i.is_primary_key, i.is_unique,
214
+ STRING_AGG(c.name, CHAR(10)) WITHIN GROUP (ORDER BY ic.key_ordinal) AS columns
215
+ FROM sys.indexes i
216
+ JOIN sys.objects o ON o.object_id = i.object_id
217
+ JOIN sys.schemas s ON s.schema_id = o.schema_id
218
+ JOIN sys.index_columns ic ON ic.object_id = i.object_id AND ic.index_id = i.index_id AND ic.is_included_column = 0
219
+ JOIN sys.columns c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
220
+ WHERE s.name = ${U(t)} AND o.type = 'U' AND i.name IS NOT NULL${n?` AND o.name = ${U(n)}`:``}
221
+ GROUP BY o.name, i.name, i.is_primary_key, i.is_unique, i.index_id
222
+ ORDER BY o.name, i.is_primary_key DESC, i.name`)).map(e=>({table:m(e.table_name),name:m(e.name),primary:e.is_primary_key===!0||Number(e.is_primary_key)===1,unique:e.is_unique===!0||Number(e.is_unique)===1,columns:m(e.columns).split(`
223
+ `).filter(Boolean)}))}function pt(e){return{name:e.primary?`PRIMARY`:e.name,type:e.primary?`PRIMARY`:e.unique?`UNIQUE`:`INDEX`,columns:e.columns}}function mt(e,t){let n=new Set,r=new Set,i=new Set;for(let e of t)e.primary?e.columns.forEach(e=>n.add(e)):e.unique&&e.columns.length===1?r.add(e.columns[0]):e.columns.length>0&&i.add(e.columns[0]);return e.map(e=>({name:e.name,type:e.type,nullable:e.nullable,key:n.has(e.name)?`PRI`:r.has(e.name)?`UNI`:i.has(e.name)?`MUL`:``,defaultValue:e.defaultValue,extra:e.identity?`identity`:e.computed?`computed`:``,comment:e.comment,collation:e.collation}))}function q(e){let t=new Map;for(let n of e){let e=t.get(n.table);e?e.push(n):t.set(n.table,[n])}return t}async function J(e,t,n){return p(await e(`SELECT t.name, t.create_date, t.modify_date,
224
+ CAST(ep.value AS NVARCHAR(4000)) AS comment,
225
+ (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.object_id = t.object_id AND p.index_id IN (0, 1)) AS rows,
226
+ (SELECT SUM(a.total_pages) * 8192 FROM sys.partitions p JOIN sys.allocation_units a ON a.container_id = p.partition_id WHERE p.object_id = t.object_id) AS data_length
227
+ FROM sys.tables t
228
+ JOIN sys.schemas s ON s.schema_id = t.schema_id
229
+ LEFT JOIN sys.extended_properties ep ON ep.major_id = t.object_id AND ep.minor_id = 0 AND ep.class = 1 AND ep.name = 'MS_Description'
230
+ WHERE s.name = ${U(t)}${n?` AND t.name = ${U(n)}`:``}
231
+ ORDER BY t.name`)).map(e=>({name:m(e.name),engine:null,rows:g(e.rows),collation:null,autoIncrement:null,comment:m(e.comment),createTime:h(e.create_date),updateTime:h(e.modify_date),dataLength:g(e.data_length)}))}async function ht(e,t,n){let r=await G(e,t,n);if(r.length===0)return null;let[i,a]=await Promise.all([K(e,t,n),p(await e(`SELECT fk.name, c.name AS column_name, rs.name AS ref_schema, rt.name AS ref_table, rc.name AS ref_column,
232
+ fk.delete_referential_action_desc AS on_delete, fk.update_referential_action_desc AS on_update
233
+ FROM sys.foreign_keys fk
234
+ JOIN sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id
235
+ JOIN sys.columns c ON c.object_id = fkc.parent_object_id AND c.column_id = fkc.parent_column_id
236
+ JOIN sys.objects rt ON rt.object_id = fk.referenced_object_id
237
+ JOIN sys.schemas rs ON rs.schema_id = rt.schema_id
238
+ JOIN sys.columns rc ON rc.object_id = fkc.referenced_object_id AND rc.column_id = fkc.referenced_column_id
239
+ WHERE fk.parent_object_id = ${ut(t,n)}
240
+ ORDER BY fk.name, fkc.constraint_column_id`))]),o=lt(t,n),s=r.map(e=>{let t=` ${H(e.name)} ${e.type}`;return e.identity&&(t+=` IDENTITY(1,1)`),e.collation&&(t+=` COLLATE ${e.collation}`),t+=e.nullable?` NULL`:` NOT NULL`,e.defaultValue&&!e.identity&&(t+=` DEFAULT ${e.defaultValue}`),t});for(let e of i)e.primary?s.push(` CONSTRAINT ${H(e.name)} PRIMARY KEY (${e.columns.map(H).join(`, `)})`):e.unique&&s.push(` CONSTRAINT ${H(e.name)} UNIQUE (${e.columns.map(H).join(`, `)})`);let c=new Map;for(let e of a){let t=m(e.name),n=c.get(t)??{cols:[],refSchema:m(e.ref_schema),refTable:m(e.ref_table),refCols:[],onDelete:m(e.on_delete),onUpdate:m(e.on_update)};n.cols.push(m(e.column_name)),n.refCols.push(m(e.ref_column)),c.set(t,n)}for(let[e,t]of c){let n=` CONSTRAINT ${H(e)} FOREIGN KEY (${t.cols.map(H).join(`, `)}) REFERENCES ${lt(t.refSchema,t.refTable)} (${t.refCols.map(H).join(`, `)})`;t.onDelete&&t.onDelete!==`NO_ACTION`&&(n+=` ON DELETE ${t.onDelete.replaceAll(`_`,` `)}`),t.onUpdate&&t.onUpdate!==`NO_ACTION`&&(n+=` ON UPDATE ${t.onUpdate.replaceAll(`_`,` `)}`),s.push(n)}let l=[`CREATE TABLE ${o} (\n${s.join(`,
241
+ `)}\n);`];for(let e of i)e.primary||e.unique||l.push(`CREATE INDEX ${H(e.name)} ON ${o} (${e.columns.map(H).join(`, `)});`);let u=(await J(e,t,n))[0];u?.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${U(u.comment)}, 'SCHEMA', ${U(t)}, 'TABLE', ${U(n)};`);for(let e of r)e.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${U(e.comment)}, 'SCHEMA', ${U(t)}, 'TABLE', ${U(n)}, 'COLUMN', ${U(e.name)};`);return l.join(`
242
+ `)}async function gt(e,t,n){return h((await e(`SELECT OBJECT_DEFINITION(${ut(t,n)})`)).records[0]?.[0])}async function _t(e,t){return(await e(`SELECT tr.name, o.name AS table_name FROM sys.triggers tr
243
+ JOIN sys.objects o ON o.object_id = tr.parent_id
244
+ JOIN sys.schemas s ON s.schema_id = o.schema_id
245
+ WHERE s.name = ${U(t)} AND tr.is_ms_shipped = 0 ORDER BY o.name, tr.name`)).records.map(e=>({name:m(e[0]),table:m(e[1])}))}var vt={async listCatalogs(e){return W(e,`SELECT name FROM sys.databases WHERE database_id > 4 OR name = DB_NAME() ORDER BY name`)},async currentCatalog(e){return m((await e(`SELECT DB_NAME()`)).records[0]?.[0])},async listDatabases(e){return W(e,`SELECT s.name FROM sys.schemas s WHERE ${dt} ORDER BY CASE WHEN s.name = 'dbo' THEN 0 ELSE 1 END, s.name`)},listTables:(e,t)=>J(e,t),listViews:(e,t)=>W(e,`SELECT v.name FROM sys.views v JOIN sys.schemas s ON s.schema_id = v.schema_id WHERE s.name = ${U(t)} ORDER BY v.name`),listProcedures:(e,t)=>W(e,`SELECT p.name FROM sys.procedures p JOIN sys.schemas s ON s.schema_id = p.schema_id WHERE s.name = ${U(t)} ORDER BY p.name`),listFunctions:(e,t)=>W(e,`SELECT o.name FROM sys.objects o JOIN sys.schemas s ON s.schema_id = o.schema_id WHERE s.name = ${U(t)} AND o.type IN ('FN', 'IF', 'TF', 'AF') ORDER BY o.name`),async listTriggers(e,t){return(await _t(e,t)).map(e=>e.name)},listTriggerDetails:_t,listEvents:async()=>[],async listColumns(e,t,n){let[r,i]=await Promise.all([G(e,t,n),K(e,t,n)]);return mt(r,i)},async listIndexes(e,t,n){return(await K(e,t,n)).map(pt)},async listAllColumns(e,t){let[n,r]=await Promise.all([G(e,t),K(e,t)]),i=q(r),a=new Map;for(let[e,t]of q(n))a.set(e,mt(t,i.get(e)??[]));return a},async listAllIndexes(e,t){let n=new Map;for(let[r,i]of q(await K(e,t)))n.set(r,i.map(pt));return n},async listForeignKeys(e,t){return(await e(`SELECT fk.name, o.name AS table_name, c.name AS column_name, rt.name AS ref_table, rc.name AS ref_column
246
+ FROM sys.foreign_keys fk
247
+ JOIN sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id
248
+ JOIN sys.objects o ON o.object_id = fk.parent_object_id
249
+ JOIN sys.schemas s ON s.schema_id = o.schema_id
250
+ JOIN sys.columns c ON c.object_id = fkc.parent_object_id AND c.column_id = fkc.parent_column_id
251
+ JOIN sys.objects rt ON rt.object_id = fk.referenced_object_id
252
+ JOIN sys.columns rc ON rc.object_id = fkc.referenced_object_id AND rc.column_id = fkc.referenced_column_id
253
+ WHERE s.name = ${U(t)}
254
+ ORDER BY o.name, fk.name, fkc.constraint_column_id`)).records.map(e=>({name:m(e[0]),table:m(e[1]),column:m(e[2]),refTable:m(e[3]),refColumn:m(e[4])}))},async getTableInfo(e,t,n){return(await J(e,t,n))[0]??null},async getPrimaryKeys(e,t,n){return(await K(e,t,n)).find(e=>e.primary)?.columns??[]},async getCreateStatement(e,t,n,r){switch(n){case`TABLE`:return ht(e,t,r);case`VIEW`:case`PROCEDURE`:case`FUNCTION`:case`TRIGGER`:return gt(e,t,r);default:return null}}},yt={SELECT_COUNT:`SELECT COUNT(1) AS cnt FROM [{0}].[{1}]`,SHOW_FULL_FIELDS:`SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '{0}' AND TABLE_NAME = '{1}' ORDER BY ORDINAL_POSITION`,SHOW_COLUMNS:`SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '{0}' AND TABLE_NAME = '{1}' ORDER BY ORDINAL_POSITION`,SHOW_DATABASE_VIEWS:`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = '{0}' ORDER BY TABLE_NAME`,SHOW_DATABASE_TABLES:`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '{0}' AND TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME`,SHOW_DATABASE:`SELECT SCHEMA_NAME()`,SHOW_DATABASES:`SELECT name FROM sys.schemas WHERE schema_id < 16384 AND name NOT IN ('sys', 'INFORMATION_SCHEMA', 'guest') ORDER BY name`,ADD_INDEX:`CREATE {3} INDEX [{2}] ON [{0}].[{1}] ({4})`,SHOW_INDEXES:`SELECT i.name AS index_name, i.type_desc, i.is_unique FROM sys.indexes i JOIN sys.objects o ON o.object_id = i.object_id JOIN sys.schemas s ON s.schema_id = o.schema_id WHERE s.name = '{0}' AND o.name = '{1}' AND i.name IS NOT NULL ORDER BY i.name`,DROP_INDEX:`DROP INDEX [{2}] ON [{0}].[{1}]`,DROP_PROCEDURE:`DROP PROCEDURE {2} [{0}].[{1}]`,DROP_FUNCTION:`DROP FUNCTION {2} [{0}].[{1}]`,DROP_TRIGGER:`DROP TRIGGER {2} [{0}].[{1}]`,DROP_VIEW:`DROP VIEW {2} [{0}].[{1}]`,SHOW_PROCEDURES:`SELECT p.name FROM sys.procedures p JOIN sys.schemas s ON s.schema_id = p.schema_id WHERE s.name = '{0}' ORDER BY p.name`,SHOW_FUNCTIONS:`SELECT o.name FROM sys.objects o JOIN sys.schemas s ON s.schema_id = o.schema_id WHERE s.name = '{0}' AND o.type IN ('FN', 'IF', 'TF', 'AF') ORDER BY o.name`,SHOW_TRIGGERS:`SELECT tr.name, o.name AS table_name FROM sys.triggers tr JOIN sys.objects o ON o.object_id = tr.parent_id JOIN sys.schemas s ON s.schema_id = o.schema_id WHERE s.name = '{0}' ORDER BY tr.name`,SHOW_VIEWS:`SELECT TABLE_NAME AS [View_name], VIEW_DEFINITION AS [View_definition] FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = '{0}' ORDER BY TABLE_NAME`,SHOW_ALL_TABLE_STATUS:`SELECT t.name AS [Name], SUM(p.rows) AS [Rows], t.create_date AS [Create_time], t.modify_date AS [Update_time] FROM sys.tables t JOIN sys.schemas s ON s.schema_id = t.schema_id LEFT JOIN sys.partitions p ON p.object_id = t.object_id AND p.index_id IN (0, 1) WHERE s.name = '{0}' GROUP BY t.name, t.create_date, t.modify_date ORDER BY t.name`,SHOW_TABLE_STATUS:`SELECT t.name AS [Name], SUM(p.rows) AS [Rows], t.create_date AS [Create_time], t.modify_date AS [Update_time] FROM sys.tables t JOIN sys.schemas s ON s.schema_id = t.schema_id LEFT JOIN sys.partitions p ON p.object_id = t.object_id AND p.index_id IN (0, 1) WHERE s.name = '{0}' AND t.name = '{1}' GROUP BY t.name, t.create_date, t.modify_date`,INSERT_TABLE:`INSERT INTO [{0}].[{1}] ({2}) VALUES({3});`,INSERT_TABLE_BULK:`INSERT INTO [{0}].[{1}] ({2}) VALUES {3};`,INSERT_DEFAULT_VALUES:`INSERT INTO [{0}].[{1}] DEFAULT VALUES;`,UPDATE_TABLE:`UPDATE [{0}].[{1}] SET {2} WHERE {3};`,UPDATE_TABLE_SINGLE:`UPDATE TOP (1) [{0}].[{1}] SET {2} WHERE {3}`,START_TRANSACTION:`BEGIN TRANSACTION`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM [{0}].[{1}] WHERE {2};`,SELECT_TABLE:`SELECT {2} FROM [{0}].[{1}] {3};`,TRUNCATE_TABLE:`TRUNCATE TABLE [{0}].[{1}]`,RENAME_TABLE:`EXEC sp_rename '{0}.{1}', '{3}'`,DROP_TABLE:`DROP TABLE {2} [{0}].[{1}]`,CREATE_PROCEDURE:`CREATE PROCEDURE [{0}].[{1}]
255
+ AS
256
+ BEGIN
257
+ SET NOCOUNT ON;
258
+
259
+ /* SQL Statements */
260
+
261
+ END;`,CREATE_FUNCTION:`CREATE FUNCTION [{0}].[{1}]()
262
+ RETURNS INT
263
+ AS
264
+ BEGIN
265
+
266
+ /* SQL Statements */
267
+ RETURN 0;
268
+
269
+ END;`,CREATE_TRIGGER:`CREATE TRIGGER [{0}].[{1}]
270
+ ON [{0}].[<Table Name>]
271
+ AFTER INSERT
272
+ -- , UPDATE, DELETE
273
+ AS
274
+ BEGIN
275
+ SET NOCOUNT ON;
276
+
277
+ /* SQL Statements */
278
+
279
+ END;`,CREATE_VIEW:`CREATE VIEW [{0}].[{1}] AS
280
+ /* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE [{0}].[{1}] {2}`,ALTER_TABLE:`ALTER TABLE [{0}].[{1}] {2}`,ALTER_VIEW:`DROP VIEW IF EXISTS [{0}].[{1}];
281
+ GO
282
+ {2}`,ALTER_PROCEDURE:`DROP PROCEDURE IF EXISTS [{0}].[{1}];
283
+ GO
284
+ {2}`,ALTER_FUNCTION:`DROP FUNCTION IF EXISTS [{0}].[{1}];
285
+ GO
286
+ {2}`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS [{0}].[{1}];
287
+ GO
288
+ {2}`,SHOW_PROCESS_LIST:`SELECT s.session_id AS [Id], s.login_name AS [User], COALESCE(c.client_net_address, 'local') AS [Host], DB_NAME(s.database_id) AS [db], COALESCE(r.status, s.status) AS [Command], COALESCE(DATEDIFF(SECOND, r.start_time, GETDATE()), 0) AS [Time], COALESCE(r.wait_type, '') AS [State], t.text AS [Info] FROM sys.dm_exec_sessions s LEFT JOIN sys.dm_exec_connections c ON c.session_id = s.session_id LEFT JOIN sys.dm_exec_requests r ON r.session_id = s.session_id OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) t WHERE s.is_user_process = 1 ORDER BY s.session_id`,KILL_QUERY:`KILL {0}`,SHOW_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS [Variable_name], CAST(value AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA [{0}]`,DROP_SCHEMA:`DROP SCHEMA [{0}]`,COPY_TABLE_STRUCTURE:`SELECT TOP 0 * INTO [{2}].[{3}] FROM [{0}].[{1}]`,COPY_TABLE_DATA:`INSERT INTO [{2}].[{3}] SELECT * FROM [{0}].[{1}]`,DISABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'`,ENABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'`},bt=`ASCII.CHAR.CHARINDEX.CONCAT.CONCAT_WS.FORMAT.LEFT.LEN.LOWER.LTRIM.NCHAR.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SPACE.STR.STRING_AGG.STRING_SPLIT.STUFF.SUBSTRING.TRANSLATE.TRIM.UNICODE.UPPER.ABS.CEILING.EXP.FLOOR.LOG.LOG10.PI.POWER.RAND.ROUND.SIGN.SQRT.SQUARE.CURRENT_TIMESTAMP.DATEADD.DATEDIFF.DATEDIFF_BIG.DATEFROMPARTS.DATENAME.DATEPART.DATETIMEFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.YEAR.AVG.COUNT.COUNT_BIG.MAX.MIN.STDEV.SUM.VAR.ROW_NUMBER.RANK.DENSE_RANK.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.CAST.CONVERT.TRY_CAST.TRY_CONVERT.PARSE.COALESCE.NULLIF.ISNULL.IIF.CHOOSE.NEWID.NEWSEQUENTIALID.SCOPE_IDENTITY.IDENT_CURRENT.OBJECT_ID.OBJECT_NAME.OBJECT_DEFINITION.SCHEMA_NAME.DB_NAME.HOST_NAME.SUSER_SNAME.USER_NAME.ISNUMERIC.ISJSON.JSON_VALUE.JSON_QUERY.JSON_MODIFY.OPENJSON`.split(`.`),xt=`ADD.ALL.ALTER.AND.ANY.AS.ASC.AUTHORIZATION.BACKUP.BEGIN.BETWEEN.BREAK.BROWSE.BULK.BY.CASCADE.CASE.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLUMN.COMMIT.COMPUTE.CONSTRAINT.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DBCC.DEALLOCATE.DECLARE.DEFAULT.DELETE.DENY.DESC.DISK.DISTINCT.DISTRIBUTED.DOUBLE.DROP.DUMP.ELSE.END.ERRLVL.ESCAPE.EXCEPT.EXEC.EXECUTE.EXISTS.EXIT.EXTERNAL.FETCH.FILE.FILLFACTOR.FOR.FOREIGN.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GO.GOTO.GRANT.GROUP.GROUP BY.HAVING.HOLDLOCK.IDENTITY.IDENTITY_INSERT.IDENTITYCOL.IF.IN.INDEX.INNER.INSERT.INSERT INTO.INTERSECT.INTO.IS.JOIN.KEY.KILL.LEFT.LIKE.LINENO.LOAD.MERGE.NATIONAL.NEXT.NOCHECK.NONCLUSTERED.NOT.NULL.NULLIF.OF.OFF.OFFSET.OFFSETS.ON.ONLY.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.ORDER BY.OUTER.OUTPUT.OVER.PERCENT.PIVOT.PLAN.PRECISION.PRIMARY.PRINT.PROC.PROCEDURE.PUBLIC.RAISERROR.READ.READTEXT.RECONFIGURE.REFERENCES.REPLICATION.RESTORE.RESTRICT.RETURN.REVERT.REVOKE.RIGHT.ROLLBACK.ROWCOUNT.ROWGUIDCOL.ROWS.RULE.SAVE.SCHEMA.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION_USER.SET.SETUSER.SHUTDOWN.SOME.STATISTICS.SYSTEM_USER.TABLE.TABLESAMPLE.TEXTSIZE.THEN.TO.TOP.TRAN.TRANSACTION.TRIGGER.TRUNCATE.TRY_CONVERT.TSEQUAL.UNION.UNIQUE.UNPIVOT.UPDATE.UPDATETEXT.USE.USER.VALUES.VARYING.VIEW.WAITFOR.WHEN.WHERE.WHILE.WITH.WITHIN GROUP.WRITETEXT`.split(`.`),St=`bigint.binary.bit.char.date.datetime.datetime2.datetimeoffset.decimal.float.geography.geometry.hierarchyid.image.int.money.nchar.ntext.numeric.nvarchar.real.smalldatetime.smallint.smallmoney.sql_variant.text.time.timestamp.tinyint.uniqueidentifier.varbinary.varchar.xml`.split(`.`),Ct={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!0,limitStyle:`top`,plsqlBlocks:!1};function wt(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:i}=e;return{...r(e,{addColumn:`ADD`,modify:`mssql`,qualifiedIndexNames:!1,dropIndexOnTable:!0,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=_(e.name,`untitled`),a=e.database||`dbo`,o=i(a,r),s=e.columns.filter(e=>e.primaryKey),c=e.columns.map(e=>{let n=` ${t(_(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` IDENTITY(1,1)`),n+=e.notNull||e.primaryKey?` NOT NULL`:` NULL`,e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),n});s.length>0&&c.push(` PRIMARY KEY (${s.map(e=>t(e.name)).join(`, `)})`);let l=[`CREATE TABLE ${o} (\n${c.join(`,
289
+ `)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,i=n.type===`FULLTEXT`?` -- FULLTEXT needs a full-text catalog; created as a plain index`:``,a=t(_(n.name,`${r}_${n.columns.join(`_`)}_idx`));l.push(`CREATE ${e}INDEX ${a} ON ${o} (${n.columns.map(t).join(`, `)});${i}`)}e.options.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${n(e.options.comment)}, 'SCHEMA', ${n(a)}, 'TABLE', ${n(r)};`);for(let t of e.columns)t.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${n(t.comment)}, 'SCHEMA', ${n(a)}, 'TABLE', ${n(r)}, 'COLUMN', ${n(_(t.name,`column`))};`);return l.join(`
290
+ `)}}}var Tt=v({id:`mssql`,label:`SQL Server`,capabilities:{multipleDatabases:!1,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:wt,introspect:vt,tree:Ue,defaultPort:1433,binaryLiteral:e=>`0x${e}`,booleanKeywords:!1,identifierQuote:`[`,identifierQuoteClose:`]`,queries:yt,syntax:Ct,dataTypes:St,functions:bt,reservedWords:xt}),Y=e=>`'${e.replace(/'/g,`''`)}'`;async function X(e,t){return(await e(t)).records.map(e=>m(e[0]))}function Et(e,t,n,r,i){return[`VARCHAR2`,`NVARCHAR2`,`CHAR`,`NCHAR`,`RAW`].includes(e)?`${e}(${n||t||0})`:e===`NUMBER`?r===null?`NUMBER`:i?`NUMBER(${r},${i})`:`NUMBER(${r})`:e===`FLOAT`&&r!==null?`FLOAT(${r})`:e}async function Dt(e,t,n){return p(await e(`SELECT c.table_name, c.column_name, c.data_type, c.data_length, c.char_length, c.data_precision, c.data_scale,
291
+ c.nullable, c.data_default, cc.comments,
292
+ CASE WHEN ic.column_name IS NOT NULL THEN 1 ELSE 0 END AS is_identity
293
+ FROM all_tab_columns c
294
+ LEFT JOIN all_col_comments cc ON cc.owner = c.owner AND cc.table_name = c.table_name AND cc.column_name = c.column_name
295
+ LEFT JOIN all_tab_identity_cols ic ON ic.owner = c.owner AND ic.table_name = c.table_name AND ic.column_name = c.column_name
296
+ WHERE c.owner = ${Y(t)}${n?` AND c.table_name = ${Y(n)}`:``}
297
+ ORDER BY c.table_name, c.column_id`)).map(e=>({table:m(e.TABLE_NAME),name:m(e.COLUMN_NAME),type:Et(m(e.DATA_TYPE),g(e.DATA_LENGTH),g(e.CHAR_LENGTH),g(e.DATA_PRECISION),g(e.DATA_SCALE)),nullable:m(e.NULLABLE)===`Y`,defaultValue:h(e.DATA_DEFAULT)?.trim()??null,identity:Number(e.IS_IDENTITY)===1,comment:m(e.COMMENTS)}))}async function Z(e,t,n){return p(await e(`SELECT i.table_name, i.index_name, i.uniqueness,
298
+ CASE WHEN EXISTS (SELECT 1 FROM all_constraints k WHERE k.owner = i.table_owner AND k.table_name = i.table_name AND k.constraint_type = 'P' AND k.index_name = i.index_name) THEN 1 ELSE 0 END AS is_primary,
299
+ LISTAGG(ic.column_name, CHR(10)) WITHIN GROUP (ORDER BY ic.column_position) AS columns
300
+ FROM all_indexes i
301
+ JOIN all_ind_columns ic ON ic.index_owner = i.owner AND ic.index_name = i.index_name
302
+ WHERE i.table_owner = ${Y(t)}${n?` AND i.table_name = ${Y(n)}`:``}
303
+ GROUP BY i.table_owner, i.table_name, i.index_name, i.uniqueness
304
+ ORDER BY i.table_name, is_primary DESC, i.index_name`)).map(e=>({table:m(e.TABLE_NAME),name:m(e.INDEX_NAME),primary:Number(e.IS_PRIMARY)===1,unique:m(e.UNIQUENESS)===`UNIQUE`,columns:m(e.COLUMNS).split(`
305
+ `).filter(Boolean)}))}function Ot(e){return{name:e.primary?`PRIMARY`:e.name,type:e.primary?`PRIMARY`:e.unique?`UNIQUE`:`INDEX`,columns:e.columns}}function kt(e,t){let n=new Set,r=new Set,i=new Set;for(let e of t)e.primary?e.columns.forEach(e=>n.add(e)):e.unique&&e.columns.length===1?r.add(e.columns[0]):e.columns.length>0&&i.add(e.columns[0]);return e.map(e=>({name:e.name,type:e.type,nullable:e.nullable,key:n.has(e.name)?`PRI`:r.has(e.name)?`UNI`:i.has(e.name)?`MUL`:``,defaultValue:e.defaultValue,extra:e.identity?`identity`:``,comment:e.comment,collation:null}))}function Q(e){let t=new Map;for(let n of e){let e=t.get(n.table);e?e.push(n):t.set(n.table,[n])}return t}async function At(e,t,n){return p(await e(`SELECT t.table_name, t.num_rows, t.last_analyzed, tc.comments,
306
+ (SELECT SUM(s.bytes) FROM all_segments s WHERE s.owner = t.owner AND s.segment_name = t.table_name) AS bytes
307
+ FROM all_tables t
308
+ LEFT JOIN all_tab_comments tc ON tc.owner = t.owner AND tc.table_name = t.table_name
309
+ WHERE t.owner = ${Y(t)}${n?` AND t.table_name = ${Y(n)}`:``}
310
+ ORDER BY t.table_name`)).map(e=>({name:m(e.TABLE_NAME),engine:null,rows:g(e.NUM_ROWS),collation:null,autoIncrement:null,comment:m(e.COMMENTS),createTime:null,updateTime:h(e.LAST_ANALYZED),dataLength:g(e.BYTES)}))}var jt={TABLE:`TABLE`,VIEW:`VIEW`,PROCEDURE:`PROCEDURE`,FUNCTION:`FUNCTION`,TRIGGER:`TRIGGER`,EVENT:null};async function Mt(e,t){return(await e(`SELECT trigger_name, table_name FROM all_triggers WHERE owner = ${Y(t)} ORDER BY table_name, trigger_name`)).records.map(e=>({name:m(e[0]),table:m(e[1])}))}var Nt={async listDatabases(e){return X(e,`SELECT username FROM all_users WHERE oracle_maintained = 'N'
311
+ ORDER BY CASE WHEN username = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') THEN 0 ELSE 1 END, username`)},listTables:(e,t)=>At(e,t),listViews:(e,t)=>X(e,`SELECT view_name FROM all_views WHERE owner = ${Y(t)} ORDER BY view_name`),listProcedures:(e,t)=>X(e,`SELECT object_name FROM all_objects WHERE owner = ${Y(t)} AND object_type = 'PROCEDURE' ORDER BY object_name`),listFunctions:(e,t)=>X(e,`SELECT object_name FROM all_objects WHERE owner = ${Y(t)} AND object_type = 'FUNCTION' ORDER BY object_name`),async listTriggers(e,t){return(await Mt(e,t)).map(e=>e.name)},listTriggerDetails:Mt,listEvents:async()=>[],async listColumns(e,t,n){let[r,i]=await Promise.all([Dt(e,t,n),Z(e,t,n)]);return kt(r,i)},async listIndexes(e,t,n){return(await Z(e,t,n)).map(Ot)},async listAllColumns(e,t){let[n,r]=await Promise.all([Dt(e,t),Z(e,t)]),i=Q(r),a=new Map;for(let[e,t]of Q(n))a.set(e,kt(t,i.get(e)??[]));return a},async listAllIndexes(e,t){let n=new Map;for(let[r,i]of Q(await Z(e,t)))n.set(r,i.map(Ot));return n},async listForeignKeys(e,t){return(await e(`SELECT c.constraint_name, c.table_name, cc.column_name, r.table_name AS ref_table, rc.column_name AS ref_column
312
+ FROM all_constraints c
313
+ JOIN all_cons_columns cc ON cc.owner = c.owner AND cc.constraint_name = c.constraint_name
314
+ JOIN all_constraints r ON r.owner = c.r_owner AND r.constraint_name = c.r_constraint_name
315
+ JOIN all_cons_columns rc ON rc.owner = r.owner AND rc.constraint_name = r.constraint_name AND rc.position = cc.position
316
+ WHERE c.owner = ${Y(t)} AND c.constraint_type = 'R'
317
+ ORDER BY c.table_name, c.constraint_name, cc.position`)).records.map(e=>({name:m(e[0]),table:m(e[1]),column:m(e[2]),refTable:m(e[3]),refColumn:m(e[4])}))},async getTableInfo(e,t,n){return(await At(e,t,n))[0]??null},async getPrimaryKeys(e,t,n){return(await e(`SELECT cc.column_name FROM all_constraints c
318
+ JOIN all_cons_columns cc ON cc.owner = c.owner AND cc.constraint_name = c.constraint_name
319
+ WHERE c.owner = ${Y(t)} AND c.table_name = ${Y(n)} AND c.constraint_type = 'P'
320
+ ORDER BY cc.position`)).records.map(e=>m(e[0]))},async getCreateStatement(e,t,n,r){let i=jt[n];return i?h((await e(`SELECT DBMS_METADATA.GET_DDL(${Y(i)}, ${Y(r)}, ${Y(t)}) FROM dual`)).records[0]?.[0])?.trim()??null:null}},Pt={SELECT_COUNT:`SELECT COUNT(1) AS cnt FROM "{0}"."{1}"`,SHOW_FULL_FIELDS:`SELECT column_name, data_type, nullable, data_default FROM all_tab_columns WHERE owner = '{0}' AND table_name = '{1}' ORDER BY column_id`,SHOW_COLUMNS:`SELECT column_name, data_type, nullable, data_default FROM all_tab_columns WHERE owner = '{0}' AND table_name = '{1}' ORDER BY column_id`,SHOW_DATABASE_VIEWS:`SELECT view_name FROM all_views WHERE owner = '{0}' ORDER BY view_name`,SHOW_DATABASE_TABLES:`SELECT table_name FROM all_tables WHERE owner = '{0}' ORDER BY table_name`,SHOW_DATABASE:`SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM dual`,SHOW_DATABASES:`SELECT username FROM all_users WHERE oracle_maintained = 'N' ORDER BY username`,ADD_INDEX:`CREATE {3} INDEX "{0}"."{2}" ON "{0}"."{1}" ({4})`,SHOW_INDEXES:`SELECT index_name, uniqueness, index_type FROM all_indexes WHERE table_owner = '{0}' AND table_name = '{1}' ORDER BY index_name`,DROP_INDEX:`DROP INDEX "{0}"."{2}"`,DROP_PROCEDURE:`DROP PROCEDURE "{0}"."{1}"`,DROP_FUNCTION:`DROP FUNCTION "{0}"."{1}"`,DROP_TRIGGER:`DROP TRIGGER "{0}"."{1}"`,DROP_VIEW:`DROP VIEW "{0}"."{1}"`,SHOW_PROCEDURES:`SELECT object_name FROM all_objects WHERE owner = '{0}' AND object_type = 'PROCEDURE' ORDER BY object_name`,SHOW_FUNCTIONS:`SELECT object_name FROM all_objects WHERE owner = '{0}' AND object_type = 'FUNCTION' ORDER BY object_name`,SHOW_TRIGGERS:`SELECT trigger_name, table_name FROM all_triggers WHERE owner = '{0}' ORDER BY trigger_name`,SHOW_VIEWS:`SELECT view_name AS "View_name", text_vc AS "View_definition" FROM all_views WHERE owner = '{0}' ORDER BY view_name`,SHOW_ALL_TABLE_STATUS:`SELECT t.table_name AS "Name", t.num_rows AS "Rows", c.comments AS "Comment" FROM all_tables t LEFT JOIN all_tab_comments c ON c.owner = t.owner AND c.table_name = t.table_name WHERE t.owner = '{0}' ORDER BY t.table_name`,SHOW_TABLE_STATUS:`SELECT t.table_name AS "Name", t.num_rows AS "Rows", c.comments AS "Comment" FROM all_tables t LEFT JOIN all_tab_comments c ON c.owner = t.owner AND c.table_name = t.table_name WHERE t.owner = '{0}' AND t.table_name = '{1}'`,INSERT_TABLE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3})`,INSERT_TABLE_BULK:`INSERT INTO "{0}"."{1}" ({2}) VALUES {3}`,INSERT_DEFAULT_VALUES:`INSERT INTO "{0}"."{1}" ({2}) VALUES (DEFAULT)`,UPDATE_TABLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3}`,UPDATE_TABLE_SINGLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3} AND ROWNUM = 1`,START_TRANSACTION:`SET TRANSACTION READ WRITE`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM "{0}"."{1}" WHERE {2}`,SELECT_TABLE:`SELECT {2} FROM "{0}"."{1}" {3}`,TRUNCATE_TABLE:`TRUNCATE TABLE "{0}"."{1}"`,RENAME_TABLE:`ALTER TABLE "{0}"."{1}" RENAME TO "{3}"`,DROP_TABLE:`DROP TABLE "{0}"."{1}"`,CREATE_PROCEDURE:`CREATE OR REPLACE PROCEDURE "{0}"."{1}"
321
+ IS
322
+ BEGIN
323
+
324
+ /* SQL Statements */
325
+ NULL;
326
+
327
+ END;
328
+ /`,CREATE_FUNCTION:`CREATE OR REPLACE FUNCTION "{0}"."{1}"
329
+ RETURN NUMBER
330
+ IS
331
+ BEGIN
332
+
333
+ /* SQL Statements */
334
+ RETURN 0;
335
+
336
+ END;
337
+ /`,CREATE_TRIGGER:`CREATE OR REPLACE TRIGGER "{0}"."{1}"
338
+ BEFORE
339
+ -- AFTER
340
+ INSERT
341
+ -- OR UPDATE
342
+ -- OR DELETE
343
+ ON "{0}"."<Table Name>" FOR EACH ROW
344
+ BEGIN
345
+
346
+ /* SQL Statements */
347
+ NULL;
348
+
349
+ END;
350
+ /`,CREATE_VIEW:`CREATE OR REPLACE VIEW "{0}"."{1}" AS
351
+ /* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`{2}`,ALTER_PROCEDURE:`{2}`,ALTER_FUNCTION:`{2}`,ALTER_TRIGGER:`{2}`,SHOW_PROCESS_LIST:`SELECT s.sid || ',' || s.serial# AS "Id", s.username AS "User", s.machine AS "Host", s.schemaname AS "db", s.status AS "Command", COALESCE(s.last_call_et, 0) AS "Time", s.event AS "State", s.sql_id AS "Info" FROM v$session s WHERE s.type = 'USER' ORDER BY s.sid`,KILL_QUERY:`ALTER SYSTEM KILL SESSION '{0}' IMMEDIATE`,SHOW_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT parameter AS "Variable_name", value AS "Value" FROM nls_session_parameters ORDER BY parameter`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 1 = 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`},Ft=`ASCII,CHR,CONCAT,INITCAP,INSTR,LENGTH,LOWER,LPAD,LTRIM,NLSSORT,REGEXP_INSTR,REGEXP_REPLACE,REGEXP_SUBSTR,REPLACE,RPAD,RTRIM,SOUNDEX,SUBSTR,TRANSLATE,TRIM,UPPER,LISTAGG,ABS,CEIL,EXP,FLOOR,LN,LOG,MOD,POWER,REMAINDER,ROUND,SIGN,SQRT,TRUNC,ADD_MONTHS,CURRENT_DATE,CURRENT_TIMESTAMP,EXTRACT,LAST_DAY,LOCALTIMESTAMP,MONTHS_BETWEEN,NEXT_DAY,SYSDATE,SYSTIMESTAMP,TO_CHAR,TO_DATE,TO_TIMESTAMP,TO_TIMESTAMP_TZ,FROM_TZ,NUMTODSINTERVAL,NUMTOYMINTERVAL,CAST,TO_NUMBER,TO_CLOB,COALESCE,NULLIF,NVL,NVL2,DECODE,GREATEST,LEAST,AVG,COUNT,MAX,MEDIAN,MIN,STDDEV,SUM,VARIANCE,ROW_NUMBER,RANK,DENSE_RANK,NTILE,LAG,LEAD,FIRST_VALUE,LAST_VALUE,SYS_GUID,SYS_CONTEXT,USER,UID,ROWNUM,ROWID,DBMS_METADATA.GET_DDL,JSON_VALUE,JSON_QUERY,JSON_OBJECT,JSON_ARRAY,JSON_TABLE,JSON_EXISTS`.split(`,`),It=`ACCESS.ADD.ALL.ALTER.AND.ANY.AS.ASC.AUDIT.BETWEEN.BY.CHAR.CHECK.CLUSTER.COLUMN.COMMENT.COMPRESS.CONNECT.CREATE.CURRENT.DATE.DECIMAL.DEFAULT.DELETE.DESC.DISTINCT.DROP.ELSE.EXCLUSIVE.EXISTS.FILE.FLOAT.FOR.FROM.GRANT.GROUP.GROUP BY.HAVING.IDENTIFIED.IMMEDIATE.IN.INCREMENT.INDEX.INITIAL.INSERT.INSERT INTO.INTEGER.INTERSECT.INTO.IS.LEVEL.LIKE.LOCK.LONG.MAXEXTENTS.MINUS.MLSLABEL.MODE.MODIFY.NOAUDIT.NOCOMPRESS.NOT.NOWAIT.NULL.NUMBER.OF.OFFLINE.ON.ONLINE.OPTION.OR.ORDER.ORDER BY.PCTFREE.PRIOR.PUBLIC.RAW.RENAME.RESOURCE.REVOKE.ROW.ROWID.ROWNUM.ROWS.SELECT.SESSION.SET.SHARE.SIZE.SMALLINT.START.SUCCESSFUL.SYNONYM.SYSDATE.TABLE.THEN.TO.TRIGGER.UID.UNION.UNIQUE.UPDATE.USER.VALIDATE.VALUES.VARCHAR.VARCHAR2.VIEW.WHENEVER.WHERE.WITH.BEGIN.DECLARE.END.EXCEPTION.IF.ELSIF.LOOP.WHILE.RETURN.PROCEDURE.FUNCTION.PACKAGE.BODY.CURSOR.FETCH.FIRST.NEXT.ONLY.OFFSET.COMMIT.ROLLBACK.SAVEPOINT.TRUNCATE.REPLACE.MERGE.USING.MATCHED.JOIN.INNER.LEFT.RIGHT.FULL.OUTER.CROSS.CASE.WHEN.OVER.PARTITION.DUAL.SEQUENCE.NEXTVAL.CURRVAL`.split(`.`),Lt=[`BFILE`,`BINARY_DOUBLE`,`BINARY_FLOAT`,`BLOB`,`BOOLEAN`,`CHAR`,`CLOB`,`DATE`,`FLOAT`,`INTERVAL DAY TO SECOND`,`INTERVAL YEAR TO MONTH`,`JSON`,`LONG`,`NCHAR`,`NCLOB`,`NUMBER`,`NVARCHAR2`,`RAW`,`ROWID`,`TIMESTAMP`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP WITH TIME ZONE`,`VARCHAR2`,`XMLTYPE`],Rt={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`fetch`,plsqlBlocks:!0};function zt(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:i}=e;return{...r(e,{addColumn:`ADD (`,modify:`oracle`,qualifiedIndexNames:!0,dropIndexOnTable:!1,unqualifiedIndexTarget:!1,multiRowInsert:!1,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=_(e.name,`untitled`),a=i(e.database,r),o=e.columns.filter(e=>e.primaryKey),s=e.columns.map(e=>{let n=` ${t(_(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` GENERATED BY DEFAULT AS IDENTITY`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),e.notNull&&(n+=` NOT NULL`),n});o.length>0&&s.push(` PRIMARY KEY (${o.map(e=>t(e.name)).join(`, `)})`);let c=[`CREATE TABLE ${a} (\n${s.join(`,
352
+ `)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let o=n.type===`UNIQUE`?`UNIQUE `:``,s=n.type===`FULLTEXT`?` -- FULLTEXT is MySQL-only; consider an Oracle Text index`:``,l=i(e.database,_(n.name,`${r}_${n.columns.join(`_`)}_idx`));c.push(`CREATE ${o}INDEX ${l} ON ${a} (${n.columns.map(t).join(`, `)});${s}`)}e.options.comment&&c.push(`COMMENT ON TABLE ${a} IS ${n(e.options.comment)};`);for(let r of e.columns)r.comment&&c.push(`COMMENT ON COLUMN ${a}.${t(_(r.name,`column`))} IS ${n(r.comment)};`);return c.join(`
353
+ `)}}}var $=v({id:`oracle`,label:`Oracle`,capabilities:{multipleDatabases:!1,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!0,transactions:!0},ddl:zt,introspect:Nt,defaultPort:1521,binaryLiteral:e=>`HEXTORAW('${e}')`,booleanKeywords:!1,identifierQuote:`"`,queries:Pt,syntax:Rt,dataTypes:Lt,functions:Ft,reservedWords:It}),Bt=v({...N,id:`neon`,label:`Neon`}),Vt=v({...N,id:`supabase`,label:`Supabase`}),Ht=v({...V,id:`d1`,label:`Cloudflare D1`,capabilities:{...V.capabilities,transactions:!1}}),Ut={mysql:C,maria:E,postgres:Xe,sqlite:ct,mssql:Tt,oracle:$,neon:Bt,supabase:Vt,d1:Ht},Wt=[C,E,Xe,ct,Tt,$,Bt,Vt,Ht];function Gt(e){return e&&Ut[e]||C}function Kt(e){return Gt(e?.dbms)}export{o as a,p as i,Gt as n,i as o,Kt as r,Wt as t};