From fc0028fc58fcfbe0e7f4d12e553277d2f3a4cb8e Mon Sep 17 00:00:00 2001 From: Ben Lord Date: Thu, 11 Jun 2026 16:34:39 +0100 Subject: [PATCH 1/2] small change to mainexpr to allow lambdas --- code/handlers/permissions.q | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/handlers/permissions.q b/code/handlers/permissions.q index 93ca2726b..7180e66af 100644 --- a/code/handlers/permissions.q +++ b/code/handlers/permissions.q @@ -181,7 +181,7 @@ mainexpr:{[u;e;b;pr] ]; / named function calls if[-11h=type f; - if[not fchk[u;f;1_ (),e]; $[b;'err[`func][f]; :0b]]; +x` if[not fchk[u;f;1_ (),e]; $[b;'err[`func][f]; :0b]]; $[b; :exe ie; :1b]; ]; / queries - select/update/delete @@ -189,7 +189,7 @@ mainexpr:{[u;e;b;pr] / .q keywords if[xdq e;:dotqf[u;e;b;pr]]; / lambdas - value any dict args before razing - if[any (100 104h)in type each raze @[e;where 99h=type'[e];value]; :lamq[u;ie;b;pr]]; + if[any (100 104h)in type each raze @[e;where 99h=type'[(),e];value]; :lamq[u;ie;b;pr]]; / if we get down this far we don't have specific handling for the expression - require superuser if[not (fchk[u;ALL;()] or fchk[u;`$string(first e);()]); $[b;'err[`expr][f]; :0b]]; $[b; exe ie; 1b]} From a97a253957312491e72b1315019408ae10652de0 Mon Sep 17 00:00:00 2001 From: Ben Lord Date: Thu, 11 Jun 2026 16:39:42 +0100 Subject: [PATCH 2/2] removed typo --- code/handlers/permissions.q | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/handlers/permissions.q b/code/handlers/permissions.q index 7180e66af..761dbfc30 100644 --- a/code/handlers/permissions.q +++ b/code/handlers/permissions.q @@ -181,7 +181,7 @@ mainexpr:{[u;e;b;pr] ]; / named function calls if[-11h=type f; -x` if[not fchk[u;f;1_ (),e]; $[b;'err[`func][f]; :0b]]; + if[not fchk[u;f;1_ (),e]; $[b;'err[`func][f]; :0b]]; $[b; :exe ie; :1b]; ]; / queries - select/update/delete