The following is the SQL statement of that function.
DROP TABLE IF EXISTS "GenericReadList" ;
CREATE TEMP TABLE "GenericReadList"(
"ComputerProfileId" int NOT NULL,
"Trustee" uuid NOT NULL,
"AccessControlType" smallint NULL,
"AceOrder" int NULL
);
CREATE TEMP TABLE "GenericReadList"(
"ComputerProfileId" int NOT NULL,
"Trustee" uuid NOT NULL,
"AccessControlType" smallint NULL,
"AceOrder" int NULL
);
INSERT INTO "GenericReadList"
SELECT t1."ComputerProfileId", t1."Trustee", t1."AccessControlType", t1."AceOrder" FROM
(
SELECT a."ComputerProfileId", s."ADUser" "Trustee", a."AccessControlType", a."AceOrder" FROM "TmpResult" r
INNER JOIN "TmpTrusteeSid" s ON s."ADUser" = r."Trustee"
INNER JOIN "AccessRights" a ON a."TrusteeSid" = s."Sid" AND r."ComputerProfileId" = a."ComputerProfileId" AND a."AccessRight" = 4
) t1
SELECT t1."ComputerProfileId", t1."Trustee", t1."AccessControlType", t1."AceOrder" FROM
(
SELECT a."ComputerProfileId", s."ADUser" "Trustee", a."AccessControlType", a."AceOrder" FROM "TmpResult" r
INNER JOIN "TmpTrusteeSid" s ON s."ADUser" = r."Trustee"
INNER JOIN "AccessRights" a ON a."TrusteeSid" = s."Sid" AND r."ComputerProfileId" = a."ComputerProfileId" AND a."AccessRight" = 4
) t1
Thanks
Jacky
On Sun, Oct 27, 2019 at 7:45 AM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Michael Paquier <michael@xxxxxxxxxxx> writes:
> On Sat, Oct 26, 2019 at 11:02:26AM -0700, Adrian Klaver wrote:
>> Not sure how that can be answered without knowing what ComputeComputer is
>> doing?
> Yes, there is nothing of this kind in the PostgreSQL code.
Sure there is: win32error.c produces exactly that message if its
mapping table has no entry for the Windows error code.
According to
https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-?redirectedfrom=MSDN
code 38 decimal is ERROR_HANDLE_EOF, "Reached the end of the file.",
which indeed is not in the doserrors[] table.
But that just deepens the mystery --- if we hit an EOF, why wasn't
that handled through more-normal channels? We still need to know
what that function was trying to do, and whether any non-core
C code was involved.
regards, tom lane