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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
m4_define([CHECK_UPDATE],
[AT_SETUP([UPDATE $1 with $2])
AT_DATA([a.data], [dnl
1aB
8aM
3aE
5aG
0aA
5aH
6aI
7aJ
2aD
7aK
1aC
7aL
4aF
])
AT_DATA([b.data], [dnl
1bN
3 O
4bP
6bQ
7bR
9bS
])
m4_if([$1], [sav],
[AT_DATA([save-a.sps], [dnl
DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).
SAVE OUTFILE='a.sav'.
])
AT_CHECK([pspp -O format=csv save-a.sps])])
m4_if([$2], [sav],
[AT_DATA([save-b.sps], [dnl
DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).
SAVE OUTFILE='b.sav'.
])
AT_CHECK([pspp -O format=csv save-b.sps])])
AT_DATA([update.sps], [dnl
m4_if([$1], [sav], [], [DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).])
m4_if([$2], [sav], [], [DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).])
UPDATE
m4_if([$1], [sav], [FILE='a.sav'], [FILE=*]) /IN=InA /SORT
m4_if([$2], [sav], [FILE='b.sav'], [FILE=*]) /IN=InB /RENAME c=d
BY a.
LIST.
])
cat update.sps
AT_CHECK([pspp -O format=csv update.sps], [0], [dnl
update.sps:6: warning: UPDATE: Encountered 3 sets of duplicate cases in the master file.
Table: Data List
a,b,c,d,InA,InB
0,a,A,,1,0
1,b,B,N,1,1
1,a,C,,1,0
2,a,D,,1,0
3,a,E,O,1,1
4,b,F,P,1,1
5,a,G,,1,0
5,a,H,,1,0
6,b,I,Q,1,1
7,b,J,R,1,1
7,a,K,,1,0
7,a,L,,1,0
8,a,M,,1,0
9,b,,S,0,1
])
AT_CLEANUP
])
AT_BANNER([UPDATE])
CHECK_UPDATE([sav], [sav])
CHECK_UPDATE([sav], [inline])
CHECK_UPDATE([inline], [sav])
|