BE:LiquidFeedback/Datenbankeingriffe

2010-01-04 (Björn, Jbe): Im Rahmen eines Softwareupdates wurden bisher nicht vermerkte Zeitpunkte der Accounterstellung aus der Tabelle der Invite-Codes rekonstrukiert:

update member set created = (select used from invite_code where invite_code.member_id = member.id);
update member set created = '2010-01-01' where id = 1;

2010-01-10 22:39 UTC+01 (Jbe): Abstimmungszeit von Eilanträgen gemäß beschlossenem Antrag #92 verlängert:

UPDATE policy SET name = 'Eilantrag (ca. 4-5 Tage)', voting_time = '2 days' WHERE id=1;

2010-01-12 18:10 UTC+01 (Jbe): Hotfix aufgrund eines Fehlers im Auszählungsprozess durch zurückgezogene Anträge:

CREATE OR REPLACE FUNCTION "freeze_after_snapshot"
  ( "issue_id_p" "issue"."id"%TYPE )
  RETURNS VOID
  LANGUAGE 'plpgsql' VOLATILE AS $$
    DECLARE
      "issue_row"      "issue"%ROWTYPE;
      "policy_row"     "policy"%ROWTYPE;
      "initiative_row" "initiative"%ROWTYPE;
    BEGIN
      SELECT * INTO "issue_row" FROM "issue" WHERE "id" = "issue_id_p";
      SELECT * INTO "policy_row"
        FROM "policy" WHERE "id" = "issue_row"."policy_id";
      PERFORM "set_snapshot_event"("issue_id_p", 'start_of_voting');
      UPDATE "issue" SET
        "accepted"     = coalesce("accepted", now()),
        "half_frozen"  = coalesce("half_frozen", now()),
        "fully_frozen" = now()
        WHERE "id" = "issue_id_p";
      FOR "initiative_row" IN
        SELECT * FROM "initiative"
        WHERE "issue_id" = "issue_id_p" AND "revoked" ISNULL
      LOOP
        IF
          "initiative_row"."satisfied_supporter_count" > 0 AND
          "initiative_row"."satisfied_supporter_count" *
          "policy_row"."initiative_quorum_den" >=
          "issue_row"."population" * "policy_row"."initiative_quorum_num"
        THEN
          UPDATE "initiative" SET "admitted" = TRUE
            WHERE "id" = "initiative_row"."id";
        ELSE
          UPDATE "initiative" SET "admitted" = FALSE
            WHERE "id" = "initiative_row"."id";
        END IF;
      END LOOP;
      IF NOT EXISTS (
        SELECT NULL FROM "initiative"
        WHERE "issue_id" = "issue_id_p" AND "admitted" = TRUE
      ) THEN
        PERFORM "close_voting"("issue_id_p");
      END IF;
      RETURN;
    END;
  $$;
CREATE OR REPLACE VIEW "liquid_feedback_version" AS
  SELECT * FROM (VALUES ('beta15+hotfix', NULL, NULL, NULL))
  AS "subquery"("string", "major", "minor", "revision");

Aufgrund des Fehlers haben an diesem Nachmittag einige Anträge verspätet einen Statuswechsel vollzogen.

2010-01-19 22:13 UTC+01 (Bjoern):

Obenstehender Hotfix wurde ebenfalls im System fuer Bremen und Schleswig-Holstein eingespielt, da diese aus der gleichen LF-Distribution wie das Berliner System installiert wurden. In diesen Systemen kann noch kein Eintrag davon betroffen gewesen sein.

2010-01-25 01:30 UTC+1 (Bjoern, Jbe): Loeschung von abgegebenen Stimmen fuer zurueckgezogene Initiative

(entstanden durch fehlende Pruefung der anzuzeigenden Initiativen in der Abstimmungsmaske)

DELETE FROM vote WHERE initiative_id IN (57, 165);

2010-01-31 23:30 UTC+01 (Bjoern, Jbe): Rücksetzung der Themen 3, 19, 20, 33, 35, 36, 37, 40, 100, 102, 103 in den Zustand "Eingefroren"

(gemäß Abstimmung auf https://lqpp.de/be/initiative/show/253.html)

DELETE FROM direct_voter WHERE issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
DELETE FROM delegating_voter WHERE issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE direct_population_snapshot SET event='periodic' WHERE event = 'start_of_voting' AND issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE delegating_population_snapshot SET event='periodic' WHERE event = 'start_of_voting' AND issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE direct_interest_snapshot SET event='periodic' WHERE event = 'start_of_voting' AND issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE delegating_interest_snapshot SET event='periodic' WHERE event = 'start_of_voting' AND issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE direct_supporter_snapshot SET event='periodic' WHERE event = 'start_of_voting' AND issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE initiative SET agreed = NULL, rank = NULL, positive_votes = NULL, negative_votes = NULL, admitted = NULL WHERE issue_id IN (3,19,20,33,35,36,37,40,100,102,103);
UPDATE issue SET half_frozen = now(), fully_frozen = NULL, closed = NULL, ranks_available = false, voter_count = NULL, latest_snapshot_event = 'periodic' WHERE id IN (3,19,20,33,35,36,37,40,100,102,103);

2010-02-08 17:50 UTC+1 (Jbe): Sperrung von Invite-Codes und Accounts ausgetretener Mitglieder:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> LOCK TABLE member IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> LOCK TABLE invite_code IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> SELECT id FROM member JOIN invite_code ON member.id = invite_code.member_id WHERE invite_code.code IN ('5jmg-bzz4-ttx8-y5w2-wz5c', 'dnz8-gh8h-bkvs-98cx-nb7b', 'c2cw-xbr8-dfwf-h242-f96t', 'm3y4-g8xp-j6vv-gmxh-hdr9', 'vjgk-7gg9-rvrb-j82x-tqhj', 'q64n-pjgw-ggr2-j35f-z6dn', 'tbwd-b62f-dvzq-8674-6hxw', 'nyrk-yjqx-9x9c-zk6s-6ymr', 't46w-8w53-vxkg-knwp-jrjf', 'jcxn-rhrr-nzym-6scv-yzpr', 'dr9q-p4kr-gzqp-rhzk-yffh', 'w5jx-86z4-2zf6-3ry3-czmb', 'hmgn-t6g7-kcz8-zgfh-7nxz', 'p87h-4kv5-m3kz-jgpm-pqw8', 'zbfg-tng2-4c9w-zrsj-qcpb');
 id
-----
 191
(1 row)

liquid_feedback_be=> UPDATE member SET active = FALSE WHERE id = 191;
UPDATE 1
liquid_feedback_be=> DELETE FROM invite_code WHERE code IN ('5jmg-bzz4-ttx8-y5w2-wz5c', 'dnz8-gh8h-bkvs-98cx-nb7b', 'c2cw-xbr8-dfwf-h242-f96t', 'm3y4-g8xp-j6vv-gmxh-hdr9', 'vjgk-7gg9-rvrb-j82x-tqhj', 'q64n-pjgw-ggr2-j35f-z6dn', 'tbwd-b62f-dvzq-8674-6hxw', 'nyrk-yjqx-9x9c-zk6s-6ymr', 't46w-8w53-vxkg-knwp-jrjf', 'jcxn-rhrr-nzym-6scv-yzpr', 'dr9q-p4kr-gzqp-rhzk-yffh', 'w5jx-86z4-2zf6-3ry3-czmb', 'hmgn-t6g7-kcz8-zgfh-7nxz', 'p87h-4kv5-m3kz-jgpm-pqw8', 'zbfg-tng2-4c9w-zrsj-qcpb');
DELETE 15
liquid_feedback_be=> COMMIT;
COMMIT

2010-02-12 00:30 UTC+1 (Jbe): Vorzeitiges Einfrieren von Anträgen aufgrund der anstehenden LMV auf Beschluss des Vorstands:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> SELECT issue.id, initiative.name FROM issue JOIN initiative ON issue.id = initiative.issue_id WHERE issue.created < '2010-02-06 00:00:00 +02' AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL ORDER BY issue.id, initiative.id;
 id  |                                                                                                           name                                                                                                                           
-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------               
   5 | Beispiel für eine Geschäfts- und Wahlordnung                             
   5 | Entwurf Geschäftsordnung der Landesmitgliederversammlungen des LV-Berlin 
  15 | Bürgergeld für Alle                                                      
  15 | Grundsätzliche Unterstützung der Idee des Bedingungslosen Grundeinkommens
  15 | Bürokratieabbau in Berlin                                                
  15 | Keine Unterstützung für das BGE                                          
  15 | Hartz4 ohne Arbeitszwang und angedrohten Kürzungen = BGE                 
  15 | Motivationssteuer                                                        
  21 | Arbeitslosigkeit oder vernünftige Verteilung der vorhandenen bezahlten Arbeit (und Bürgergeld)                                                           
  22 | Begrenzung der Steuern und Sozialabgaben (im Zusammenhang mit Bürgergeld & Krankenkasse etc.)                                                            
  23 | Gerechtere und effizientere Bildungspolitik                              
  23 | Bessere Finanzierung der Hochschulen und Schulen                         
  23 | Staatlicher Fond zur Finanzierung des Studiums & Studiengebühren         
  23 | Ganzheitliche Bildungsinitiative                                         
  23 | Uni Berlin                                                               
  25 | Auflösung von Widersprüchen in Anträgen                                  
  25 | Antragskommission                                                        
  26 | Bedingungen von Anträgen                                                 
  27 | Bewerbungsfrist für Kandidaten                                           
  27 | Keine Bewerbungsfrist                                                    
  28 | Einreichungsfrist für Anträge                                            
  29 | Keine Diskussion                                                         
  29 | Anträge NICHT ohne ausführliche Beratung abstimmen.                      
  30 | Bildungs- und wissenschaftsfreundliches Urheberrecht                     
  34 | Bedingungsloses Grundeinkommen auf Piratenebene herunterbrechen          
  34 | Kein Eingriff in die staatliche Autonomie von Entwicklungsländern        
  52 | Netzneutralität                                                          
  52 | Netzneutralität#2                                                        
  54 | Landesrat                                                                
  54 | Wider den Landesrat                                                      
  55 | Freie Delegation für die Landesmitgliederversammlung                     
  55 | Freie Delegation gesetzeswidrig                                          
  67 | Einreichungsfristen für Anträge und Bewerbungen                          
  67 | Keine Einreichungsfristen für Anträge und Bewerbungen                    
  67 | Einreichungsfristen nur für Anträge                                      
  67 | Nur Bewerbungsfristen für Kandidaten                                     
  68 | Verteilte Vorabstimmung zur Landesmitgliederversammlung                  
  68 | Keine verteilte Vorabstimmung zur Landesmitgliederversammlung            
  69 | Flexible Virtuelle Konten                                                
  87 | Beteiligung der Hochschulen an Wissenschaftsausschuss                    
  87 | Keine Beteiligung der Hochschulleitungen am Wissenschaftsausschuss       
  87 | Gemeinsamer Runder Tisch von Hochschulen, öffentlichen Trägern, Lehrenden, Lernden und Forschenden                                                       
  88 | S-Bahn: Überführung in den Besitz des Landes Berlin                      
  88 | Wider der Enteignung ohne Konzept                                        
  90 | Piratenfilm                                                              
 104 | Alternativen zu NacktScanner an Flughäfen sollten geprüft werden.        
 107 | Verwertungsrechte von Patenten an Verwertungspflicht binden              
 108 | Banken - Trennung von Geschäftsbanken und Investmentbanken - Glass-Steagall Act reloaded (German)                                                        
 111 | Banken - Begrenzung von "Banker-Boni" auf 200.000 Euro pa in Deutschland 
 111 | Keine Boni-Begrenzungen                                                  
 111 | Keine Geschäftemacherei und keine Bonisysteme in systemrelevanten Banken 
 113 | Bezirksverbände und Finanzen                                             
 117 | sofortiger geordneter Abzug der Bundeswehr aus Afghanistan (6Monate)     
 117 | Initiative: 'sofortiger geordneter Abzug der Bundeswehr aus Afghanistan (6Monate)' löschen, da doppelt                                                   
 117 | Änderung der Strategie zur Stabilisierung der Region Hindukusch          
 123 | Die Integration von Liquid Democracy ins Parteistatut                    
 123 | Integration von Liquid Democrcx                                          
 123 | Integration von Liquid Democracy in die neu vorgeschlagene Satzung       
 130 | Überarbeitung der aktuellen Richtlinien für Arbeitsverträge (Vollzeit, Teilzeit und Minijobs)                                                            
 138 | Nur Spenden natürlicher Personen und Begrenzung auf 10.000 Euro          
 138 | PP Parteispenden - bundeseinheitliche Lösung, max 10.000 Euro pa - von Privatpersonen / Verbänden / Firmen zulässig                                      
 138 | Pro Jahr nur 10.000€ je Spender                                          
 138 | Parteispenden - wenn Regelung, dann für alle                             
 145 | staatliche Krankenkasse einführen                                        
 145 | verpflichtende staatliche Krankenkasse                                   
 145 | Diskussion über die LMV hinaus                                           
 151 | Abschaffung der Verschärfung der Umweltzone in Berlin - da die hohe individuelle Kosten ein zu geringer Nutzen                                           
 151 | Beibehaltung der geltenden Regelungen                                    
 154 | Gegen einen allmächtigen Vorstand                                        
 156 | Entwurf einer neuen Satzung für den Landesverband Berlin                 
 156 | Die Piratenpartei Deutschland Berlin gliedert sich NICHT in Bezirksverbände.                                                                             
 156 | Uneinigkeiten über Teile der Satzung sollten in eigenen Initativen verhandelt werden.                                                                    
 156 | Uneinigkeiten über Teile der Satzung sollten als gesonderte Themen verhandelt werden                                                                     
 156 | Der Parteiname im Land möge "Piratenpartei Berlin" lauten                
 156 | Keine Abstimmung über eine eine komplette "Neuen Satzung" auf LMV (als Paket) - nur einzelne Elemente in aktueller Satzung sollen separat in ihren Auswirkungen diskutieren, analysiert und zur Abstimmng gestellt werden                
 156 | Änderung des Quorum zur Gründung von Bezirksverbänden                    
 160 | Burkaverbot in Deutschland - Freiheit für Frauen                         
 160 | Ablehnung der Initiative: 'Burkaverbot in Deutschland - Freiheit für Frauen'                                                                             
 161 | Die Handhabung von Software und verwendete Begriffe müssen leicht verständlich sein                                                                      
 162 | LMV2010 Berlin - alle LMV Anträge in lqpp veröffentlichen - eigener Themenbereich 'LMV2010 Berlin'                                                       
 163 | Satzung - Gründung Bezirksverbände ermöglichen, aber an Größenerfordernisse binden - zb nur wenn ein Bezirksverband mindestens 1000 Mitglieder hat, darf er sich gründen                                                                 
 165 | Drogenpolitik                                                            
 165 | Alternativantrag Drogenpolitik                                           
 166 | Alternativantrag Drogenpolitik                                           
 167 | Sichtbarmachen von Zugriffszahlen auf eine Initiative                    
 169 | Wiederholung der Abstimmung zum Thema 94                                 
 169 | Keine Wiederholung der Abstimmung zum Thema 94                           
 171 | Satzungsänderungsantrag Liquid Democracy                                 
 171 | Noch kein Liquid Democracy
 171 | LQFB erst 1-2J testen, dann über formale Integration in die Satzung nachdenken
 172 | Menge der Delegationen pro Person begrenzen und Begrenzung des Zeitraumes
 172 | Fortsetzung der Diskussion und Endabstimmung in Thema #174 durchführen
 174 | Begrenzung der Anzahl von Delegationen
 174 | Anzahl der Delegationen nicht begrenzen
 175 | Delegationen nicht von unbegrentzter Zeitdauer
 175 | Delegationsdauer nicht grundsätzlich begrenzen, aber ...
 175 | Delegationsdauer überhaupt nicht begrenzen
 176 | Ablehnen von Delegationen
 178 | Freie Verwendung von urheberrechtlich geschützten Werken nach 10 Jahren
 178 | Freie Verwendung von urheberrechtlich geschützten Werken nach 5 Jahren
 178 | Freie Verwendung urheberrechtlichgeschützter Werke nach dem Tod des Urhebers.
 178 | Freie Verwendung von urheberrechtlich geschützten Werken nach 20 Jahren
 179 | Für ein Berliner Bibliotheksgesetz
 180 | Sehen ob man selbst bereits abgestimmt hat
 180 | Seite mit allen Abstimmungen
 180 | Benachrichtigung über Abstimmungen
 181 | Delegation an Personen verweigern
 181 | Ablehnung einer Ausschlussliste für Delegationen
(108 rows)

liquid_feedback_be=> UPDATE issue SET half_frozen=now() WHERE issue.created < '2010-02-06 00:00:00 +02' AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL;
UPDATE 51
liquid_feedback_be=> COMMIT;
COMMIT

2010-02-14 23:20 UTC+1 (Jbe): Vorzeitige Einleitung von Abstimmungsphasen aufgrund der anstehenden LMV auf Beschluss des Vorstands:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> SELECT id, half_frozen FROM issue WHERE issue.created < '2010-02-06 00:00:00 +02' AND accepted NOTNULL AND half_frozen NOTNULL AND fully_frozen ISNULL AND closed ISNULL ORDER BY half_frozen, issue.id FOR UPDATE;
 id  |          half_frozen                                                    
-----+-------------------------------                                          
 146 | 2010-02-08 12:25:04.852738+01                                           
 148 | 2010-02-09 09:05:20.985371+01                                           
 150 | 2010-02-09 15:43:25.455639+01                                           
 152 | 2010-02-10 10:12:07.553341+01                                           
 142 | 2010-02-11 16:09:45.375808+01                                           
 149 | 2010-02-11 19:10:46.890188+01                                           
 158 | 2010-02-11 23:10:09.434581+01                                           
   5 | 2010-02-12 00:46:18.032564+01                                           
  15 | 2010-02-12 00:46:18.032564+01                                           
  21 | 2010-02-12 00:46:18.032564+01                                           
  22 | 2010-02-12 00:46:18.032564+01                                           
  23 | 2010-02-12 00:46:18.032564+01                                           
  25 | 2010-02-12 00:46:18.032564+01                                           
  26 | 2010-02-12 00:46:18.032564+01                                           
  27 | 2010-02-12 00:46:18.032564+01                                           
  28 | 2010-02-12 00:46:18.032564+01                                           
  29 | 2010-02-12 00:46:18.032564+01                                           
  30 | 2010-02-12 00:46:18.032564+01                                           
  34 | 2010-02-12 00:46:18.032564+01                                           
  52 | 2010-02-12 00:46:18.032564+01                                           
  54 | 2010-02-12 00:46:18.032564+01                                           
  55 | 2010-02-12 00:46:18.032564+01                                           
  67 | 2010-02-12 00:46:18.032564+01                                           
  68 | 2010-02-12 00:46:18.032564+01                                           
  69 | 2010-02-12 00:46:18.032564+01                                           
  87 | 2010-02-12 00:46:18.032564+01                                           
  88 | 2010-02-12 00:46:18.032564+01                                           
  90 | 2010-02-12 00:46:18.032564+01                                           
 104 | 2010-02-12 00:46:18.032564+01                                           
 107 | 2010-02-12 00:46:18.032564+01                                           
 108 | 2010-02-12 00:46:18.032564+01                                           
 111 | 2010-02-12 00:46:18.032564+01                                           
 113 | 2010-02-12 00:46:18.032564+01                                           
 117 | 2010-02-12 00:46:18.032564+01                                           
 123 | 2010-02-12 00:46:18.032564+01                                           
 130 | 2010-02-12 00:46:18.032564+01                                           
 138 | 2010-02-12 00:46:18.032564+01                                           
 145 | 2010-02-12 00:46:18.032564+01                                           
 151 | 2010-02-12 00:46:18.032564+01                                           
 154 | 2010-02-12 00:46:18.032564+01                                           
 156 | 2010-02-12 00:46:18.032564+01                                           
 160 | 2010-02-12 00:46:18.032564+01                                           
 161 | 2010-02-12 00:46:18.032564+01                                           
 162 | 2010-02-12 00:46:18.032564+01                                           
 163 | 2010-02-12 00:46:18.032564+01                                           
 165 | 2010-02-12 00:46:18.032564+01                                           
 166 | 2010-02-12 00:46:18.032564+01                                           
 167 | 2010-02-12 00:46:18.032564+01                                           
 169 | 2010-02-12 00:46:18.032564+01                                           
 171 | 2010-02-12 00:46:18.032564+01                                           
 172 | 2010-02-12 00:46:18.032564+01                                           
 174 | 2010-02-12 00:46:18.032564+01                                           
 175 | 2010-02-12 00:46:18.032564+01                                           
 176 | 2010-02-12 00:46:18.032564+01                                           
 178 | 2010-02-12 00:46:18.032564+01                                           
 179 | 2010-02-12 00:46:18.032564+01                                           
 180 | 2010-02-12 00:46:18.032564+01                                           
 181 | 2010-02-12 00:46:18.032564+01                                           
(58 rows)                                                                      

liquid_feedback_be=> SELECT manual_freeze(id) FROM issue WHERE issue.created < '2010-02-06 00:00:00 +02' AND accepted NOTNULL AND half_frozen NOTNULL AND fully_frozen ISNULL AND closed ISNULL;
 manual_freeze 
---------------

[...]

(58 rows)

liquid_feedback_be=> COMMIT;
COMMIT
liquid_feedback_be=> UPDATE policy SET voting_time = '7 days' WHERE name LIKE 'Langzeit%';
UPDATE 1

Hinweis: Das Verfahren Langzeitdiskussion wurde vorübergehend auf eine Abstimmungszeit von 7 Tagen eingestellt. Da das System erst seit Januar in Betrieb ist, sind hiervon keine anderen Themen betroffen. Das Verfahren wird in Anschluss an die Abstimmung wieder so eingestellt, wie es vorher war.

2010-02-18 19:10 UTC+1 (Jbe): Sperrung von Invite-Codes und Accounts ausgetretener Mitglieder:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> LOCK TABLE member IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> LOCK TABLE invite_code IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> SELECT id FROM member JOIN invite_code ON member.id = invite_code.member_id WHERE invite_code.code IN ('2dm7-n5qn-fp3y-96z4-2t9c', 'cq94-yp35-8zh6-9cn3-6rz8');
 id
----
(0 rows)

liquid_feedback_be=> DELETE FROM invite_code WHERE code IN ('2dm7-n5qn-fp3y-96z4-2t9c', 'cq94-yp35-8zh6-9cn3-6rz8');
DELETE 2
liquid_feedback_be=> COMMIT;
COMMIT

2010-02-21 23:56 UTC+1 (Jbe): Sperrung von Invite-Codes und Accounts ausgetretener Mitglieder:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> LOCK TABLE member IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> LOCK TABLE invite_code IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> SELECT id FROM member JOIN invite_code ON member.id = invite_code.member_id WHERE invite_code.code IN ('j23w-n9bp-bzq7-qxgx-85w6', '8kvz-6dnz-tsp7-4pfx-dn4r');
 id
-----
 220
(1 row)

liquid_feedback_be=> UPDATE member SET active = FALSE WHERE id = 220;
UPDATE 1
liquid_feedback_be=> DELETE FROM invite_code WHERE code IN ('j23w-n9bp-bzq7-qxgx-85w6', '8kvz-6dnz-tsp7-4pfx-dn4r');
DELETE 2
liquid_feedback_be=> COMMIT;
COMMIT

2010-02-22 12:54 UTC+1 (Jbe): Rekonstruktion verbrauchter Invite-Codes mittels Backup zwecks späterer Nachvollziehbarkeit der Löschung ausgetretener Mitglieder

INSERT INTO invite_code ("code", "created", "used", "member_id") VALUES
  ('[...]', '2010-01-02 18:16:00.234431+01', '[...]', 191),
  ('[...]', '2010-01-02 18:16:00.234431+01', '[...]', 220);

2010-02-24 03:30 UTC+1 (Jbe): Sperrung von Invite-Codes und Accounts ausgetretener Mitglieder:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> LOCK TABLE member IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> LOCK TABLE invite_code IN EXCLUSIVE MODE;
LOCK TABLE
liquid_feedback_be=> SELECT id FROM member JOIN invite_code ON member.id = invite_code.member_id WHERE invite_code.code IN ('c...', 'v...');
 id
-----
 242
(1 row)

liquid_feedback_be=> UPDATE member SET active = FALSE WHERE id = 242;
UPDATE 1
liquid_feedback_be=> DELETE FROM invite_code WHERE code IN ('c...', 'v...') AND used ISNULL;
DELETE 1
liquid_feedback_be=> COMMIT;
COMMIT

2010-03-02 12:30 UTC+1 (Jbe): Rücknahme vorübergehender Änderungen durch manuellen Eingriff zur vorzeitigen Einleitung von Abstimmungen:

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> UPDATE policy SET voting_time='14 days' WHERE id=3 AND name LIKE 'Langzeit%';
UPDATE 1
liquid_feedback_be=> UPDATE issue SET voting_time='14 days' WHERE policy_id=3 AND closed ISNULL;
UPDATE 12
liquid_feedback_be=> COMMIT;
COMMIT

2010-03-08 03:00-05:00 UTC+1 (Jbe): Anlegen neuer Verfahren und Ändern von Themenbereichen gemäß Abstimmung in Thema #244 und Thema #24

INSERT INTO "policy" (
  "index", "name", "description",
  "admission_time", "discussion_time", "verification_time", "voting_time",
  "issue_quorum_num", "issue_quorum_den",
  "initiative_quorum_num", "initiative_quorum_den",
  "majority_num", "majority_den", "majority_strict" ) VALUES (
    4, 'Satzungsänderung',
    'Satzungsänderungsantrag zur Vorlage bei der nächst möglichen Landesmitgliederversammlung',
    '15 days', '8 weeks', '15 days', '15 days',
    10, 100, 10, 100, 2, 3, FALSE
  ), (
    5, 'Programmänderung',
    'Antrag zur Änderung des Parteiprogramms (Landesprogramm) zur Vorlage bei der nächst möglichen Landesmitgliederversammlung',
    '15 days', '8 weeks', '15 days', '15 days',
    10, 100, 10, 100, 2, 3, FALSE
  ), (
    6, 'Wahlprogramm',
    'Antrag auf Beschluss/Änderung des Wahlprogramms zur Vorlage bei der nächst möglichen Landesmitgliederversammlung',
    '15 days', '8 weeks', '15 days', '15 days',
    10, 100, 10, 100, 2, 3, FALSE
  ), (
    7, 'sonstiger LMV-Beschluss',
    'Antrag zur Vorlange bei der nächsten Landesmitgliederversammlung, sofern es sich nicht um Satzungs-, Programm- oder Wahlprogrammänderungen handelt',
    '8 days', '15 days', '8 days', '8 days',
    10, 100, 10, 100, 1, 2, TRUE
  ), (
    8, 'Meinungsbild / Beschlussvorlage',
    'Meinungsbild um Squads, Vorstand und anderen Organen eine Orientierungshilfe zu geben. Es können auch Beschlussvorlagen für den Vorstand mit diesem Verfahren entwickelt werden.',
    '8 days', '15 days', '8 days', '8 days',
    10, 100, 10, 100, 1, 2, TRUE
  ), (
    9, 'Schnellverfahren',
    'Dieses Verfahren soll nur verwendet werden, wenn eine kurzfristige Abstimmung notwendig ist, und ein späteres Ergebnis gar keinen oder nur eingeschränkten Nutzen hat.',
    '30 hours', '30 hours', '30 hours', '60 hours',
    10, 100, 10, 100, 1, 2, TRUE
  ), (
    10, 'Änderung von Themenbereichen/Quoren/Fristen',
    '',
    '8 days', '15 days', '8 days', '8 days',
    10, 100, 10, 100, 1, 2, TRUE  -- Übergangsregelung
  ), (
    11, 'Abstimmungsstreitfrage',
    '',
    '8 days', '15 days', '8 days', '8 days',
    10, 100, 10, 100, 1, 2, TRUE
  );

liquid_feedback_be=> SELECT id, name FROM area ORDER BY id;
 id |                       name                           
----+--------------------------------------------------    
  1 | Sandkasten / Spielwiese
  2 | Streitfragen zu Abstimmungen
  3 | Liquid Democracy Systembetrieb
  4 | Satzung und Parteistruktur
  5 | Organisation der Landesmitgliederversammlung
  6 | innerparteiliche Finanzen
  7 | sonstige innerparteiliche Angelegenheiten
  8 | Tagespolitik
  9 | Außenpolitik
 10 | Bildung und Forschung
 11 | Bürgerrechte, Datenschutz und Sicherheitspolitik
 12 | Soziales
 13 | Stadtentwicklung, Bau und Verkehr
 14 | Umwelt, Gesundheit und Ernährung
 15 | Urheberrecht
 16 | Wirtschaftspolitik
 17 | sonstige politische Themen
 18 | Organisatorisches
 19 | Aktionen
(19 rows)

liquid_feedback_be=> SELECT id, name FROM policy ORDER BY id;
 id |                    name
----+---------------------------------------------
  1 | Eilantrag (ca. 4-5 Tage)
  2 | Standardverfahren (ca. 1 Monat)
  3 | Langzeitdiskussion (ca. 6 Monate)
  4 | Satzungsänderung
  5 | Programmänderung
  6 | Wahlprogramm
  7 | sonstiger LMV-Beschluss
  8 | Meinungsbild / Beschlussvorlage
  9 | Schnellverfahren
 10 | Änderung von Themenbereichen/Quoren/Fristen
 11 | Abstimmungsstreitfrage
(11 rows)

BEGIN;
DELETE FROM "allowed_policy";
INSERT INTO "allowed_policy"
  ("area_id", "policy_id", "default_policy") VALUES
  ( 1,  8, FALSE),
  ( 1,  9, FALSE),
  ( 2, 11, TRUE),
  ( 3,  7, FALSE),
  ( 3,  8, FALSE),
  ( 3,  9, FALSE),
  ( 3, 10, FALSE),
  ( 4,  4, FALSE),
  ( 4,  7, FALSE),
  ( 4,  8, FALSE),
  ( 4,  9, FALSE),
  ( 5,  7, FALSE),
  ( 5,  8, FALSE),
  ( 5,  9, FALSE),
  ( 6,  7, FALSE),
  ( 6,  8, FALSE),
  ( 6,  9, FALSE),
  ( 7,  7, FALSE),
  ( 7,  8, FALSE),
  ( 7,  9, FALSE),
  ( 8,  6, FALSE),
  ( 8,  7, FALSE),
  ( 8,  8, FALSE),
  ( 8,  9, FALSE),
  ( 9,  5, FALSE),
  ( 9,  6, FALSE),
  ( 9,  8, FALSE),
  ( 9,  9, FALSE),
  (10,  5, FALSE),
  (10,  6, FALSE),
  (10,  8, FALSE),
  (10,  9, FALSE),
  (11,  5, FALSE),
  (11,  6, FALSE),
  (11,  8, FALSE),
  (11,  9, FALSE),
  (12,  5, FALSE),
  (12,  6, FALSE),
  (12,  8, FALSE),
  (12,  9, FALSE),
  (13,  5, FALSE),
  (13,  6, FALSE),
  (13,  8, FALSE),
  (13,  9, FALSE),
  (14,  5, FALSE),
  (14,  6, FALSE),
  (14,  8, FALSE),
  (14,  9, FALSE),
  (15,  5, FALSE),
  (15,  6, FALSE),
  (15,  8, FALSE),
  (15,  9, FALSE),
  (16,  5, FALSE),
  (16,  6, FALSE),
  (16,  8, FALSE),
  (16,  9, FALSE),
  (17,  5, FALSE),
  (17,  6, FALSE),
  (17,  8, FALSE),
  (17,  9, FALSE),
  (18,  7, FALSE),
  (18,  8, FALSE),
  (18,  9, FALSE),
  (19,  7, FALSE),
  (19,  8, FALSE),
  (19,  9, FALSE);
COMMIT;

liquid_feedback_be=> SELECT issue.id, initiative.name FROM issue JOIN initiative ON issue.id=initiative.issue_id WHERE policy_id IN (1,2,3) AND area_id=3 AND closed ISNULL ORDER BY issue.id;                                                  
 id  |                                                                                                    name                                                                                                                                  
-----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------                              
 182 | Probeabstimmungen ohne laufende Anträge vorzeitig stoppen zu müss implementieren - um ggf eine vorläufiges Meinungsbild zu bekommen                      
 188 | Verbote von Globaldelegationen in lqfb - Globale Delegationen widersprechen dem Gedanken von lqfb Politik als mehrdimensionalen (separate Themenbereich) Organisationsprozess basisdemokratisch abzbilden.                               
 188 | Verbot von Globaldelegationen ist sinnfrei.                              
 206 | Quorum bei derzeitigem Wert belassen                                     
 206 | Zulassungsquorum für Abstimmung über eine Initiative auf 5% senken       
 206 | Erhöhung des Quorum auf 15%                                              
 206 | Zulassungsquorum für Abstimmung über eine Initiative auf 8% senken
 206 | Erhöhung des Quorum auf 30%
 206 | Erhöhung des Quorum auf 20%
 208 | lqfb sollTechnologien implementieren, die eine geheime Abstimmung für lqfb user, die keine Delegationen ausüben (auf Wunsch) ermöglichen
 208 | lqfb sollTechnologien implementieren, die eine anonyme Abstimmung für lqfb user, die keine Delegationen ausüben (auf Wunsch) ermöglichen
 209 | Keine virtuelle Antragspersönlichkeit für AG´s,Crews oder Squads
 209 | eigene "Antragspersönlichkeit" für offizielle Squads und Crews des LV Berlin sollen in lqfb implementiert werden, um eigene Anträge unter ihrem Namen einstellen zu können
 212 | Jede Seite muss durch einen eindeutigen Seitentitel (title-Tag) identifizierbar sein
 227 | Abstimmungszeitraum auf acht Tage erweitern
 240 | Downloadfunktion aktivieren UND Schnittstelle für Zugriff auf aktuellen Datenbestand bereitstellen
 240 | Matching-Übersicht des eigenen Unterstützungs- und Abstimmungsverhaltens mit anderen
 240 | Nur-Lese-Sicht für Dritte / Stündliche Reportgenerierung
 240 | Es soll eine Schnittstelle bereitgestellt werden, mit deren Hilfe Analysesoftware auf die Systemdaten zugreifen kann.
 240 | Einschalten der "Downloadfunktion"
 242 | Information über Delegation durch Ereignisse in der Zeitachse
 242 | Laufende Confirmation von Delegationen bei Abstimmung
 242 | Information über Delegation als Tab auf der Startseite
 251 | Verfahren "Veröffentlichung" in Anlehnung an 'Schnellverfahren'
 251 | Verfahren für Veröffentlichungen
 253 | Verfall abgegebener Delegationen 2 Monaten nach dem letzten Login
 253 | Verfall abgegebener Delegationen 6 Monate nach dem letzten Login
 253 | Verfall abgegebener Delegationen 1 Jahr nach dem letzten Login
 253 | Verfall abgegebener Delegationen 1 Monaten nach dem letzten Login
 255 | RSS-Feed oder Benachrichtigung für Themenbereich, Themen und anderes
 256 | Zusammenlegung aller organisatorischen Themenbereiche unter Organisatorisches
 258 | Nur-Lese-Sicht für Dritte / Stündliche Reportgenerierung
(32 rows)

BEGIN;
UPDATE "issue" SET "policy_id" = 11 WHERE "area_id" = 2;
UPDATE "issue" SET "policy_id" = 10 WHERE "id" IN (206, 227, 251, 256);
UPDATE "issue" SET "policy_id" = 9 WHERE "policy_id" = 1;
UPDATE "issue" SET "policy_id" = 8 WHERE "policy_id" IN (2,3);
UPDATE "issue" SET
  "admission_time"    = "policy"."admission_time",
  "discussion_time"   = "policy"."discussion_time",
  "verification_time" = "policy"."verification_time",
  "voting_time"       = "policy"."voting_time"
  FROM "policy"
  WHERE "issue"."policy_id" = "policy"."id" AND "issue"."closed" ISNULL;
COMMIT;

liquid_feedback_be=> SELECT last_value FROM area_id_seq;
 last_value
------------
         19
(1 row)

BEGIN;
INSERT INTO "area" ("name") VALUES ('Wirtschaft und Soziales');
INSERT INTO "allowed_policy"
  ("area_id", "policy_id", "default_policy") VALUES
  (20, 5, FALSE),
  (20, 6, FALSE),
  (20, 8, FALSE),
  (20, 9, FALSE);
INSERT INTO "delegation" ("truster_id", "trustee_id", "scope", "area_id")
  SELECT
    "truster_id", "trustee_id",
    'area'::"delegation_scope" AS "scope",
    20 AS "area_id"
  FROM "delegation"
  WHERE "area_id" IN (12,16)
  GROUP BY "truster_id", "trustee_id"
  HAVING count(1) = 2;
COMMIT;

BEGIN;
UPDATE "issue" SET "area_id" = 20 WHERE "area_id" IN (12,16);
UPDATE "area" SET "active" = FALSE WHERE "id" IN (12,16);
COMMIT;

-- Backup der Tabelle "issue" eingespielt, da nur geschlossene Issues auf neue Policies umgestellt werden sollten
\i /root/repair.sql

UPDATE "issue" SET "policy_id" = "backup"."policy_id" FROM "issue_backup" AS "backup" WHERE "issue"."id" = "backup"."id" AND "backup"."closed" NOTNULL;

DROP TABLE "issue_backup";

BEGIN;
SELECT * FROM "membership"
  WHERE "autoreject" = TRUE
  AND "area_id" IN (12,16)
  AND "member_id" IN (
    SELECT "member_id"
    FROM "membership"
    WHERE "area_id" IN (12,16)
    GROUP BY "member_id"
    HAVING count(1) = 2
  );

 area_id | member_id | autoreject
---------+-----------+------------
(0 rows)

INSERT INTO "membership" ("area_id", "member_id")
  SELECT 20 AS "area_id", "member_id"
  FROM "membership"
  WHERE "area_id" IN (12,16)
  GROUP BY "member_id"
  HAVING count(1) = 2;
COMMIT;

Hinweis: Im Rahmen des Datenbankeingriffes gelangte Thema #259 aufgrund zwischenzeitlich fehlender Mitglieder im Themenbereich "Wirtschaft und Soziales" in die Diskussionsphase. Da jedoch nach neuer Regelung nur 21 Mitglieder im Themenbereich eine Mitgliedschaft angemeldet haben, 8 Mitglieder Interesse am Thema haben, und die Initiative zu diesem Zeitpunkt 3 Unterstützer hat, ist die Statusänderung korrekt.

2010-03-15 15:45 UTC+1 (Jbe): Anlegen des Themenbereichs "Veröffentlichungen" mit eigenem Verfahren "Veröffentlichung" gemäß Abstimmungen in den Themen #232 und #251

liquid_feedback_be=> BEGIN;
BEGIN                      
liquid_feedback_be=> INSERT INTO "policy" (
liquid_feedback_be(>   "index", "name", "description",
liquid_feedback_be(>   "admission_time", "discussion_time", "verification_time", "voting_time",
liquid_feedback_be(>   "issue_quorum_num", "issue_quorum_den",
liquid_feedback_be(>   "initiative_quorum_num", "initiative_quorum_den",
liquid_feedback_be(>   "majority_num", "majority_den", "majority_strict" ) VALUES (
liquid_feedback_be(>     12, 'Veröffentlichung',
liquid_feedback_be(>     'Veröffentlichungen (Flyer, Plakate, Umfragen, Briefe, usw.)',
liquid_feedback_be(>     '45 hours', '30 hours', '15 hours', '60 hours',
liquid_feedback_be(>     30, 100, 10, 100, 2, 3, FALSE
liquid_feedback_be(>   );
INSERT 0 1
liquid_feedback_be=> SELECT lastval();
 lastval
---------
      12
(1 row)

liquid_feedback_be=> INSERT INTO "area" ("name", "description") VALUES (
liquid_feedback_be(>   'Veröffentlichungen',
liquid_feedback_be(>   'Veröffentlichungen (Flyer, Plakate, Umfragen, Briefe, usw.)');
INSERT 0 1
liquid_feedback_be=> SELECT lastval();
 lastval
---------
      21
(1 row)

liquid_feedback_be=> COMMIT;
COMMIT
liquid_feedback_be=> INSERT INTO "allowed_policy"
liquid_feedback_be->   ("area_id", "policy_id", "default_policy")
liquid_feedback_be->   VALUES (21, 12, TRUE);
INSERT 0 1

2010-03-22 (Jbe): Sperren bisher ungenutzter Invite-Codes, Ausspielen der genutzten Invite-Codes zwecks Abgleich mit der Mitgliederdatenbank und Erzeugen 500 neuer Invite-Codes (siehe Vorstandsbeschluß 2010-03-21)

liquid_feedback_be=> BEGIN;
BEGIN                      
liquid_feedback_be=> LOCK TABLE "member" IN EXCLUSIVE MODE;
LOCK TABLE                                                 
liquid_feedback_be=> LOCK TABLE "invite_code" IN EXCLUSIVE MODE;
LOCK TABLE                                                      
liquid_feedback_be=> \copy (SELECT "invite_code"."code", "invite_code"."used" NOTNULL AS "used", "member"."active" FROM "invite_code" LEFT JOIN "member" ON "invite_code"."member_id" = "member"."id" ORDER BY "invite_code"."code") TO '/tmp/invite_code_export.2010-03-22.csv' CSV HEADER                                                                                                           
liquid_feedback_be=> DELETE FROM "invite_code" WHERE "used" ISNULL;                                                               
DELETE 580                                                                                                                        
liquid_feedback_be=> COMMIT;                                                                                                      
COMMIT                                                                                                                            
liquid_feedback_be=> \i berlin/invitecodes.2010-03-22.sql
BEGIN
INSERT 0 1
INSERT 0 1
[...]
INSERT 0 1
INSERT 0 1
COMMIT

2010-03-26 12:19:31 UTC+01 (Jbe): Erzeugen weiterer 100 Invite-Codes

2010-04-09 04:24 UTC+02 (Jbe): Beendigen der Übergangsregelung bzgl. Anträgen zu Themenbereichen/Quoren/Fristen

liquid_feedback_be=> BEGIN;
BEGIN                      
liquid_feedback_be=> SELECT "id", "name" FROM policy WHERE id = 10;
 id |                    name
----+---------------------------------------------
 10 | Änderung von Themenbereichen/Quoren/Fristen
(1 row)

liquid_feedback_be=> UPDATE "policy" SET
liquid_feedback_be->   "name" = 'Änderung Themenbereiche/Quoren/Fristen (Übergangsregelung März 2010)',
liquid_feedback_be->   "active" = FALSE
liquid_feedback_be->   WHERE id = 10;
UPDATE 1
liquid_feedback_be=> INSERT INTO "policy" (
liquid_feedback_be(>     "index", "active", "name",
liquid_feedback_be(>     "admission_time", "discussion_time", "verification_time", "voting_time",
liquid_feedback_be(>     "issue_quorum_num", "issue_quorum_den", "initiative_quorum_num", "initiative_quorum_den",
liquid_feedback_be(>     "majority_num", "majority_den", "majority_strict"
liquid_feedback_be(>   ) VALUES (
liquid_feedback_be(>     13, TRUE, 'Änderung von Themenbereichen/Quoren/Fristen',
liquid_feedback_be(>     '8 days', '15 days', '8 days', '8 days',
liquid_feedback_be(>     10, 100, 10, 100,
liquid_feedback_be(>     2, 3, FALSE
liquid_feedback_be(>   );
INSERT 0 1
liquid_feedback_be=> UPDATE "allowed_policy" SET "policy_id" = 13 WHERE "area_id" = 3 AND "policy_id" = 10;
UPDATE 1
liquid_feedback_be=> COMMIT;
COMMIT

2010-04-16 19:55-20:20 UTC+02 (Jbe): Umsetzung der beschlossenen Initiative #585 in Thema #256

liquid_feedback_be=> BEGIN;
BEGIN                      
liquid_feedback_be=> SELECT "id", "name" FROM "area" WHERE "id" IN (5, 18, 19) ORDER BY "id";                                                                   
 id |                     name                                                  
----+----------------------------------------------                             
  5 | Organisation der Landesmitgliederversammlung
 18 | Organisatorisches
 19 | Aktionen
(3 rows)

liquid_feedback_be=> DELETE FROM "delegation" USING (
liquid_feedback_be(>     SELECT truster_id, trustee_id
liquid_feedback_be(>     FROM delegation
liquid_feedback_be(>     WHERE area_id IN (18, 5, 19)
liquid_feedback_be(>     GROUP BY truster_id, trustee_id
liquid_feedback_be(>     HAVING count(1) < 3
liquid_feedback_be(>   ) AS "subquery"
liquid_feedback_be->   WHERE "delegation"."area_id" = 18
liquid_feedback_be->   AND "delegation"."truster_id" = "subquery"."truster_id"
liquid_feedback_be->   AND "delegation"."trustee_id" = "subquery"."trustee_id";
DELETE 13
liquid_feedback_be=> SELECT * FROM "delegation" WHERE "area_id" = 18 ORDER BY "truster_id";
 id  | truster_id | trustee_id | scope | area_id | issue_id
-----+------------+------------+-------+---------+----------
 491 |        206 |        142 | area  |      18 |
(1 row)

liquid_feedback_be=> UPDATE "issue" SET "area_id" = 18 WHERE "area_id" IN (5, 19);
UPDATE 20
liquid_feedback_be=> UPDATE "area" SET "active" = FALSE WHERE "id" IN (5, 19);
UPDATE 2
liquid_feedback_be=> COMMIT;
COMMIT
liquid_feedback_be=> UPDATE "area" SET "name" = 'Satzung, Parteistruktur und GO der LMV' WHERE "id" = 4;
UPDATE 1
liquid_feedback_be=> UPDATE "area" SET "description" = 'Alle Anträge, die die Satzung, die Parteistruktur oder die Geschäftsordnung der Landesmitgliederversammlung betreffen, müssen in diesem Themenbereich diskutiert und abgestimmt werden.' WHERE "id" = 4;
UPDATE 1

2010-04-22 03:57 UTC+02 (Jbe): Umsetzung der beschlossenen Initiative #572 in Thema #270

liquid_feedback_be=> UPDATE "area" SET "name" = 'Grundrechte, Datenschutz und Innere Sicherheit' WHERE "id" = 11 AND "name" = 'Bürgerrechte, Datenschutz und Sicherheitspolitik';
UPDATE 1

2010-04-22 12:46 UTC+02 (Jbe): Deaktivieren alter (bereits nicht mehr auswählbarer) Regelwerke

liquid_feedback_be=> SELECT id, name FROM "policy" WHERE "id" IN (1,2,3) ORDER BY "id";
 id |               name
----+-----------------------------------
  1 | Eilantrag (ca. 4-5 Tage)
  2 | Standardverfahren (ca. 1 Monat)
  3 | Langzeitdiskussion (ca. 6 Monate)
(3 rows)

liquid_feedback_be=> UPDATE "policy" SET "active" = FALSE WHERE "id" IN (1,2,3);
UPDATE 3

2010-05-05 22:00 UTC+02 (Björn): Neue Nutzungsbedingungen

delete from session;
insert into setting select id, 'usage_terms_not_accepted', '1' from member where active;

2010-06-09 19:50 UTC+02 (Jbe): Sperren von 10 Invite-Codes gemäß Anweisung durch Vorstand

liquid_feedback_be=> BEGIN;
BEGIN                      
liquid_feedback_be=> UPDATE "member" SET "active"=FALSE FROM "invite_code"
liquid_feedback_be->   WHERE "invite_code"."code" IN (                    
liquid_feedback_be(>     'd[...]',                      
[...]               
liquid_feedback_be(>     '9[...]'
liquid_feedback_be(>   ) AND "member"."id" = "invite_code"."member_id";
UPDATE 3
liquid_feedback_be=> DELETE FROM "invite_code"
liquid_feedback_be->   WHERE "code" IN (
liquid_feedback_be(>     'd[...]',                      
[...]               
liquid_feedback_be(>     '9[...]'
liquid_feedback_be(>   ) AND "member_id" ISNULL;
DELETE 7
liquid_feedback_be=> UPDATE "invite_code"
liquid_feedback_be->   SET "comment"='Löschung 2010-06-09 lt. E-Mail <4C0E1E1F.1060809@[...]>'
liquid_feedback_be->   WHERE "code" IN (
liquid_feedback_be(>     'd[...]',                      
[...]               
liquid_feedback_be(>     '9[...]'
liquid_feedback_be(>   );
UPDATE 3
liquid_feedback_be=> COMMIT;
COMMIT

2010-06-14 16:00 UTC+02 (Jbe): Einstellen einer notwendigen 2/3-Mehrheit bei Schnellverfahren

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> SELECT "id", "name", "majority_num", "majority_den", "majority_strict"
liquid_feedback_be->   FROM "policy" WHERE "name" = 'Schnellverfahren';
 id |       name       | majority_num | majority_den | majority_strict 
----+------------------+--------------+--------------+-----------------
  9 | Schnellverfahren |            1 |            2 | t
(1 row)

liquid_feedback_be=> UPDATE "policy" SET
liquid_feedback_be->   "majority_num" = 2,
liquid_feedback_be->   "majority_den" = 3,
liquid_feedback_be->   "majority_strict" = FALSE
liquid_feedback_be->   WHERE "id" = 9;
UPDATE 1
liquid_feedback_be=> COMMIT;
COMMIT

2010-06-24 21:15 UTC+02 (Bjoern): Sperrung von Accounts, die die Nutzungsbedingungen nicht anerkannt haben

local function member_get_setting(member, key)
  local setting = Setting:new_selector()
    :add_where{ "member_id = ?", member.id }
    :add_where{ "key = ?", key }
    :optional_object_mode()
    :exec()
  return setting
end

local function autopill(member)
  -- rename member to random name, like Pirat_58mo4s4
  member.name = "Pirat_" .. multirand.string(6, '23456789bcdfghjkmnpqrstvwxyz')
  -- deactive member
  member.active = false
  member:save()
  -- delete member related data
  db:query{ "SELECT delete_member_data(?)", member.id }
  -- delete member history entries
  db:query{ "DELETE FROM member_history WHERE member_id = ?", member.id }
end

db:query("BEGIN")

local members = Member:new_selector()
  :add_where("active")
  :exec()

local old_not_accepted = 0
local old_accepted = 0
local new = 0

for i, member in ipairs(members) do

  if member_get_setting(member, "usage_terms_not_accepted") then
    old_not_accepted = old_not_accepted + 1
    autopill(member)
  elseif member_get_setting(member, "piraten_nutzungsbedingungen_v3_akzeptiert") then
    old_accepted = old_accepted + 1
  else
    new = new + 1
  end

end

print("Alter Account und neue Nutzungsbedingungen NICHT akzeptiert: " .. tostring(old_not_accepted))

print("Alter Account und neue Nutzungsbedingungen akzeptiert: " .. tostring(old_accepted))

print("Neuer Account: " .. tostring(new))

db:query("COMMIT")

Ergebnis:

Alter Account und neue Nutzungsbedingungen NICHT akzeptiert: 227
Alter Account und neue Nutzungsbedingungen akzeptiert: 230
Neuer Account: 60

2010-07-07 20:11 UTC+02 (Jbe, Simon): Einrichtung des neuen Themenbereichs "Geschlechter- und Familienpolitik"

Umsetzung des Beschlusses in https://lqpp.de/be/initiative/show/705.html

liquid_feedback_be=> begin;
BEGIN
liquid_feedback_be=> INSERT INTO "area" ("name") VALUES ( 'Geschlechter- und Familienpolitik' ) RETURNING area.id;
 id 
----
 22
(1 row)

INSERT 0 1
liquid_feedback_be=> INSERT INTO "allowed_policy" ("area_id", "policy_id") VALUES  (22,5), (22,6), (22,8), (22,9);
INSERT 0 4
liquid_feedback_be=> commit;
COMMIT

2010-07-26 21:34 UTC+02 (Bjoern): Erzeugen weiterer 200 Invite-Codes

2010-08-11 23:10 UTC+02 (Bjoern): Loeschung eines Invite-Codes

Da den Administratoren eine Veroeffentlichung eines gueltigen, unbenutzen Invite-Codes bekannt geworden ist, wurde dieser aus der Liste der gueltigen Codes geloescht und der Vorstand in Kenntnis gesetzt.

2010-08-31 23:06 UTC+02 (Jbe): Sperrung ausgetretener Mitglieder (incl. Löschung der Profildaten bzw. Sperrung Invite-Codes

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> SELECT delete_member(member_id)
liquid_feedback_be->   FROM invite_code WHERE code IN (
liquid_feedback_be(>     'v[...]',
liquid_feedback_be(>     'n[...]',
liquid_feedback_be(>     'k[...]',
liquid_feedback_be(>     'd[...]',
[... insgesamt 46 Codes ...]
liquid_feedback_be(>     'y[...]',
liquid_feedback_be(>     'y[...]'
liquid_feedback_be(>   );
 delete_member 
---------------
[...]
(19 rows)

liquid_feedback_be=> DELETE FROM invite_code
liquid_feedback_be->   WHERE used ISNULL AND member_id ISNULL AND code IN (
liquid_feedback_be(>     'v[...]',
liquid_feedback_be(>     'n[...]',
liquid_feedback_be(>     'k[...]',
liquid_feedback_be(>     'd[...]',
[... insgesamt 46 Codes ...]
liquid_feedback_be(>     'y[...]',
liquid_feedback_be(>     'y[...]'
liquid_feedback_be(>   );
DELETE 9
liquid_feedback_be=> COMMIT;
COMMIT

2011-03-10 16:58 Einfrieren eines Themas nach Beschluss des Landesvorstands (Simon)

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> UPDATE "issue" SET half_frozen = now() WHERE id=481;
UPDATE 1
liquid_feedback_be=> COMMIT;
COMMIT

2011-03-14 00:03 Einleiten einer Abstimmung nach Beschluss des Landesvorstands (Simon)

BEGIN;
SELECT manual_freeze(481);
UPDATE issue SET voting_time='4 days 18 hours' WHERE id=481;

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> SELECT manual_freeze(481);
 manual_freeze 
---------------
 
(1 row)

liquid_feedback_be=> UPDATE issue SET voting_time='4 days 18 hours' WHERE id=481;
UPDATE 1
liquid_feedback_be=> COMMIT;
COMMIT

2011-03-15 16:44 Korrektur des letzten Eingriffs (Simon)

liquid_feedback_be=> BEGIN;
BEGIN
liquid_feedback_be=> UPDATE issue SET voting_time='4 days 20 hours' WHERE id=481;
UPDATE 1
liquid_feedback_be=> COMMIT;
COMMIT

2011-06-02 13:30 Änderung von Regelwerken entsprechend Initiative 1048 (Simon)

INSERT INTO "policy" (
 "index", "name", "description",
 "admission_time", "discussion_time", "verification_time", "voting_time",
 "issue_quorum_num", "issue_quorum_den",
 "initiative_quorum_num", "initiative_quorum_den",
 "majority_num", "majority_den", "majority_strict" ) VALUES (
   14, 'Satzungsänderung (komplexe Initiative)',
   'Satzungsänderungsantrag in mehreren getrennt eingestellten Teilen
zur Vorlage bei der nächst möglichen Landesmitgliederversammlung',
   '15 days', '9 weeks', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 ), (
   15, 'Programmänderung (komplexe Initiative)',
   'Antrag zur Änderung des Parteiprogramms (Landesprogramm) in
mehreren getrennt eingestellten Teilen zur Vorlage bei der nächst
möglichen Landesmitgliederversammlung',
   '15 days', '9 weeks', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 ), (
   16, 'Wahlprogramm (komplexe Initiative)',
   'Antrag auf Beschluss/Änderung des Wahlprogramms in mehreren
getrennt eingestellten Teilen zur Vorlage bei der nächst möglichen
Landesmitgliederversammlung',
   '15 days', '9 weeks', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 ), (
   17, 'Satzungsänderung (Einzelbestimmungen)',
   'Satzungsänderungsantrag in einem einzelnen Punkt oder als Teil
einer komplexen Initiative zur Vorlage bei der nächst möglichen
Landesmitgliederversammlung',
   '15 days', '30 days', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 ), (
   18, 'Programmänderung (Einzelforderungen und -module)',
   'Antrag zur Änderung des Parteiprogramms (Landesprogramm) in einem
einzelnen Punkt oder als Teil einer komplexen Initiative zur Vorlage bei
der nächst möglichen Landesmitgliederversammlung',
   '15 days', '30 days', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 ), (
   19, 'Wahlprogramm (Einzelforderungen und -module)',
   'Antrag auf Beschluss/Änderung des Wahlprogramms in einem einzelnen
Punkt oder als Teil einer komplexen Initiative zur Vorlage bei der
nächst möglichen Landesmitgliederversammlung',
   '15 days', '30 days', '15 days', '15 days',
   10, 100, 10, 100, 2, 3, FALSE
 );

UPDATE "allowed_policy" SET "policy_id" = 17 WHERE "policy_id" = 4;

UPDATE "allowed_policy" SET "policy_id" = 18 WHERE "policy_id" = 5;

UPDATE "allowed_policy" SET "policy_id" = 19 WHERE "policy_id" = 6;

INSERT INTO "allowed_policy" ("area_id", "policy_id") VALUES (4,14),
(9,15), (10,15), (11,15), (13,15), (14,15), (15,15), (17,15), (20,15), (22,15), (10,16), (11,16), (13,16), (14,16), (15,16), (17,16), (20,15), (22,16);

2011-08-07 17:38 Sperrung von 6 Accounts und Löschung zwei weiterer Invitecodes, die im Morpheusprozess neu erzeugt wurden (Neueinladung ist erfolgt) (Simon)

2011-08-13 17:24 Veränderung der Laufzeit eines Themas im Sandkasten nach Vorstandsbeschluss (Simon)

UPDATE issue SET discussion_time='41 days', verification_time='4 days', voting_time='3 days 20 hours 47 minutes' WHERE id=546;

2011-09-07 17:46 Sperrung der durch den Morpheusprozess ungültig gewordenen Invitecodes (Florian & Torben)