UNPKG

lambdaorm

Version:
1 lines 17.5 kB
'use strict';const a161z=a161y;(function(s,y){const r=a161y,g=s();while(!![]){try{const x=-parseInt(r(0xa4))/0x1*(parseInt(r(0xbe))/0x2)+-parseInt(r(0x98))/0x3+parseInt(r(0x93))/0x4*(-parseInt(r(0xab))/0x5)+-parseInt(r(0xb0))/0x6*(parseInt(r(0x92))/0x7)+-parseInt(r(0xb4))/0x8+parseInt(r(0xc8))/0x9+parseInt(r(0xa0))/0xa;if(x===y)break;else g['push'](g['shift']());}catch(m){g['push'](g['shift']());}}}(a161s,0x22dc1));function a161s(){const n=['normalize','plan','28546qgSzaz','44XyFBuA','source','SELECT\x20c.CategoryName\x20AS\x20category,\x20MAX(p.UnitPrice)\x20AS\x20largestPrice\x20FROM\x20Products\x20p\x20INNER\x20JOIN\x20Categories\x20c\x20ON\x20c.CategoryID\x20=\x20p.CategoryID\x20GROUP\x20BY\x20c.CategoryName\x20HAVING\x20MAX(p.UnitPrice)\x20>\x20100\x20ORDER\x20BY\x20largestPrice\x20desc\x20','./config/northwind.env','decimal','27306UrPGEw','count','orm','parameters','subTotal','string','__awaiter','Orders.details','5988550EVoCrL','any','Products.map(p\x20=>\x20({\x20category:\x20p.categoryId,\x20largestPrice:\x20max(p.price)\x20}))','model','2450BBusqz','Products','Products.map(p=>{name:p.name,source:p.price,result:abs(p.price)}).filter(p=>(p.id==id))','name','number','groupBy','Products.map(p=>{category:p.category.name,largestPrice:max(p.price)}).having(p=>(max(p.price)>100)).sort(p=>desc(p.largestPrice))','96715jmWaVN','Products.map(p=>{category:p.categoryId,largestPrice:max(p.price)})','Orders.details.map(p\x20=>\x20({\x20subTotal:\x20sum((p.unitPrice\x20*\x20p.quantity\x20*\x20(1\x20-\x20p.discount\x20/\x20100))\x20*\x20100)\x20})).sort(p\x20=>\x20p.subTotal)','Sentence','total','138AKKNAn','constraints','throw','select','1215856KJsAAO','apply','next','value','parse','category','result','SELECT\x20MIN(p.UnitPrice)\x20AS\x20minPrice\x20FROM\x20Products\x20p\x20\x20','Products.map(p\x20=>\x20({\x20total:\x20sum(p.price)\x20}))','Products.having(p\x20=>\x20max(p.price)\x20>\x20100).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20})).sort(p\x20=>\x20desc(p.largestPrice))','110EGKfZp','Products.map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20}))','done','integer','SELECT\x20c.CategoryName\x20AS\x20category,\x20MAX(p.UnitPrice)\x20AS\x20largestPrice\x20FROM\x20Products\x20p\x20INNER\x20JOIN\x20Categories\x20c\x20ON\x20c.CategoryID\x20=\x20p.CategoryID\x20GROUP\x20BY\x20c.CategoryName\x20','Products.map(p=>{average:round(avg(p.price),4)})','largestPrice','MySQL','init','Products.map(p=>{category:p.category.name,largestPrice:max(p.price)}).filter(p=>(p.price>5)).having(p=>(max(p.price)>50)).sort(p=>desc(p.largestPrice))','1316979HcojGF','toStrictEqual','Products.map(p\x20=>\x20({\x20minPrice:\x20min(p.price)\x20}))','metadata','Products.having(p\x20=>\x20max(p.price)\x20>\x20100).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20}))','SELECT\x20p.CategoryID\x20AS\x20category,\x20MAX(p.UnitPrice)\x20AS\x20largestPrice\x20FROM\x20Products\x20p\x20\x20GROUP\x20BY\x20p.CategoryID\x20','Products.map(p\x20=>\x20({\x20maxPrice:\x20max(p.price)\x20}))','Products.map(p=>{count:count(1)})','Products.map(p\x20=>\x20({\x20average:\x20round(avg(p.price),\x204)\x20}))','Products.map(p=>{minPrice:min(p.price)})','Products.map(p=>{category:p.category.name,largestPrice:max(p.price)}).having(p=>(max(p.price)>100))','Products.filter(p\x20=>\x20p.id\x20===\x20id).map(p\x20=>\x20({\x20name:\x20p.name,\x20source:\x20p.price,\x20result:\x20abs(p.price)\x20}))','maxPrice','SELECT\x20COUNT(1)\x20AS\x20count\x20FROM\x20Products\x20p\x20\x20','SELECT\x20p.ProductName\x20AS\x20name,\x20p.UnitPrice\x20AS\x20source,\x20ABS(p.UnitPrice)\x20AS\x20result\x20FROM\x20Products\x20p\x20\x20WHERE\x20p.ProductID\x20=\x20?\x20','SELECT\x20ROUND(AVG(p.UnitPrice),4)\x20AS\x20average\x20FROM\x20Products\x20p\x20\x20','Products.map(p=>{maxPrice:max(p.price)})','average','__esModule','config','Products.map(p\x20=>\x20({\x20count:\x20count(1)\x20}))','SELECT\x20SUM((((o.UnitPrice\x20*\x20o.Quantity)\x20*\x20(1\x20-\x20(o.Discount\x20/\x20100)))\x20*\x20100))\x20AS\x20subTotal\x20FROM\x20`Order\x20Details`\x20o\x20\x20ORDER\x20BY\x20subTotal\x20asc\x20','Products.filter(p\x20=>\x20p.price\x20>\x205).having(p\x20=>\x20max(p.price)\x20>\x2050).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20})).sort(p\x20=>\x20desc(p.largestPrice))','minPrice','toEqual','SELECT\x20c.CategoryName\x20AS\x20category,\x20MAX(p.UnitPrice)\x20AS\x20largestPrice\x20FROM\x20Products\x20p\x20INNER\x20JOIN\x20Categories\x20c\x20ON\x20c.CategoryID\x20=\x20p.CategoryID\x20GROUP\x20BY\x20c.CategoryName\x20HAVING\x20MAX(p.UnitPrice)\x20>\x20100\x20'];a161s=function(){return n;};return a161s();}var __awaiter=this&&this[a161z(0x9e)]||function(s,y,P,g){function x(m){return m instanceof P?m:new P(function(w){w(m);});}return new(P||(P=Promise))(function(m,w){const o=a161y;function t(c){try{a(g['next'](c));}catch(k){w(k);}}function v(c){const d=a161y;try{a(g[d(0xb2)](c));}catch(k){w(k);}}function a(c){const i=a161y;c[i(0xc0)]?m(c['value']):x(c[i(0xb7)])['then'](t,v);}a((g=g[o(0xb5)](s,y||[]))[o(0xb6)]());});};function a161y(s,y){const O=a161s();return a161y=function(D,g){D=D-0x80;let M=O[D];return M;},a161y(s,y);}Object['defineProperty'](exports,a161z(0x88),{'value':!![]});const __1=require('../../../..');beforeAll(()=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){const p=a161z;require('dotenv')[p(0x89)]({'path':p(0x96)}),yield __1[p(0x9a)][p(0xc6)]('./config/northwind.yaml');})),describe(a161z(0xa9),()=>{const f=a161z,s=JSON[f(0xb8)]('{}');test('normalize',()=>{const q=f;expect(__1[q(0x9a)][q(0x90)](q(0xce)))[q(0xc9)](q(0x86)),expect(__1[q(0x9a)][q(0x90)](q(0xca)))['toStrictEqual'](q(0xd1)),expect(__1[q(0x9a)][q(0x90)](q(0xbc)))['toStrictEqual']('Products.map(p=>{total:sum(p.price)})'),expect(__1[q(0x9a)][q(0x90)](q(0xd0)))[q(0xc9)](q(0xc3)),expect(__1[q(0x9a)][q(0x90)](q(0x8a)))[q(0xc9)](q(0xcf)),expect(__1['orm'][q(0x90)](q(0xa2)))[q(0xc9)](q(0xac)),expect(__1[q(0x9a)][q(0x90)](q(0xbf)))['toStrictEqual']('Products.map(p=>{category:p.category.name,largestPrice:max(p.price)})'),expect(__1[q(0x9a)][q(0x90)](q(0x81)))['toStrictEqual'](q(0xa6)),expect(__1['orm'][q(0x90)]('Products.having(p\x20=>\x20max(p.price)\x20>\x20100).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20}))'))[q(0xc9)](q(0x80)),expect(__1['orm']['normalize'](q(0xad)))['toStrictEqual']('Orders.details.map(p=>{subTotal:sum((((p.unitPrice*p.quantity)*(1-(p.discount/100)))*100))}).sort(p=>asc(p.subTotal))'),expect(__1['orm'][q(0x90)](q(0xbd)))[q(0xc9)](q(0xaa)),expect(__1[q(0x9a)]['normalize'](q(0x8c)))[q(0xc9)](q(0xc7));}),test(f(0xa3),()=>{const j=f;expect(__1[j(0x9a)]['model'](j(0xce)))[j(0xc9)]([{'name':'maxPrice','type':j(0xa1)}]),expect(__1[j(0x9a)][j(0xa3)](j(0xca)))[j(0xc9)]([{'name':j(0x8d),'type':'any'}]),expect(__1[j(0x9a)][j(0xa3)](j(0xbc)))[j(0xc9)]([{'name':j(0xaf),'type':'number'}]),expect(__1['orm'][j(0xa3)](j(0xd0)))[j(0xc9)]([{'name':j(0x87),'type':j(0xa8)}]),expect(__1[j(0x9a)]['model'](j(0x8a)))[j(0xc9)]([{'name':j(0x99),'type':j(0xc1)}]),expect(__1['orm'][j(0xa3)](j(0xa2)))['toStrictEqual']([{'name':j(0xb9),'type':j(0xc1)},{'name':j(0xc4),'type':'any'}]),expect(__1['orm'][j(0xa3)](j(0xbf)))['toStrictEqual']([{'name':j(0xb9),'type':j(0x9d)},{'name':j(0xc4),'type':j(0xa1)}]),expect(__1[j(0x9a)][j(0xa3)]('Products.filter(p\x20=>\x20p.id\x20===\x20id).map(p\x20=>\x20({\x20name:\x20p.name,\x20source:\x20p.price,\x20result:\x20abs(p.price)\x20}))'))['toStrictEqual']([{'name':'name','type':j(0x9d)},{'name':j(0x94),'type':j(0x97)},{'name':j(0xba),'type':j(0xa8)}]),expect(__1[j(0x9a)]['model'](j(0xcc)))[j(0xc9)]([{'name':j(0xb9),'type':j(0x9d)},{'name':j(0xc4),'type':j(0xa1)}]),expect(__1['orm'][j(0xa3)](j(0xad)))[j(0xc9)]([{'name':j(0x9c),'type':'number'}]),expect(__1['orm'][j(0xa3)](j(0xbd)))['toStrictEqual']([{'name':j(0xb9),'type':j(0x9d)},{'name':'largestPrice','type':j(0xa1)}]),expect(__1[j(0x9a)]['model']('Products.filter(p\x20=>\x20p.price\x20>\x205).having(p\x20=>\x20max(p.price)\x20>\x2050).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20})).sort(p\x20=>\x20desc(p.largestPrice))'))[j(0xc9)]([{'name':j(0xb9),'type':j(0x9d)},{'name':j(0xc4),'type':j(0xa1)}]);}),test(f(0x9b),()=>{const b=f;expect(__1[b(0x9a)][b(0x9b)](b(0xce)))[b(0xc9)]([]),expect(__1['orm']['parameters'](b(0xca)))[b(0xc9)]([]),expect(__1['orm'][b(0x9b)]('Products.map(p\x20=>\x20({\x20total:\x20sum(p.price)\x20}))'))[b(0xc9)]([]),expect(__1[b(0x9a)][b(0x9b)](b(0xd0)))['toStrictEqual']([]),expect(__1[b(0x9a)][b(0x9b)](b(0x8a)))[b(0xc9)]([]),expect(__1[b(0x9a)][b(0x9b)](b(0xa2)))[b(0xc9)]([]),expect(__1['orm'][b(0x9b)](b(0xbf)))[b(0xc9)]([]),expect(__1['orm']['parameters'](b(0x81)))['toStrictEqual']([{'name':'id','type':b(0xc1)}]),expect(__1['orm']['parameters'](b(0xcc)))[b(0xc9)]([]),expect(__1[b(0x9a)][b(0x9b)](b(0xad)))[b(0xc9)]([]),expect(__1[b(0x9a)]['parameters'](b(0xbd)))[b(0xc9)]([]),expect(__1[b(0x9a)][b(0x9b)](b(0x8c)))['toStrictEqual']([]);}),test(f(0xb1),()=>{const l=f;expect(__1[l(0x9a)][l(0xb1)](l(0xce)))['toStrictEqual']({'entity':l(0xa5),'constraints':[]}),expect(__1[l(0x9a)][l(0xb1)](l(0xca)))['toStrictEqual']({'entity':l(0xa5),'constraints':[]}),expect(__1[l(0x9a)][l(0xb1)]('Products.map(p\x20=>\x20({\x20total:\x20sum(p.price)\x20}))'))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1['orm'][l(0xb1)](l(0xd0)))['toStrictEqual']({'entity':l(0xa5),'constraints':[]}),expect(__1['orm']['constraints'](l(0x8a)))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1[l(0x9a)][l(0xb1)](l(0xa2)))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1[l(0x9a)][l(0xb1)]('Products.map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20}))'))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1['orm'][l(0xb1)](l(0x81)))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1['orm'][l(0xb1)](l(0xcc)))[l(0xc9)]({'entity':'Products','constraints':[]}),expect(__1[l(0x9a)][l(0xb1)]('Orders.details.map(p\x20=>\x20({\x20subTotal:\x20sum((p.unitPrice\x20*\x20p.quantity\x20*\x20(1\x20-\x20p.discount\x20/\x20100))\x20*\x20100)\x20})).sort(p\x20=>\x20p.subTotal)'))['toStrictEqual']({'entity':l(0x9f),'constraints':[]}),expect(__1[l(0x9a)][l(0xb1)](l(0xbd)))[l(0xc9)]({'entity':l(0xa5),'constraints':[]}),expect(__1['orm'][l(0xb1)](l(0x8c)))['toStrictEqual']({'entity':l(0xa5),'constraints':[]});}),test('metadata',()=>{const u=f;expect(__1[u(0x9a)][u(0xcb)](u(0xce)))['toEqual']({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':'select','children':[],'type':u(0xa1),'entity':'Products','columns':[{'name':u(0x82),'type':'any'}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1['orm'][u(0xcb)](u(0xca)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':'select','children':[],'type':'any','entity':u(0xa5),'columns':[{'name':'minPrice','type':u(0xa1)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1['orm'][u(0xcb)](u(0xbc)))['toEqual']({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':u(0xb3),'children':[],'type':'any','entity':u(0xa5),'columns':[{'name':u(0xaf),'type':u(0xa8)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1[u(0x9a)][u(0xcb)](u(0xd0)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':'select','children':[],'type':u(0xa1),'entity':u(0xa5),'columns':[{'name':u(0x87),'type':'number'}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1[u(0x9a)]['metadata'](u(0x8a)))[u(0x8e)]({'classtype':'Sentence','pos':{'ln':0x0,'col':0xd},'name':u(0xb3),'children':[],'type':'any','entity':'Products','columns':[{'name':u(0x99),'type':u(0xc1)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1[u(0x9a)][u(0xcb)](u(0xa2)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':u(0xb3),'children':[],'type':u(0xa1),'entity':u(0xa5),'columns':[{'name':'category','type':u(0xc1)},{'name':u(0xc4),'type':u(0xa1)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':'select','alias':'p'}),expect(__1[u(0x9a)][u(0xcb)](u(0xbf)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0xd},'name':u(0xb3),'children':[],'type':u(0xa1),'entity':'Products','columns':[{'name':u(0xb9),'type':u(0x9d)},{'name':u(0xc4),'type':u(0xa1)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1[u(0x9a)]['metadata'](u(0x81)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0x26},'name':u(0xb3),'children':[],'type':u(0xa1),'entity':u(0xa5),'columns':[{'name':u(0xa7),'type':u(0x9d)},{'name':u(0x94),'type':u(0x97)},{'name':u(0xba),'type':u(0xa8)}],'parameters':[{'name':'id','type':u(0xc1)}],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1['orm'][u(0xcb)]('Products.having(p\x20=>\x20max(p.price)\x20>\x20100).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20}))'))['toEqual']({'classtype':u(0xae),'pos':{'ln':0x0,'col':0x2d},'name':u(0xb3),'children':[],'type':'any','entity':u(0xa5),'columns':[{'name':u(0xb9),'type':u(0x9d)},{'name':u(0xc4),'type':'any'}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1['orm']['metadata'](u(0xad)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0x6d},'name':u(0xb3),'children':[],'type':u(0xa1),'entity':u(0x9f),'columns':[{'name':u(0x9c),'type':u(0xa8)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'o'}),expect(__1[u(0x9a)][u(0xcb)]('Products.having(p\x20=>\x20max(p.price)\x20>\x20100).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20})).sort(p\x20=>\x20desc(p.largestPrice))'))['toEqual']({'classtype':u(0xae),'pos':{'ln':0x0,'col':0x74},'name':'select','children':[],'type':'any','entity':u(0xa5),'columns':[{'name':u(0xb9),'type':'string'},{'name':u(0xc4),'type':'any'}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'}),expect(__1['orm']['metadata'](u(0x8c)))[u(0x8e)]({'classtype':u(0xae),'pos':{'ln':0x0,'col':0x8c},'name':'select','children':[],'type':u(0xa1),'entity':'Products','columns':[{'name':u(0xb9),'type':'string'},{'name':u(0xc4),'type':u(0xa1)}],'parameters':[],'constraints':[],'values':[],'defaults':[],'clause':u(0xb3),'alias':'p'});}),test('getInfo',()=>{const e=f;expect(__1[e(0x9a)][e(0x91)]('Products.map(p\x20=>\x20({\x20maxPrice:\x20max(p.price)\x20}))',{'stage':e(0xc5)}))[e(0xc9)]({'entity':e(0xa5),'dialect':e(0xc5),'source':e(0xc5),'sentence':'SELECT\x20MAX(p.UnitPrice)\x20AS\x20maxPrice\x20FROM\x20Products\x20p\x20\x20'}),expect(__1['orm']['plan']('Products.map(p\x20=>\x20({\x20minPrice:\x20min(p.price)\x20}))',{'stage':e(0xc5)}))['toStrictEqual']({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0xbb)}),expect(__1['orm'][e(0x91)](e(0xbc),{'stage':'MySQL'}))[e(0xc9)]({'entity':e(0xa5),'dialect':e(0xc5),'source':e(0xc5),'sentence':'SELECT\x20SUM(p.UnitPrice)\x20AS\x20total\x20FROM\x20Products\x20p\x20\x20'}),expect(__1[e(0x9a)][e(0x91)](e(0xd0),{'stage':'MySQL'}))['toStrictEqual']({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0x85)}),expect(__1[e(0x9a)]['plan'](e(0x8a),{'stage':e(0xc5)}))[e(0xc9)]({'entity':e(0xa5),'dialect':e(0xc5),'source':e(0xc5),'sentence':e(0x83)}),expect(__1[e(0x9a)][e(0x91)](e(0xa2),{'stage':e(0xc5)}))[e(0xc9)]({'entity':e(0xa5),'dialect':e(0xc5),'source':e(0xc5),'sentence':e(0xcd)}),expect(__1[e(0x9a)][e(0x91)](e(0xbf),{'stage':'MySQL'}))['toStrictEqual']({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0xc2)}),expect(__1[e(0x9a)][e(0x91)]('Products.filter(p\x20=>\x20p.id\x20===\x20id).map(p\x20=>\x20({\x20name:\x20p.name,\x20source:\x20p.price,\x20result:\x20abs(p.price)\x20}))',{'stage':e(0xc5)}))[e(0xc9)]({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0x84)}),expect(__1[e(0x9a)][e(0x91)](e(0xcc),{'stage':e(0xc5)}))[e(0xc9)]({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0x8f)}),expect(__1[e(0x9a)]['plan']('Orders.details.map(p\x20=>\x20({\x20subTotal:\x20sum((p.unitPrice\x20*\x20p.quantity\x20*\x20(1\x20-\x20p.discount\x20/\x20100))\x20*\x20100)\x20})).sort(p\x20=>\x20p.subTotal)',{'stage':'MySQL'}))[e(0xc9)]({'entity':e(0x9f),'dialect':'MySQL','source':e(0xc5),'sentence':e(0x8b)}),expect(__1[e(0x9a)][e(0x91)](e(0xbd),{'stage':e(0xc5)}))[e(0xc9)]({'entity':'Products','dialect':e(0xc5),'source':e(0xc5),'sentence':e(0x95)}),expect(__1[e(0x9a)]['plan']('Products.filter(p\x20=>\x20p.price\x20>\x205).having(p\x20=>\x20max(p.price)\x20>\x2050).map(p\x20=>\x20({\x20category:\x20p.category.name,\x20largestPrice:\x20max(p.price)\x20})).sort(p\x20=>\x20desc(p.largestPrice))',{'stage':e(0xc5)}))[e(0xc9)]({'entity':e(0xa5),'dialect':e(0xc5),'source':'MySQL','sentence':'SELECT\x20c.CategoryName\x20AS\x20category,\x20MAX(p.UnitPrice)\x20AS\x20largestPrice\x20FROM\x20Products\x20p\x20INNER\x20JOIN\x20Categories\x20c\x20ON\x20c.CategoryID\x20=\x20p.CategoryID\x20WHERE\x20p.UnitPrice\x20>\x205\x20GROUP\x20BY\x20c.CategoryName\x20HAVING\x20MAX(p.UnitPrice)\x20>\x2050\x20ORDER\x20BY\x20largestPrice\x20desc\x20'});});});