This commit is contained in:
2021-01-25 15:57:07 +00:00
parent d6f1430e69
commit 05f6fa0e7f

View File

@@ -317,15 +317,14 @@ $BODY$;
"); ");
//Name fetcher function //Name fetcher function
//CoreBizObject ADD here
await ExecQueryAsync(@" await ExecQueryAsync(@"
CREATE OR REPLACE FUNCTION PUBLIC.AYGETNAME(IN AYOBJECTID BIGINT, IN AYOBJECTTYPE INTEGER) RETURNS TEXT AS $BODY$ CREATE OR REPLACE FUNCTION PUBLIC.AYGETNAME(IN AYOBJECTID BIGINT, IN AYOBJECTTYPE INTEGER) RETURNS TEXT AS $BODY$
DECLARE DECLARE
aytable TEXT DEFAULT ''; aytable TEXT DEFAULT '';
aynamecolumn TEXT DEFAULT 'name'; aynamecolumn TEXT DEFAULT 'name';
returnstr TEXT DEFAULT ''; returnstr TEXT DEFAULT '';
BEGIN BEGIN
-- Object type to table name
-- //CoreBizObject ADD here
case ayobjecttype case ayobjecttype
when 0 then return 'LT:NoType'; when 0 then return 'LT:NoType';
when 1 then return 'LT:Global'; when 1 then return 'LT:Global';
@@ -396,9 +395,9 @@ BEGIN
when 66 then aytable = 'apartwarehouse'; when 66 then aytable = 'apartwarehouse';
when 67 then aytable = 'apartinventory'; aynamecolumn='description'; when 67 then aytable = 'apartinventory'; aynamecolumn='description';
else else
RETURN format('??PUBLIC.AYGETNAME-UNKNOWN_TYPE:%S',ayobjecttype);-- This should not happen unless dev forgot to update this RETURN returnstr;
end case; end case;
EXECUTE format('SELECT %I FROM %I WHERE id = %L', aynamecolumn, aytable, ayobjectid) INTO returnstr; EXECUTE format('SELECT %I FROM %I WHERE id = %L', aynamecolumn, aytable, ayobjectid) INTO returnstr;
RETURN returnstr; RETURN returnstr;
END; END;
$BODY$ LANGUAGE PLPGSQL STABLE"); $BODY$ LANGUAGE PLPGSQL STABLE");
@@ -670,7 +669,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
//PARTWAREHOUSE //PARTWAREHOUSE
await ExecQueryAsync("CREATE TABLE apartwarehouse (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name TEXT NOT NULL UNIQUE, active BOOL NOT NULL, " + await ExecQueryAsync("CREATE TABLE apartwarehouse (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name TEXT NOT NULL UNIQUE, active BOOL NOT NULL, " +
"notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)");
await ExecQueryAsync("INSERT INTO apartwarehouse(name, active) VALUES ('#1', true);"); await ExecQueryAsync("INSERT INTO apartwarehouse(name, active) VALUES ('Default', true);");
//PARTSERIAL //PARTSERIAL
await ExecQueryAsync("CREATE TABLE apartserial (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, serial TEXT NOT NULL, " + await ExecQueryAsync("CREATE TABLE apartserial (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, serial TEXT NOT NULL, " +
@@ -698,7 +697,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
"CONSTRAINT fk_partinventory_self FOREIGN KEY (sourceid, sourcetype, lastentrydate, lastbalance) REFERENCES apartinventory(sourceid, sourcetype, entrydate, balance), " + "CONSTRAINT fk_partinventory_self FOREIGN KEY (sourceid, sourcetype, lastentrydate, lastbalance) REFERENCES apartinventory(sourceid, sourcetype, entrydate, balance), " +
"CONSTRAINT chk_partinventory_valid_balance CHECK(balance >= 0 AND (balance = COALESCE(lastbalance, 0) + quantity)), " + "CONSTRAINT chk_partinventory_valid_balance CHECK(balance >= 0 AND (balance = COALESCE(lastbalance, 0) + quantity)), " +
"CONSTRAINT chk_partinventory_valid_dates_sequence CHECK(lastentrydate < entrydate), " + "CONSTRAINT chk_partinventory_valid_dates_sequence CHECK(lastentrydate < entrydate), " +
"CONSTRAINT chk_partinventory_valid_previous_columns CHECK((lastentrydate IS NULL AND lastbalance IS NULL) OR (lastentrydate IS NOT NULL AND lastbalance IS NOT NULL)) " + "CONSTRAINT chk_partinventory_valid_previous_columns CHECK((lastentrydate IS NULL AND lastbalance IS NULL) OR (lastentrydate IS NOT NULL AND lastbalance IS NOT NULL)), " +
"CONSTRAINT chk_partinventory_valid_source CHECK((sourcetype IS NULL AND sourceid IS NULL) OR (sourcetype IS NOT NULL AND sourceid IS NOT NULL)) " + "CONSTRAINT chk_partinventory_valid_source CHECK((sourcetype IS NULL AND sourceid IS NULL) OR (sourcetype IS NOT NULL AND sourceid IS NOT NULL)) " +
" )"); " )");