planche 0.7.1 → 0.7.3

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 (45) hide show
  1. package/README.md +66 -4
  2. package/app/assets/{AboutDialog-BKZYkJTp.js → AboutDialog-rGCGtC6B.js} +1 -1
  3. package/app/assets/{ConnectDialog-BR8x82WA.js → ConnectDialog-BvwpdRuF.js} +1 -1
  4. package/app/assets/{CopyDatabaseDialog-BNy2T6Gr.js → CopyDatabaseDialog-BkcTNeQX.js} +1 -1
  5. package/app/assets/{CopyTableDialog-BPlrWZkd.js → CopyTableDialog-CXrlyol9.js} +1 -1
  6. package/app/assets/{CreateDatabaseDialog-CSGP8uim.js → CreateDatabaseDialog-DCnuqOmy.js} +1 -1
  7. package/app/assets/{DataDiffDialog-DnPrMjJH.js → DataDiffDialog-BbE_4J8s.js} +1 -1
  8. package/app/assets/{DownloadToCSVDialog-BAB8dFZb.js → DownloadToCSVDialog-Ceyr73gw.js} +1 -1
  9. package/app/assets/{EditSchemaDialog-DbtEwLFq.js → EditSchemaDialog-cLRK39Vw.js} +1 -1
  10. package/app/assets/{FindReplaceDialog-uWQWnCuI.js → FindReplaceDialog-1fXjxKMo.js} +1 -1
  11. package/app/assets/{FlushDialog-Cs0aKhnC.js → FlushDialog-CqSjI_mY.js} +1 -1
  12. package/app/assets/{LinkColumnDialog-Wug5N1I5.js → LinkColumnDialog-BZo_6ObH.js} +1 -1
  13. package/app/assets/{LocalHistoryDialog-DNRc52tY.js → LocalHistoryDialog-C14Mxnyy.js} +1 -1
  14. package/app/assets/{ProcessListDialog-EFZx2I21.js → ProcessListDialog-Dx3dPvT0.js} +1 -1
  15. package/app/assets/{QuickCommandPalette-CpXQe_fD.js → QuickCommandPalette-GiKovkpY.js} +1 -1
  16. package/app/assets/{RowFormDialog-DGJRhveF.js → RowFormDialog-cdxpPm0O.js} +1 -1
  17. package/app/assets/{SafetySettingsDialog-EPYmYqI7.js → SafetySettingsDialog-WQlpckyU.js} +1 -1
  18. package/app/assets/{SchemaDiffDialog-CepiDNT4.js → SchemaDiffDialog-BfuoMLOD.js} +1 -1
  19. package/app/assets/{SchemaToHTMLDialog-Cl7FtDQ4.js → SchemaToHTMLDialog-DealbXXH.js} +1 -1
  20. package/app/assets/{StatusDialog-BorcEOOv.js → StatusDialog-B2gxU15M.js} +1 -1
  21. package/app/assets/{UserAddDialog-DvKVbCtu.js → UserAddDialog-DGCGDytU.js} +1 -1
  22. package/app/assets/{UserManagerDialog-lyWevcWM.js → UserManagerDialog-DCoyy-3y.js} +1 -1
  23. package/app/assets/{VariablesDialog-BVUkQuDm.js → VariablesDialog-2PmzReYr.js} +1 -1
  24. package/app/assets/{database-D3ZazTXj.js → database-7RkacLLF.js} +1 -1
  25. package/app/assets/{dbms-Cq4imB7l.js → dbms-Bsjvyvsp.js} +1 -1
  26. package/app/assets/{de-B9X_f_18.js → de-a3uUFgyR.js} +1 -1
  27. package/app/assets/{engine-BmvPzjsq.js → engine-DRzYxvTs.js} +1 -1
  28. package/app/assets/{fr-ByU5YzKG.js → fr-mAuj3xjE.js} +1 -1
  29. package/app/assets/{i18n-9War-oHy.js → i18n-DFnLZX4V.js} +2 -2
  30. package/app/assets/{ja-nAp-4B2u.js → ja-Ct4KapSS.js} +1 -1
  31. package/app/assets/{ko-BeLRvuuF.js → ko-Kd4KO98m.js} +1 -1
  32. package/app/assets/main-B9Gu9otb.js +940 -0
  33. package/app/assets/main-zsfz90dl.css +2 -0
  34. package/app/assets/query-execution-DSSJw-rD.js +7 -0
  35. package/app/assets/{schema-nodes-n_QZJb21.js → schema-nodes-D3-cz2Xk.js} +1 -1
  36. package/app/assets/{select-XqkC478q.js → select-UCsaLUTL.js} +1 -1
  37. package/app/assets/{table-copy-WMW8qLUH.js → table-copy-DEPZiyTM.js} +1 -1
  38. package/app/assets/{use-engine-z0WEd5U4.js → use-engine-5vf18JRu.js} +1 -1
  39. package/app/assets/{zh-QBkIdY--.js → zh-B5o8i7gH.js} +1 -1
  40. package/app/index.html +10 -10
  41. package/dist/index.js +38 -6
  42. package/package.json +2 -2
  43. package/app/assets/main-CCLlOK4N.js +0 -940
  44. package/app/assets/main-DntTuWCY.css +0 -2
  45. package/app/assets/query-execution-C80kZc4y.js +0 -7
@@ -1,7 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-CCLlOK4N.js","assets/ui-store-DWSBgCoR.js","assets/button-BGQhw-yz.js","assets/i18n-9War-oHy.js","assets/dist-R-HWeP5h.js","assets/dist-eK8CwLw8.js","assets/dist-Dfw8x01G.js","assets/app-storage-B6v72zLH.js","assets/connection-store-B9-4NAfR.js","assets/query-store-fCiE0iiG.js","assets/settings-store-MJead_iM.js","assets/database-D3ZazTXj.js","assets/dbms-Cq4imB7l.js","assets/engine-BmvPzjsq.js","assets/schema-nodes-n_QZJb21.js","assets/use-engine-z0WEd5U4.js","assets/table-copy-WMW8qLUH.js","assets/table-definition-Bs5VSn0X.js","assets/main-DntTuWCY.css"])))=>i.map(i=>d[i]);
2
- import{_ as e,c as t,m as n,n as r}from"./ui-store-DWSBgCoR.js";import{a as i,i as a}from"./i18n-9War-oHy.js";import{t as o}from"./connection-store-B9-4NAfR.js";import{n as s}from"./query-store-fCiE0iiG.js";import{n as c}from"./settings-store-MJead_iM.js";import{A as l,M as u,b as d,o as f,r as p}from"./database-D3ZazTXj.js";import{a as m,o as h}from"./dbms-Cq4imB7l.js";import{n as g,r as ee}from"./engine-BmvPzjsq.js";import{n as te,t as ne}from"./schema-nodes-n_QZJb21.js";var _=u(`editors`,()=>new Map),v=(e,t)=>`${e}:${t}`;function re(e,t,n){return _.set(v(e,t),n),()=>{_.get(v(e,t))===n&&_.delete(v(e,t))}}function y(e,t){return _.get(v(e,t))}function ie(e,t){let n=y(e,t),r=n?.getModel();if(!n||!r)return null;let i=n.getSelection();if(i&&!i.isEmpty())return{selection:r.getValueInRange(i)};let a=n.getPosition();return{cursorOffset:a?r.getOffsetAt(a):0}}var ae={undo:`undo`,redo:`redo`,cut:`editor.action.clipboardCutAction`,copy:`editor.action.clipboardCopyAction`,paste:`editor.action.clipboardPasteAction`,selectAll:`editor.action.selectAll`};function oe(e,t,n){let r=y(e,t);return r?(r.focus(),r.trigger(`menu`,ae[n],null),!0):!1}var se=[`<=>`,`->>`,`->`,`<>`,`!=`,`<=`,`>=`,`<<`,`>>`,`:=`,`||`,`&&`];function b(e){return/[A-Za-z_$\u0080-\uFFFF]/.test(e)}function x(e){return/[A-Za-z0-9_$\u0080-\uFFFF]/.test(e)}function S(e){return e>=`0`&&e<=`9`}function C(e){return e===` `||e===` `||e===`
3
- `||e===`\r`||e===`\f`||e===`\v`}var ce=class{input;syntax;pos=0;delimiter;significantInStatement=0;constructor(e,t,n=`;`){this.input=e,this.syntax=t,this.delimiter=n}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.next();t.kind===`terminator`||t.kind===`delimiter_command`?this.significantInStatement=0:t.kind!==`space`&&t.kind!==`comment`&&this.significantInStatement++,e.push(t)}return e}atLineStart(e){let t=e-1;for(;t>=0&&(this.input[t]===` `||this.input[t]===` `);)t--;return t<0||this.input[t]===`
4
- `}make(e,t,n){let r=this.input.slice(t,n),i={kind:e,value:r,start:t,end:n};return e===`identifier`&&(i.upper=r.toUpperCase()),i}next(){let e=this.input,t=this.pos,n=e[t];if(C(n)){let n=t+1;for(;n<e.length&&C(e[n]);)n++;return this.pos=n,this.make(`space`,t,n)}if(e.startsWith(this.delimiter,t))return this.pos=t+this.delimiter.length,this.make(`terminator`,t,this.pos);if(n===`#`&&this.syntax.hashComments)return this.lineComment(t);if(n===`-`&&e[t+1]===`-`){let n=e[t+2];if(!this.syntax.dashCommentNeedsSpace||n===void 0||C(n))return this.lineComment(t)}if(n===`/`&&e[t+1]===`*`){let n=e.indexOf(`*/`,t+2);return this.pos=n===-1?e.length:n+2,this.make(`comment`,t,this.pos)}if(n===`$`&&this.syntax.dollarQuotes){let n=/^\$([A-Za-z_\u0080-\uFFFF][A-Za-z0-9_\u0080-\uFFFF]*)?\$/.exec(e.slice(t,t+64));if(n){let r=e.indexOf(n[0],t+n[0].length);return this.pos=r===-1?e.length:r+n[0].length,this.make(`string`,t,this.pos)}}if((n===`e`||n===`E`)&&e[t+1]===`'`&&this.syntax.dollarQuotes){this.pos=t+1;let e=this.quoted(t+1,`'`,`string`,!0);return this.make(`string`,t,e.end)}if(n===`'`)return this.quoted(t,`'`,`string`,this.syntax.backslashEscapes);if(n===`"`)return this.syntax.doubleQuoteIsIdentifier?this.quoted(t,`"`,`quoted_identifier`,!1):this.quoted(t,`"`,`string`,this.syntax.backslashEscapes);if((n===`x`||n===`X`||n===`b`||n===`B`||n===`n`||n===`N`)&&e[t+1]===`'`){this.pos=t+1;let e=this.quoted(t+1,`'`,`string`,this.syntax.backslashEscapes);return this.make(`string`,t,e.end)}if(n==="`")return this.quoted(t,"`",`quoted_identifier`,!1);if(n===`[`&&this.syntax.bracketIdentifiers){let n=e.indexOf(`]`,t+1);return this.pos=n===-1?e.length:n+1,this.make(`quoted_identifier`,t,this.pos)}if(S(n)||n===`.`&&S(e[t+1]??``))return this.number(t);if(n===`@`){let n=t+1;if(e[n]===`@`&&n++,e[n]===`'`||e[n]===`"`||e[n]==="`"){let r=e[n];this.pos=n;let i=this.quoted(n,r,`string`,this.syntax.backslashEscapes);return this.make(`variable`,t,i.end)}for(;n<e.length&&(x(e[n])||e[n]===`.`);)n++;return this.pos=n,this.make(`variable`,t,n)}if((n===`:`||n===`$`)&&b(e[t+1]??``)&&e[t+1]!==`$`){let n=t+1;for(;n<e.length&&x(e[n]);)n++;return this.pos=n,this.make(`variable`,t,n)}if(n===`?`){let n=t+1;for(;n<e.length&&S(e[n]);)n++;return this.pos=n,this.make(`placeholder`,t,n)}if(b(n)){let n=t+1;for(;n<e.length&&x(e[n])&&!e.startsWith(this.delimiter,n);)n++;let r=e.slice(t,n).toUpperCase();if(r===`DELIMITER`&&this.syntax.delimiterCommand&&this.significantInStatement===0){let r=n;for(;r<e.length&&(e[r]===` `||e[r]===` `);)r++;let i=r;for(;i<e.length&&!C(e[i]);)i++;if(i>r)return this.delimiter=e.slice(r,i),this.pos=i,this.make(`delimiter_command`,t,i)}if(r===`GO`&&this.syntax.goBatchSeparator&&this.atLineStart(t)){let r=n;for(;r<e.length&&(e[r]===` `||e[r]===` `);)r++;for(;r<e.length&&S(e[r]);)r++;for(;r<e.length&&(e[r]===` `||e[r]===` `||e[r]===`\r`);)r++;if(r>=e.length||e[r]===`
5
- `)return this.pos=r,this.make(`delimiter_command`,t,r)}return this.pos=n,this.make(`identifier`,t,n)}if(n===`/`&&this.syntax.plsqlBlocks&&this.atLineStart(t)){let n=t+1;for(;n<e.length&&(e[n]===` `||e[n]===` `||e[n]===`\r`);)n++;if(n>=e.length||e[n]===`
6
- `)return this.pos=n,this.make(`delimiter_command`,t,n)}if(n===`(`)return this.pos=t+1,this.make(`lparen`,t,this.pos);if(n===`)`)return this.pos=t+1,this.make(`rparen`,t,this.pos);for(let n of se)if(e.startsWith(n,t))return this.pos=t+n.length,this.make(`operator`,t,this.pos);return`=<>!+-*/%^~&|`.includes(n)?(this.pos=t+1,this.make(`operator`,t,this.pos)):`,.;:[]{}`.includes(n)?(this.pos=t+1,this.make(`punct`,t,this.pos)):(this.pos=t+1,this.make(`unknown`,t,this.pos))}lineComment(e){let t=this.input,n=e;for(;n<t.length&&t[n]!==`
7
- `;)n++;return this.pos=n,this.make(`comment`,e,n)}quoted(e,t,n,r){let i=this.input,a=e+1;for(;a<i.length;){let e=i[a];if(r&&e===`\\`){a+=2;continue}if(e===t){if(i[a+1]===t){a+=2;continue}a++;break}a++}return this.pos=Math.min(a,i.length),this.make(n,e,this.pos)}number(e){let t=this.input,n=e;if(t[n]===`0`&&(t[n+1]===`x`||t[n+1]===`X`))for(n+=2;n<t.length&&/[0-9A-Fa-f]/.test(t[n]);)n++;else if(t[n]===`0`&&(t[n+1]===`b`||t[n+1]===`B`)&&(t[n+2]===`0`||t[n+2]===`1`))for(n+=2;n<t.length&&(t[n]===`0`||t[n]===`1`);)n++;else{for(;n<t.length&&S(t[n]);)n++;if(t[n]===`.`)for(n++;n<t.length&&S(t[n]);)n++;if((t[n]===`e`||t[n]===`E`)&&(S(t[n+1]??``)||(t[n+1]===`+`||t[n+1]===`-`)&&S(t[n+2]??``)))for(n+=2;n<t.length&&S(t[n]);)n++}return this.pos=n,this.make(`number`,e,n)}},w=new Set([`BEGIN`,`CASE`,`IF`,`LOOP`,`WHILE`,`REPEAT`]);function T(e){return e.kind!==`space`&&e.kind!==`comment`}function le(e,t){let n=[],r=[],i=[],a=0,o=!1,s=t=>{for(let n=t+1;n<e.length;n++)if(T(e[n]))return e[n]},c=e=>{r.length!==0&&(n.push({tokens:r,start:r[0].start,end:r[r.length-1].end,terminated:e}),r=[],i=[],a=0,o=!1)};for(let n=0;n<e.length;n++){let l=e[n];if(l.kind===`delimiter_command`){i.length>0?c(!1):r=[];continue}if(l.kind===`terminator`){if(a>0&&l.value===`;`){r.push({...l,kind:`punct`}),i.push(l);continue}r.push(l),c(!0);continue}if(r.push(l),T(l)){if(l.kind===`identifier`){let e=l.upper,r=i.length===0;if(o&&(o=!1,w.has(e))){i.push(l);continue}if(e===`END`)a>0&&a--,o=!0;else if(e===`BEGIN`){let e=s(n),o=i[i.length-1];r?(t.plsqlBlocks||e?.kind===`identifier`&&e.upper===`NOT`)&&a++:!(e=>e!==void 0&&(e.kind===`operator`||e.kind===`rparen`||e.kind===`punct`&&(e.value===`,`||e.value===`.`)||e.kind===`identifier`&&e.upper===`FROM`))(e)&&!(o&&(o.kind===`operator`||o.kind===`punct`&&(o.value===`,`||o.value===`.`)))&&a++}else if(e===`CASE`)a++;else if(a>0&&(e===`IF`||e===`LOOP`||e===`WHILE`||e===`REPEAT`)){let e=s(n);e?.kind!==`lparen`&&(e?.kind!==`identifier`||e.upper!==`EXISTS`&&e.upper!==`NOT`)&&a++}}i.push(l)}}return c(!1),n}var ue=new Set([`SELECT`,`VALUES`,`TABLE`,`WITH`,`SHOW`,`EXPLAIN`,`DESCRIBE`,`DESC`,`HELP`,`CHECK`,`CHECKSUM`,`ANALYZE`,`OPTIMIZE`,`REPAIR`,`PRAGMA`]),de=new Set([`SELECT`,`INSERT`,`UPDATE`,`DELETE`,`REPLACE`,`VALUES`,`TABLE`,`MERGE`]),fe=new Set([`TABLE`,`DATABASE`,`SCHEMA`,`TABLESPACE`]),pe=new Set([`WHERE`,`SET`,`USING`,`ORDER`,`LIMIT`,`JOIN`,`INNER`,`LEFT`,`RIGHT`,`CROSS`,`NATURAL`,`STRAIGHT_JOIN`,`ON`,`PARTITION`,`AS`,`RETURNING`,`INDEXED`,`NOT`]);function E(e){if(e.kind!==`quoted_identifier`)return e.value;let t=e.value[0],n=t===`[`?`]`:t,r=e.value.slice(1,e.value.endsWith(n)?-1:void 0);return t!==`[`&&(r=r.replaceAll(n+n,n)),r}function D(e){return e.kind===`identifier`||e.kind===`quoted_identifier`}function O(e,t,n=pe){let r=[];for(;t<e.length;){let i=e[t];if(!D(i)||i.kind===`identifier`&&n.has(i.upper))break;let a=[E(i)];for(t++;t+1<e.length&&e[t].kind===`punct`&&e[t].value===`.`&&D(e[t+1]);)a.push(E(e[t+1])),t+=2;if(r.push(a.join(`.`)),e[t]?.kind===`punct`&&e[t].value===`,`){t++;continue}break}return{names:r,next:t}}function k(e,t,n=0){let r=0;for(let i=n;i<e.length;i++){let n=e[i];if(n.kind===`lparen`)r++;else if(n.kind===`rparen`)r=Math.max(0,r-1);else if(r===0&&n.kind===`identifier`&&n.upper===t)return i}return-1}function me(e){let t=0;for(;t<e.length&&e[t].kind===`lparen`;)t++;if(t>=e.length||e[t].kind!==`identifier`)return{kind:``,index:t};if(e[t].upper!==`WITH`)return{kind:e[t].upper,index:t};let n=0,r=!1;for(let i=t+1;i<e.length;i++){let t=e[i];if(t.kind===`lparen`){n++,r=!1;continue}if(t.kind===`rparen`){n--,r=n===0;continue}if(n===0&&r&&t.kind===`identifier`&&de.has(t.upper))return{kind:t.upper,index:i};r=!1}return{kind:`WITH`,index:t}}function he(e,t){let n=k(e,`LIMIT`,t);if(n===-1)return null;let r=e[n+1];if(!r||r.kind!==`number`)return null;let i=e[n+2],a=e[n+3];return i?.kind===`punct`&&i.value===`,`&&a?.kind===`number`?{offset:Number(r.value),count:Number(a.value)}:i?.kind===`identifier`&&i.upper===`OFFSET`&&a?.kind===`number`?{offset:Number(a.value),count:Number(r.value)}:{offset:0,count:Number(r.value)}}function ge(e,t,n){let r=t=>e[t]?.kind===`identifier`?e[t].upper:void 0;switch(t){case`DROP`:{let t=n+1;r(t)===`TEMPORARY`&&t++;let i=r(t);if(!i)return null;t++,r(t)===`IF`&&(t+=2);let{names:a}=O(e,t,new Set([`ON`,`RESTRICT`,`CASCADE`]));return{action:`DROP`,objectType:i,names:a,dataLoss:fe.has(i)}}case`TRUNCATE`:{let t=n+1;r(t)===`TABLE`&&t++;let{names:i}=O(e,t);return{action:`TRUNCATE`,objectType:`TABLE`,names:i,dataLoss:!0}}case`DELETE`:{if(k(e,`WHERE`,n)!==-1)return null;let t=n+1;for(;r(t)===`LOW_PRIORITY`||r(t)===`QUICK`||r(t)===`IGNORE`;)t++;return{action:`DELETE_ALL`,names:r(t)===`FROM`?O(e,t+1).names:O(e,t,new Set([`FROM`])).names,dataLoss:!0}}case`UPDATE`:{if(k(e,`WHERE`,n)!==-1)return null;let t=n+1;for(;r(t)===`LOW_PRIORITY`||r(t)===`IGNORE`||r(t)===`OR`;)t+=r(t)===`OR`?2:1;let{names:i}=O(e,t);return{action:`UPDATE_ALL`,names:i,dataLoss:!0}}case`ALTER`:{if(r(n+1)!==`TABLE`)return null;let{names:t}=O(e,n+2,new Set([`ADD`,`DROP`,`MODIFY`,`CHANGE`,`RENAME`,`ALTER`])),i=[],a=0;for(let t=n+2;t<e.length;t++){let n=e[t];if(n.kind===`lparen`){a++;continue}if(n.kind===`rparen`){a--;continue}if(a!==0||n.kind!==`identifier`||n.upper!==`DROP`)continue;let r=e[t+1],o=r?.kind===`identifier`?r.upper:``;if(o===`COLUMN`){let n=e[t+2];n&&D(n)&&i.push(E(n))}else o===`PARTITION`?i.push(`PARTITION ${O(e,t+2).names.join(`, `)}`):r&&D(r)&&![`PRIMARY`,`FOREIGN`,`INDEX`,`KEY`,`CONSTRAINT`,`CHECK`,`DEFAULT`,`TABLESPACE`].includes(o)&&i.push(E(r))}return i.length===0?null:{action:`ALTER_DROP`,objectType:`TABLE`,names:t.map(e=>`${e} (${i.join(`, `)})`),dataLoss:!0}}default:return null}}function _e(e,t){let n=e.tokens.filter(e=>T(e)&&e.kind!==`terminator`),r=e.terminated?e.tokens.slice(0,-1):e.tokens,i=r.length?r[r.length-1].end:e.start,a=t.slice(e.start,i).trim(),{kind:o,index:s}=me(n),c=ue.has(o)||k(n,`RETURNING`,s)!==-1,l=c?he(n,s):null,u=ge(n,o,s);return{sql:a,raw:t.slice(e.start,e.end),start:e.start,end:e.end,tokens:e.tokens,kind:o,isEmpty:n.length===0,returnsRows:c,limit:l,destructive:u}}function A(e,t){let n=e.tokens.filter(e=>T(e)&&e.kind!==`terminator`),r=n.findIndex(e=>e.kind!==`lparen`);return k(n,t.toUpperCase(),Math.max(0,r))!==-1}function j(e){return e.start+e.raw.indexOf(e.sql)}function ve(e){let t=e.tokens.filter(e=>T(e)&&e.kind!==`terminator`),n=0;for(;n<t.length&&t[n].kind===`lparen`;)n++;let r=t[n];if(!r||r.kind!==`identifier`||r.upper!==`SELECT`)return-1;let i=r,a=t[n+1];return a?.kind===`identifier`&&(a.upper===`DISTINCT`||a.upper===`ALL`)&&(i=a),i.end-j(e)}var M=class{syntax;constructor(e){this.syntax=`syntax`in e?e.syntax:e}tokenize(e,t=`;`){return new ce(e,this.syntax,t).tokenize()}parse(e,t=`;`){return le(this.tokenize(e,t),this.syntax).map(t=>_e(t,e))}statements(e,t=`;`){return this.parse(e,t).filter(e=>!e.isEmpty)}},ye=new Set([`ORDER`,`LIMIT`,`RETURNING`,`OUTPUT`,`OPTION`]);function N(e,t,n,r){return n?e.slice(n.start-t,(r?r.start:2**53-1)-t).trim():``}function P(e,t,n){let r=t;for(;r<n&&e[r].kind===`identifier`&&(e[r].upper===`ONLY`||e[r].upper===`LOW_PRIORITY`||e[r].upper===`IGNORE`||e[r].upper===`QUICK`);)r++;if(r>=n||!D(e[r]))return null;let i=E(e[r]),a=e[r].kind===`quoted_identifier`;for(r++;r+1<n&&e[r].kind===`punct`&&e[r].value===`.`&&D(e[r+1]);)i=E(e[r+1]),a=e[r+1].kind===`quoted_identifier`,r+=2;return r<n&&e[r].kind===`identifier`&&e[r].upper===`AS`&&r++,r<n&&D(e[r])&&!(e[r].kind===`identifier`&&[`SET`,`WHERE`,`JOIN`,`INNER`,`LEFT`,`RIGHT`,`CROSS`,`USING`,`FROM`,`ON`,`NATURAL`,`STRAIGHT_JOIN`,`WITH`,`OUTPUT`].includes(e[r].upper))?(e[r].kind,e[r].value):a?`"${i.replaceAll(`"`,`""`)}"`:i}function be(e,t=`"`){let n=e.tokens.filter(e=>T(e)&&e.kind!==`terminator`),r=j(e),i=e.sql,a=e=>(e.startsWith(t)||e.startsWith(`"`)||e.startsWith("`")||e.startsWith(`[`),e),o=n[0];if(!o||o.kind!==`identifier`||o.upper!==`UPDATE`&&o.upper!==`DELETE`)return null;let s=k(n,`WHERE`),c=-1;for(let e of ye){let t=k(n,e,s===-1?1:s);t!==-1&&(c===-1||t<c)&&(c=t)}let l=e=>e===-1?n.length:e,u=s===-1?``:` `+N(i,r,n[s],n[l(c)]),d=``;if(c!==-1&&(n[c].upper===`ORDER`||n[c].upper===`LIMIT`)){let e=[`RETURNING`,`OUTPUT`,`OPTION`].map(e=>k(n,e,c)).filter(e=>e!==-1);d=` `+N(i,r,n[c],e.length?n[Math.min(...e)]:void 0)}let f,p,m;if(o.upper===`UPDATE`){let e=k(n,`SET`);if(e===-1)return null;let t=k(n,`FROM`,e),a=e,o=N(i,r,n[1],n[a]);if(!o||n[1].kind===`lparen`)return null;if(p=P(n,1,a),m=o,t!==-1&&(s===-1||t<s)){let e=N(i,r,n[t+1],n[l(s===-1?c:s)]);f=p!==null&&RegExp(`(^|[\\s,])${p.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}(\\s|$|,)`,`i`).test(e)?e:`${o}, ${e}`}else f=o}else{let e=k(n,`FROM`);if(e===-1)return null;let t=k(n,`USING`,e),a=l(t===-1?s===-1?c:s:t),o=N(i,r,n[e+1],n[a]);if(!o||n[e+1]?.kind===`lparen`)return null;let u=N(i,r,n[1],n[e]),d=u?u.split(`,`)[0].trim().replace(/^(LOW_PRIORITY|QUICK|IGNORE)\s+/i,``):``;p=d||P(n,e+1,a),m=d||o;let h=t===-1?``:N(i,r,n[t+1],n[l(s===-1?c:s)]);f=h?`${o}, ${h}`:o}return p?{select:`SELECT ${a(p)}.* FROM ${f}${u}${d}`,count:d?`SELECT COUNT(*) AS affected FROM (SELECT 1 AS one FROM ${f}${u}${d}) planche_preview`:`SELECT COUNT(*) AS affected FROM ${f}${u}`,table:m,limited:/\bLIMIT\b/i.test(d)}:null}function F(e){return o.getState().activeConnections.find(t=>t.id===e)?.database||ne(d.getState().trees[e]??[])}function xe(e,t,n,r){return g(e).tree.objectPath(t,n,r,F(e))}function I(e,t){return g(e).tree.namespacePath(t,F(e))}function L(e,t){for(let n of e){if(n.id===t)return n;let e=L(n.children,t);if(e)return e}return null}async function Se(e,t,n){let r=d.getState;for(let i=0;i<t.length;i++){let a=r().trees[e];if(!a)return!1;let o=L(a,t[i]);if(!o)return!1;if(i===t.length-1)return r().setSelected(e,o.id),!0;o.children.length===0&&!o.isLeaf?await n(e,o):o.isExpanded||r().setExpanded(e,o.id,!0)}return!1}function R(e,t){for(let n of e){if(n.id===t)return n;let e=R(n.children,t);if(e)return e}return null}function z(e,t){let n=d.getState(),r=n.trees[e];if(!r||!t)return;let i=I(e,t),a=null;for(let t of i){let i=R(r,t);if(!i||(a=i,i.isLeaf))break;!i.isExpanded&&i.children.length>0&&n.setExpanded(e,i.id,!0)}!a||a.id!==i[i.length-1]||(n.setSelected(e,a.id),!a.isExpanded&&a.children.length>0&&n.setExpanded(e,a.id,!0))}var B=e(n(),1);function Ce(e,t,n){let r=[];function i(e){for(let n of e){if(r.push(n),n.id===t||n.children.length>0&&i(n.children))return!0;r.pop()}return!1}i(e);for(let e=r.length-1;e>=0;e--)if(r[e].type===n)return r[e];return null}function V(e,t){for(let n of e){if(n.id===t)return n;if(n.children.length>0){let e=V(n.children,t);if(e)return e}}return null}var H=u(`schemaTreeLoadingRoots`,()=>new Set);function U(e){let t=o.getState().activeConnections.find(t=>t.id===e);return t?.serverConnectionId?{engine:g(e),run:p(t.serverConnectionId),database:t.database||void 0}:null}function we(){let{setTree:e,setChildren:t,setNodeMetadata:n,setLoading:a}=d(),o=(0,B.useCallback)(async t=>{let n=U(t);if(n&&!H.has(t)){H.add(t);try{e(t,await n.engine.tree.loadRoot(n))}catch(n){let a=n instanceof Error?n.message:String(n);console.error(`Failed to load databases:`,n),r.getState().setFooterMessage(i.t(`schema.tree.loadDatabasesFailed`,{message:a})),e(t,[])}finally{H.delete(t)}}},[e]),s=(0,B.useCallback)(async(e,r)=>{if(!d.getState().trees[e])return;let i=U(e);if(i&&!r.isLeaf){a(e,r.id,!0);try{let a=await i.engine.tree.loadChildren(i,r);t(e,r.id,a),Promise.all(a.filter(e=>e.type===h.FOLDER&&e.metadata?.countable).map(async t=>{try{let r=await i.engine.tree.loadChildren(i,t);n(e,t.id,{count:r.length})}catch(e){console.error(`Failed to count ${t.text}:`,e)}}))}catch(t){console.error(`Failed to load children:`,t),a(e,r.id,!1)}}},[t,n,a]);return{loadDatabases:o,loadChildren:s,refreshNode:(0,B.useCallback)(async(e,t)=>{await s(e,t)},[s]),createNode:m,findNode:V,findAncestor:Ce}}async function W(e,t){let n=d.getState().trees[e];if(!n||!t)return;let r=U(e);if(!r)return;let i=I(e,t),a=te(n,i[i.length-1]);!a||a.children.length===0||await Promise.all(a.children.filter(e=>e.type===h.FOLDER).map(async t=>{try{let n=await r.engine.tree.loadChildren(r,t),i=d.getState();(t.children.length>0||t.isExpanded)&&i.setChildren(e,t.id,n),t.metadata?.countable&&i.setNodeMetadata(e,t.id,{count:n.length})}catch(e){console.error(`Failed to refresh ${t.text}:`,e)}}))}var G=class extends Error{sql;constructor(e,t){super(e),this.name=`QueryError`,this.sql=t}},K=class extends Error{constructor(e=`Cancelled`){super(e),this.name=`ExecutionCancelled`}};function Te(e){let t=e.fields??[],n=e.records??[];return{fields:t.map(e=>({name:e.name,type:e.type,orgTable:e.orgTable??e.table??``,orgName:e.orgName??e.name,db:e.db??``})),rows:n.map(e=>{let n={};return t.forEach((t,r)=>{n[t.name]=e[r]}),n}),affectedRows:e.affectedRows??0,insertId:e.insertId??0,message:e.message??(n.length>0?i.t(`services.query.rowsReturned`,{count:n.length}):i.t(`services.query.rowsAffected`,{count:e.affectedRows??0}))}}async function q(e,t,n,r=ee(t)){let i=new Set(e.fields.map(e=>e.orgTable).filter(Boolean));if(i.size!==1)return e;let a=[...i][0];try{let i=await r.introspect.getPrimaryKeys(p(t),n,a);i.length>0&&(e.primaryKeys=i)}catch{}return!e.primaryKeys?.length&&e.fields.some(e=>e.name===`_rowid_`)&&(e.primaryKeys=[l]),e}var Ee=new Set([`SELECT`,`SHOW`,`EXPLAIN`,`DESCRIBE`,`DESC`,`HELP`,`VALUES`,`TABLE`,`WITH`,`USE`,`SET`,`CHECK`,`CHECKSUM`]);function J(e){return e.kind===`PRAGMA`?!e.sql.includes(`=`):!(!Ee.has(e.kind)||e.destructive||e.kind===`SELECT`&&A(e,`INTO`))}var De=new Set([`INSERT`,`UPDATE`,`DELETE`,`REPLACE`,`MERGE`,`LOAD`]),Oe=new Set([`CREATE`,`ALTER`,`DROP`,`TRUNCATE`,`RENAME`,`GRANT`,`REVOKE`,`FLUSH`,`LOCK`,`UNLOCK`]),ke=new Set([`CREATE`,`ALTER`,`DROP`,`RENAME`]);function Ae(e){return De.has(e.kind)||!!e.destructive?.dataLoss}function je(e,t,n=`limit`){if(t<=0||e.kind!==`SELECT`||e.limit!==null||A(e,`LIMIT`)||A(e,`INTO`)||A(e,`FOR`)||A(e,`LOCK`))return{sql:e.sql,limited:!1};if(n===`top`){if(A(e,`TOP`)||A(e,`OFFSET`))return{sql:e.sql,limited:!1};let n=ve(e);return n===-1?{sql:e.sql,limited:!1}:{sql:`${e.sql.slice(0,n)} TOP ${t}${e.sql.slice(n)}`,limited:!0}}return n===`fetch`?A(e,`FETCH`)||/\bROWNUM\b/i.test(e.sql)?{sql:e.sql,limited:!1}:{sql:`${e.sql} FETCH FIRST ${t} ROWS ONLY`,limited:!0}:{sql:`${e.sql} LIMIT ${t}`,limited:!0}}function Me(e){let t=c.getState().resultRowLimit;return t>0?e.limitClause(t):``}function Ne(e){let t=e.destructive,n=t.names.length?t.names.join(`, `):i.t(`services.destructive.unknownTarget`);switch(t.action){case`DROP`:return`DROP ${t.objectType} ${n}`;case`TRUNCATE`:return`TRUNCATE ${n}`;case`DELETE_ALL`:return i.t(`services.destructive.deleteAll`,{target:n});case`UPDATE_ALL`:return i.t(`services.destructive.updateAll`,{target:n});case`ALTER_DROP`:return i.t(`services.destructive.alterDrop`,{target:n})}}async function Pe(e){if(!c.getState().confirmDestructive)return!0;let t=e.filter(e=>e.destructive?.dataLoss);return t.length===0||r.getState().requestDestructiveConfirm({title:i.t(`services.destructive.title`,{count:t.length}),description:i.t(`services.destructive.description`),statements:t.map(Ne),confirmLabel:i.t(`services.runAnyway`)})}async function Fe(e,t){if(!e.readOnly)return;let n=t.filter(e=>!J(e));if(n.length===0)return;let a=`${e.hostName||e.host}`;if(!c.getState().allowReadOnlyOverride)throw new G(i.t(`services.readOnly.refused`,{label:a,count:n.length}));if(!await r.getState().requestDestructiveConfirm({title:i.t(`services.readOnly.title`,{label:a}),description:i.t(`services.readOnly.description`),statements:n.map(e=>e.sql.length>120?e.sql.slice(0,117)+`...`:e.sql),confirmLabel:i.t(`services.runAnyway`)}))throw new K(`Cancelled: connection is read-only.`)}function Y(e,t){let n=o.getState(),r=n.activeConnections.find(t=>t.id===e);if(!r?.serverConnectionId)throw new G(i.t(`services.query.notConnected`));if(n.pendingReopen[e])throw new G(i.t(`services.query.fileNotOpen`));return{connId:e,serverConnId:r.serverConnectionId,conn:r,engine:g(e),tabId:t}}async function X(e,t,n){let r=new M(e.engine).statements(t);if(e.conn.scratchpad){let{materializeFederated:t}=await a(async()=>{let{materializeFederated:e}=await import(`./main-CCLlOK4N.js`).then(e=>e.F);return{materializeFederated:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]));for(let n of r)n.sql=await t(e.connId,n.sql)}if(await Fe(e.conn,r),!n.skipDestructiveConfirm&&!await Pe(r))throw new K;return r}async function Z(e,n,a){let{connId:c,serverConnId:l,engine:u,tabId:d}=e,p=n.stmt?.kind??``,m=()=>o.getState();if(e.conn.transactionMode===`manual`&&u.capabilities.transactions&&n.stmt&&Ae(n.stmt)&&!m().transactionOpen[c]){let e=await f(l,u.getQuery(`START_TRANSACTION`),a||void 0);if(!e.success)throw new G(e.message??i.t(`services.transaction.startFailed`));m().setTransactionOpen(c,!0),r.getState().setFooterMessage(i.t(`services.transaction.started`))}let h=await f(l,n.sql,a||void 0);if(!h.success){let r=h.message??i.t(`services.query.failed`);throw s.getState().recordExecution({connectionId:c,tabId:d,query:n.sql,database:a,executionTime:h.execTime,error:r,kind:p||void 0}),t(`query_execute`,{dbms:e.conn.dbms,kind:p||`unknown`,source:d?`editor`:`app`,success:!1}),new G(r,n.sql)}let g=Te(h);return p===`COMMIT`||p===`ROLLBACK`?m().setTransactionOpen(c,!1):p===`START`||p===`BEGIN`?m().setTransactionOpen(c,!0):Oe.has(p)&&m().transactionOpen[c]&&u.capabilities.implicitCommitDdl&&(m().setTransactionOpen(c,!1),r.getState().setFooterMessage(i.t(`services.transaction.implicitCommit`,{kind:p}))),ke.has(p)&&W(c,a),e.skipHistory||s.getState().recordExecution({connectionId:c,tabId:d,query:n.sql,database:a,executionTime:h.execTime,kind:p||void 0,...g.fields.length>0?{rowCount:g.rows.length}:{affectedRows:g.affectedRows}}),t(`query_execute`,{dbms:e.conn.dbms,kind:p||`unknown`,source:d?`editor`:`app`,success:!0,exec_time_ms:Math.round(h.execTime??0)}),{qr:g,execTime:h.execTime}}async function Q(e,t,n={}){let r=Y(e,n.tabId??null);r.skipHistory=n.skipHistory;let a=t.trim();if(!a)throw new G(i.t(`services.query.nothingToExecute`));let o=await X(r,a,n),s=o.length>0?o.map(e=>({sql:e.sql,stmt:e})):[{sql:a,stmt:null}],c=n.database??``,l=null;for(let e of s){let{qr:t}=await Z(r,e,c);n.primaryKeys&&t.fields.length>0&&c&&await q(t,r.serverConnId,c,r.engine),l=t}return l}function Ie(e,t){let n=s.getState().tabs[e]?.find(e=>e.id===t);if(!n)return null;let r=ie(e,t);if(r&&`selection`in r)return r.selection;let i=r&&`cursorOffset`in r?r.cursorOffset:n.query.length,a=new M(g(e)).statements(n.query);return a.length===0?null:(a.find(e=>i>=j(e)&&i<=e.end)??[...a].reverse().find(e=>e.end<=i)??a[0]).sql}async function Le(e,t,n={}){let r=()=>s.getState(),a=r().tabs[e]?.find(e=>e.id===t);if(!a)return;let o=(n.sql??a.query)?.trim();if(!o)return;let l,u;try{l=Y(e,t),u=await X(l,o,{})}catch(n){if(n instanceof K){n.message!==`Cancelled`&&r().setError(e,t,n.message);return}r().setError(e,t,n instanceof Error?n.message:String(n));return}let d=c.getState();if(d.previewAffectedRows)try{await Be(l,u,a.database||``)}catch(e){if(e instanceof K)return;throw e}let f=u.length>0?u.map(e=>({...je(e,d.resultRowLimit,l.engine.syntax.limitStyle),stmt:e})):[{sql:o,limited:!1,stmt:null}];r().captureSnapshot(e,t,`execute`),r().setExecuting(e,t,!0),r().setError(e,t,null);let p=[],m=a.database||``;try{for(let n of f){let{qr:a,execTime:o}=await Z(l,n,m);if(a.sql=n.stmt?.sql??n.sql,a.executionTime=o,n.limited&&a.rows.length>=d.resultRowLimit&&(a.limited=!0,a.message=i.t(`services.query.rowsReturnedLimited`,{count:a.rows.length,limit:d.resultRowLimit})),!m&&a.fields.length>0){let n=a.fields.find(e=>e.db)?.db;n&&(m=n,r().setDatabase(e,t,m),z(e,m))}a.fields.length>0&&m&&await q(a,l.serverConnId,m,l.engine),p.push(a)}r().setResults(e,t,p)}catch(n){p.length>0&&r().setResults(e,t,p),r().setError(e,t,n instanceof Error?n.message:String(n),n instanceof G?n.sql:null)}}var Re=50;function ze(e,t,n){return e.syntax.limitStyle===`top`?t.replace(/^SELECT\b/i,`SELECT TOP ${n}`):`${t} ${e.limitClause(n)}`}async function Be(e,t,n){for(let i of t){if(i.kind!==`UPDATE`&&i.kind!==`DELETE`)continue;let t=be(i);if(!t)continue;let a=null,o=[],s=[],c,l=await f(e.serverConnId,t.count,n||void 0);if(l.success){let r=Number(l.records[0]?.[0]);a=Number.isFinite(r)?r:null;let i=await f(e.serverConnId,t.limited?t.select:ze(e.engine,t.select,Re),n||void 0);i.success?(o=i.fields.map(e=>e.name),s=i.records):c=i.message}else c=l.message;if(!await r.getState().requestDryRun({statement:i.sql,previewSql:t.select,count:a,fields:o,rows:s,truncated:a!==null&&s.length<a,error:c}))throw new K}}async function $(e,t){let n=o.getState(),a=n.activeConnections.find(t=>t.id===e);if(!a?.serverConnectionId)return;let s=g(e);try{let e=await f(a.serverConnectionId,s.getQuery(t));if(!e.success)throw new G(e.message??i.t(`services.transaction.commandFailed`,{name:t}));r.getState().setFooterMessage(t===`COMMIT`?i.t(`services.transaction.committed`):i.t(`services.transaction.rolledBack`))}catch(e){r.getState().setFooterMessage(i.t(`services.transaction.commandFailedWith`,{name:t,message:e instanceof Error?e.message:String(e)}))}finally{n.setTransactionOpen(e,!1)}}var Ve=e=>$(e,`COMMIT`),He=e=>$(e,`ROLLBACK`);export{j as _,Ie as a,oe as b,Q as c,we as d,z as f,E as g,M as h,Le as i,Me as l,xe as m,G as n,J as o,Se as p,Ve as r,He as s,K as t,W as u,y as v,re as y};