File: testMacro.sql

package info (click to toggle)
ion 3.2.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 23,700 kB
  • ctags: 10,983
  • sloc: ansic: 141,798; sh: 22,848; makefile: 7,818; python: 1,638; sql: 311; perl: 197; awk: 178; xml: 50; java: 19
file content (60 lines) | stat: -rw-r--r-- 2,477 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Use dtnmp;
-- Make a Control MID
-- INSERT INTO dbtMIDs(Attributes,Type,Category,IssuerFlag,TagFlag,OIDType,IssuerID,OIDValue,TagValue) VALUES(0,b'01',b'00',b'0',b'0',0,0,'092A030102017A010300',0);

INSERT INTO dbtMIDs(Attributes,Type,Category,IssuerFlag,TagFlag,OIDType,IssuerID,OIDValue,TagValue) VALUES(0,b'01',b'00',b'0',b'0',b'01',0,'082B06010203010301',0);


SET @MIDID := LAST_INSERT_ID();


-- Make a MID Collection
INSERT INTO dbtMIDCollections(Comment) VALUES('m1');
SET @MCID := LAST_INSERT_ID();

INSERT INTO dbtMIDCollection(CollectionID,MIDID,MIDOrder) VALUES(@MCID,@MIDID,1);

-- Define a Control
INSERT INTO dbtMessagesControls(Type,Start,Periods,Predicate,Count,Collection) VALUES(3,0,0,0,0,@MCID);

-- Define Data Collection
INSERT INTO dbtDataCollections(comment) VALUES('c1');
SET @DCID := LAST_INSERT_ID();

-- Define Data Collection Entry
INSERT INTO dbtDataCollection(CollectionID,DataLength,DataBlob,DataOrder) VALUES(@DCID,11,'ipn:21404.1',1);

-- Enter info into ParameterizedOIDs
INSERT INTO dbtMIDParameterizedOIDs(MIDID,DataCollectionID) VALUES(@MIDID,@DCID);   

-- Register an agent
INSERT INTO dbtRegisteredAgents(AgentID) VALUES('ipn:21404.1');

-- Create an outgoing Message Group with the Control from above
INSERT INTO dbtOutgoing(CreatedTS,ModifiedTS,State) VALUES(NOW(),NOW(),0);
SET @v1 = LAST_INSERT_ID();
SELECT @v2 := ID FROM lvtMessageTablesList WHERE TableName='dbtMessagesControls';
SELECT @v3 := MAX(ID) FROM dbtMessagesControls;

INSERT INTO dbtOutgoingMessages(OutgoingID,MessagesTableID,MessagesTableRowID) VALUES(@v1,@v2,@v3);

-- Retrieve unprocessed (READY) Outgoing Messages
SELECT @MessageGroupID := dbtOutgoing.ID, @TableName := lvtMessageTablesList.TableName, @TableRowID := dbtOutgoingMessages.MessagesTableRowID FROM dbtOutgoing, dbtOutgoingMessages, lvtMessageTablesList WHERE dbtOutgoing.State=0 AND dbtOutgoing.ID=dbtOutgoingMessages.OutgoingID AND lvtMessageTablesList.ID=dbtOutgoingMessages.MessagesTableID;

-- Give a sender for the (READY) Outgoing Messages
SELECT @sender := ID FROM dbtOutgoing WHERE dbtOutgoing.State=0;
INSERT INTO dbtOutgoingRecipients(OutgoingID,AgentID) VALUES(@sender,1);

-- Retrieve the contents of the table listed as an Outgoing Message
SET @s = CONCAT('select * from ', @TableName, ' where ID = ', @TableRowID); 
PREPARE stmt1 FROM @s; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1;


-- Tell Manager we are ready to process.
UPDATE dbtOutgoing SET State = State + 1 WHERE ID = @v1;