You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
4.2 KiB
102 lines
4.2 KiB
10 years ago
|
SET SESSION AUTHORIZATION 'postgres';
|
||
|
|
||
|
BEGIN transaction;
|
||
|
|
||
|
DO $$
|
||
|
DECLARE ver TEXT;
|
||
|
BEGIN
|
||
|
|
||
|
UPDATE version set version='1.0.0' where vlock=1 and version='0.9.6';
|
||
|
|
||
|
IF found THEN
|
||
|
RETURN;
|
||
|
END IF;
|
||
|
|
||
|
SELECT version into ver from version
|
||
|
WHERE vlock=1;
|
||
|
|
||
|
RAISE EXCEPTION 'Wrong DB version - expect "0.9.6" - found "%"', ver;
|
||
|
|
||
|
END $$;
|
||
|
|
||
|
DROP TABLE payments;
|
||
|
CREATE TABLE payments (
|
||
|
paymentid bigint NOT NULL, -- unique per record
|
||
|
payoutid bigint NOT NULL,
|
||
|
userid bigint NOT NULL,
|
||
|
subname character varying(256) NOT NULL,
|
||
|
paydate timestamp with time zone NOT NULL,
|
||
|
payaddress character varying(256) DEFAULT ''::character varying NOT NULL,
|
||
|
originaltxn character varying(256) DEFAULT ''::character varying NOT NULL,
|
||
|
amount bigint NOT NULL, -- satoshis
|
||
|
diffacc float DEFAULT 0 NOT NULL,
|
||
|
committxn character varying(256) DEFAULT ''::character varying NOT NULL,
|
||
|
commitblockhash character varying(256) DEFAULT ''::character varying NOT NULL,
|
||
|
createdate timestamp with time zone NOT NULL,
|
||
|
createby character varying(64) DEFAULT ''::character varying NOT NULL,
|
||
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00',
|
||
|
PRIMARY KEY (paymentid, expirydate)
|
||
|
);
|
||
|
CREATE UNIQUE INDEX payuserid ON payments USING btree (payoutid, userid, subname, payaddress, originaltxn, expirydate);
|
||
|
|
||
|
DROP TABLE accountbalance;
|
||
|
CREATE TABLE accountbalance ( -- summarised from miningpayouts and payments - RAM only
|
||
|
userid bigint NOT NULL,
|
||
|
confirmedpaid bigint DEFAULT 0 NOT NULL, -- satoshis
|
||
|
confirmedunpaid bigint DEFAULT 0 NOT NULL, -- satoshis
|
||
|
pendingconfirm bigint DEFAULT 0 NOT NULL, -- satoshis
|
||
|
heightupdate integer not NULL,
|
||
|
createdate timestamp with time zone NOT NULL,
|
||
|
createby character varying(64) DEFAULT ''::character varying NOT NULL,
|
||
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
modifydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00',
|
||
|
modifyby character varying(64) DEFAULT ''::character varying NOT NULL,
|
||
|
modifycode character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
modifyinet character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
PRIMARY KEY (userid)
|
||
|
);
|
||
|
|
||
|
DROP TABLE miningpayouts;
|
||
|
CREATE TABLE miningpayouts (
|
||
|
payoutid bigint NOT NULL,
|
||
|
userid bigint NOT NULL,
|
||
|
diffacc float DEFAULT 0 NOT NULL,
|
||
|
amount bigint DEFAULT 0 NOT NULL, -- satoshis
|
||
|
createdate timestamp with time zone NOT NULL,
|
||
|
createby character varying(64) DEFAULT ''::character varying NOT NULL,
|
||
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00',
|
||
|
PRIMARY KEY (payoutid, userid, expirydate)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE payouts (
|
||
|
payoutid bigint NOT NULL, -- unique per record
|
||
|
height integer not NULL,
|
||
|
blockhash character varying(256) NOT NULL,
|
||
|
minerreward bigint NOT NULL, -- satoshis
|
||
|
workinfoidstart bigint NOT NULL,
|
||
|
workinfoidend bigint NOT NULL, -- should be block workinfoid
|
||
|
elapsed bigint NOT NULL,
|
||
|
status char DEFAULT ' ' NOT NULL,
|
||
|
diffwanted float DEFAULT 0 NOT NULL,
|
||
|
diffused float DEFAULT 0 NOT NULL,
|
||
|
shareacc float DEFAULT 0 NOT NULL,
|
||
|
lastshareacc timestamp with time zone NOT NULL,
|
||
|
stats text DEFAULT ''::text NOT NULL,
|
||
|
createdate timestamp with time zone NOT NULL,
|
||
|
createby character varying(64) DEFAULT ''::character varying NOT NULL,
|
||
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL,
|
||
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00',
|
||
|
PRIMARY KEY (payoutid, expirydate)
|
||
|
);
|
||
|
CREATE UNIQUE INDEX payoutsblock ON payouts USING btree (height, blockhash, expirydate);
|
||
|
|
||
|
insert into idcontrol (idname,lastid,createdate,createby) values ('payoutid',999,now(),'1.0.0update');
|
||
|
|
||
|
END transaction;
|