-
Notifications
You must be signed in to change notification settings - Fork 16
/
ChangeLog.txt
1260 lines (1169 loc) · 60.4 KB
/
ChangeLog.txt
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Change 1.8.0 => 1.9.0 by M.E.
* Wed Sep 16, 2009
Update legal text. (199)
Change 1.8.0b1 => 1.8.0 by M.E.
* Thu Jun 11, 2009
Remove +734 status check from Trade-Order harness code. (TPCE-76)
Replace some tabs with spaces.
Bless as 1.8.0
Change 1.7.0 => 1.8.0b1 by M.E.
* Fri May 15, 2009
Use INT64 in EGenLoader to represent values with type S_COUNT_T. (TPCE-61)
Eliminate duplicate code in the flat file loader to generate filenames. (TPCE-62)
Change CAddressTable to not cache address IDs for exchanges or companies. (TPCE-67)
Fix improper constant in Data-Maintenance input structure. (TPCE-68)
Fix CDM::DoCleanupTxn() input generation for start_trade_id. (TPCE-71)
Restructure locking/threading classes and implement threading on Windows. (TPCE-72)
Correct type of 734 and 1031 status checks (warnings, not errors). (TPCE-75)
Change 1.6.1b2 => 1.7.0 by M.E.
* Thu Nov 20, 2008
Add new VS2008 project files. (TPCE-69)
Bless as 1.7.0
Change 1.6.1b1 => 1.6.1b2 by M.E.
* Wed Oct 29, 2008
Change Customer-Position structures to use a single #define for the number of accounts. (TPCE-49)
Change Customer-Position harness code to correct error in hist_len status check. (TPCE-59)
Remove max_send_len from TxnHarnessStructs.h. (TPCE-60)
Change 1.6.0 => 1.6.1b1 by M.E.
* Tue Oct 21, 2008
Resolve CSecurityFile bug with extended securities. (TPCE-64)
Add unit test for CSecurityFile. (TPCE-64)
Resolve ReadRowFunctions_sscanf.cpp bug with TRADE_TYPE table. (TPCE-65)
Change 1.6.0b3 => 1.6.0 by M.E.
* Thu Sep 11, 2008
Resolve Windows portability issue in 64-bit integer conversions. (TPCE-43)
Partially resolve C/C++ language issues on some platforms. (TPCE-24)
Bless 1.6.0b3 as 1.6.0
Change 1.6.0b2 => 1.6.0b3 by M.E.
* Wed Aug 6, 2008
Reduce max_acct_len from 20 to 10. (TPCE-48)
Reduce the size of various name-related strings. (TPCE-57)
Zero out time portion of settlement cash due dates. (TPCE-58)
Change 1.6.0b1 => 1.6.0b2 by M.E.
* Fri Jul 11, 2008
Numerous improvements and fixes to status checking code. (TPCE-51)
Elimiate "list_len == 0" status check from Broker-Volume. (TPCE-56)
Changes 1.5.1 => 1.6.0b1 by M.E.
* Tue Jun 10, 2008
Fix portability problems with integer random number generation. (TPCE-45)
Fix portability problems with floating-point random number generation. (TPCE-52)
Cleanup CRandom by removing float methods and adding negative exponential
distribution code. (TPCE-53)
Cleanup CMoney by upgrading base type from 'int' to 'INT64' (TPCE-54)
Cleanup CDateTime by adding RoundToNearestNsec method and move various
constants from MiscConsts.h to here. (TPCE-55)
Add status checking code to EGenTxnHarness. (TPCE-51)
Changes 1.5.1b1 => 1.5.1 by M.E.
* Thu Apr 17, 2008
Bless 1.5.1b1 as 1.5.1
Changes 1.5.0 => 1.5.1b1 by M.E.
* Thu Mar 20, 2008
Fix compile error in ODBC Loader code introduced by TPCE-44. (TPCE-46)
Fix scaling security bug introduced by TPCE-37. (TPCE-47)
Add VS2008 project/solution files in prj/VS2008.
Changes 1.5.0b2 => 1.5.0 by M.E.
* Fri Feb 29, 2008
Bless 1.5.0b2 as 1.5.0
Changes 1.5.0b1 => 1.5.0b2 by M.E.
* Mon Feb 10, 2008
Last set of compiler warning cleanups (TPCE-28, TPCE-35)
Enable caching code by default (TPCE-40)
Make C_DOB generation repeatable. (TPCE-41)
Fix segfault in ReadRowFunctions_sscanf on Solaris. (TPCE-42)
Remove obsolete code for NULL security high/low values (TPCE-44)
Changes 1.4.0 => 1.5.0b1 by M.E.
* Wed Jan 30, 2008
Merge in all changes from 1.3.1b3, including bug fixes 25, 26, 28, 29, 30, 31, 33, 34, 35
Optimize GenerateTradeCommission(). (TPCE-37)
Eliminate redundant generation of C_TAX_ID in CCustomerTable. (TPCE-37)
Add buffering support to the flat file loader. (TPCE-39)
Remove compile-time knob to enable caching code. (TPCE-40)
Fix comment typo in TxnHarnessStructs.h.
Changes 1.3.1b4 => 1.4.0 by M.E.
* Mon Dec 10, 2007
Bless 1.3.1b4 as 1.4.0
Changes 1.3.1b3 => 1.3.1b4 by M.E.
* Fri Nov 16, 2007
Revert to 1.3.0 plus bug fixes 19, 23, 27 and 36.
Remainder of changes done in this cycle will be
carried-forward into the next release cycle.
Changes 1.3.1b2 => 1.3.1b3 by M.E.
* Fri Nov 16, 2007
Fix bugs introduced in 1.3.1b2:
Unhandled exception in ODBC loader code. (TPCE-27)
Segfault in caching code. (TPCE-29)
Improper DateTime::ToString() output. (TPCE-33)
Changes 1.3.1b1 => 1.3.1b2 by M.E.
* Wed Nov 8, 2007
Change how #ifdefs are handled in EGenLoader when overriding default
values for boolean (and date/time) formatting. (TPCE-27)
Numerous cleanups for compiler warnings. (TPCE-28, TPCE-35)
Add caching support to EGenLoader for growing tables. (TPCE-29)
Replace unsafe string operations (strcat, strcpy, sprintf) with
safe versions (strncat, strncpy, snprintf). (TPCE-33)
Remove unused TLastPrice structure from TxnHarnessStructs.h. (TPCE-34)
Update transaction harness to pass is_cash[] back to the driver
from Trade-Lookup and Trade-Update. (TPCE-36)
Changes 1.3.0 => 1.3.1b1 by M.E.
* Fri Sep 14, 2007
Update flat_in/ZipCodes.txt to add missing leading zero for east-coast
US Zipcodes (TPCE-19)
Initialize hist_len to 0 in Customer-Position Frame 3. (TPCE-23)
Ensure that all instances of strncpy copy the full string, including
any terminating NULL that may exist. (TPCE-25)
Provide a #define to toggle between the istream and sscanf versions
of ReadRowFunctions. (TPCE-26)
Provide #defines for EGenLoader to specify tokens to use for TRUE and
FALSE boolean values in the flat file loader. (TPCE-27)
Fix extern "C" linkage for EGenVersion.cpp. (TPCE-30)
Replace hard-coded status/trade type constants with references to
appropriate flat-file rows in CMEETickerTape. (TPCE-31)
Changes 1.3.0b3 => 1.3.0 by C.R.
* Mon Sep 10, 2007
Bless 1.3.0b3 as 1.3.0
Changes 1.3.0b2 => 1.3.0b3 by C.R.
* Mon Sep 10, 2007
Fixed header inc/win/error.h to use = "" for constructor of
CODBCERR vs = NULL. (TPCE-20)
Fixed header inc/win/ODBCNewsItemLoad.h to bind NI_ITEM to type
SQLIMAGE vs SQLTEXT. (TPCE-22)
Changes 1.3.0b1 => 1.3.0b2 by C.R.
* Fri Aug 24, 2007
Fixed header issue with snprintf and strtoull by adding
stdio.h and stdlib.h in the appropriate places (TPCE-9)
Fixed namespace issues in threading.cpp and strutil.cpp (TPCE-9)
Changes 1.2.1b2 => 1.3.0b1 by C.R.
* Thu Aug 23, 2007
Add load_unit accessed to output of Trade Result (TPCE-17)
Update cST_NAME_len and cTT_NAME_len to match Spec (TPCE-18)
Fixed a bug related to header file changes for
src/ReadRowFunctions_sscanf.cpp (TPCE-9)
Changes 1.2.1b1 => 1.2.1b2 by C.R.
* Wed Jun 27, 2007
Move consts that were in EGenTables_stdafx.h -> MiscConsts.h (TPCE-9)
DM constructor bug (TPCE-12)
CE logging bug for non-partitioned CEs (TPCE-13)
Miscellaneous header cleanup related to v1.2.1b1 changes (TPCE-9)
Make reference files the v1.2.0 files (TPCE-16)
Remove unused header FinalTransform.h (TPCE-15)
Update ChangeLog.txt to reflect recent bug fixes (TPCE-14)
Changes 1.2.0 => 1.2.1b1 by C.R.
* Wed Jun 20, 2007
Cleanup headers in inc directory so they are all self-contained. Each
header can be compiled independently. Also used C++ header
include style for headers like stdio.h, stdlib.h, etc. (TPCE-9)
Changes 1.1.1b4 => 1.2.0 by C.R.
* Wed Jun 13, 2007
Bless 1.1.1b4 as 1.2.0
Changes 1.1.1b3 => 1.1.1b4 by C.R.
* Thu May 31, 2007
Removed "const" keyword from return type of the GetRow function in the
classes CDailyMarketTable and CFinancialTable [CR] (TPCE-11)
Changes 1.1.1b2 => 1.1.1b3 by M.E.
* Thu May 24, 2007
Modified CLastTradeTable and CNewsItemAndXRefTable classes to:
- use provided intial trade days value instead of constant [ME] (TPCE-10)
- adjust for weekends when calculating last day of initial trades [ME] (TPCE-10)
Added Un*x Makefile for TestHarness test suite [ME] (TPCE-10)
Added EULA in HTML and text format [ME]
Changes 1.1.1b1 => 1.1.1b2 by S.V.
* Tue May 22, 2007
Modified table classes to be repeatable (InitNextLoadUnit function) [SV] (TPCE-10)
Modified CMEESecurity to reset the seed at each load unit boundary [SV] (TPCE-10)
Added an option for CCE to zero transaction input buffer [SV] (TPCE-10)
Added new directory TestHarness with 2 test suites (one for loading, one for runtime) [SV] (TPCE-10)
Changes 1.1.0 => 1.1.1b1 by C.C.
* Thu May 3 13:34:47 CDT 2007
Created unittest directory [CC]
Added CheckValid and CheckCompliant [CC] (TPCE-7)
Change defaults for CDriverGlobalSettings [CC] (TPCE-7)
Removed dead trade_id indicator variables [CC] (TPCE-8)
Data Maintenance Now logs settings [SV] (TPCE-7)
CE now logs partition settings [ME] (TPCE-7)
Constructors report if they are valid for publication [ME,SV] (TPCE-7)
CE Logs RNG Seeds [SV] (TPCE-7)
CETxnMixGenerator Initialize doesn't UpdateTunables (done in CE) [SV] (TPCE-7)
CETxnInputGenerator Initialize doesn't UpdateTunables (done in CE) [SV] (TPCE-7)
Protect copy of m_DriverCETxnSettings [SV]
Changes 1.0.1b4 => 1.1.0 by C.C.
* Wed Mar 28 12:14:43 CDT 2007
Bless 1.0.1b4 as 1.1.0
Changes 1.0.1b3 => 1.0.1b4 by C.C.
Change comment in HoldingsAndTradeTable.h [CR]
Fixed database generation broken by TPCE-3 fix [CR,ME,SV] (TPCE-3)
Changes 1.0.1b2 => 1.0.1b3 by C.C.
* Wed Mar 28 12:14:43 CDT 2007
Fix memory leak and delete type in CCEMixTxnGenerator [CC] (TPCE-6)
Explictly cast from 64 to 32 bits in ComputeNumSecurities [SV] (TPCE-2)
Changes 1.0.1b1-pre1 => 1.0.1b2 by C.C.
* Wed Mar 21 12:35:20 CDT 2007
Use modulus for ComputeNumSecurities() [ME] (TPCE-2)
Removed ChangeLog.doc
Changes 1.0.0 => 1.0.1b1-pre1 by C.C.
* Wed Mar 20 16:22:00 CDT 2007
Fix input parameters to Trade Cleanup [CC] (TPCE-1)
Fix EX_NUM_SYMB values [ME] (TPCE-2)
Fix end date for trade lookup/update [CR,CC] (TPCE-3)
Fix trade order to return missing values [CC] (TPCE-4)
Remove unused special country tax rate code [CC] (TPCE-5)
Changes 3.17 Beta 3 => 1.0.0 by C.C.
Change version number string output.
Fix ident shift issue with max_acct_id.
Changes 3.17 Beta 3 => 3.17 by C.C.
Remove unused include file Queue.h as recommended by Sergey.
Changes 3.17 Beta 2 => 3.17 Beta 3 by C.C.
Move broker volume back to sequential ids.
Exception handling is now throw by value catch by reference.
Added FLAT_IN_PATH, FLAT_OUT_PATH, CUSTOM_LOAD_INCLUDE, DEFAULT_LOAD_TYPE
#defines for EGenLoader.
EGenLoader guard -l arguments with appropriate defines.
Changes 3.17 Beta 1 => 3.17 Beta 2 by C.C.
Change #includes in TxnHarnessDBInterface.h
EGenValidate Enhancements
Use direct random number generation rather than customer selection
Early termination of run when a "passing" run is found
Removed -L and -f parameters
Progress meter now displays maximum standard deviation and elapsed time
Some type cleanups
Say tpsE rather than TPSE
Changes 3.16 => 3.17 Beta 1 by M.E.
Rename C<txn>Interface virtual classes to C<txn>DBInterface.
Update CTxnHarness<txn> to take a pointer to the sponsor's implementation
of C<txn>DBInterface.
Remove Cleanup method from all CTxnHarness<txn> classes.
Update EGenValidate to use "naive" method of calculating the standard
deviation.
Update EgenValidate to always require that the standard deviation value
(from the run) is passed in, so that it will generate pass/fail output
(as required by the spec).
Changes 3.16 Beta 3 => 3.16 by M.E.
Rename dbinterface to TxnHarnessDBInterface.h, and remove all forward
references.
Remove ^M from BaseLogger.cpp, Random.cpp, BaseLogger.h, Random.h.
Update all TxnHarness<txn_name>.h files to #include
"TxnHarnessDBInterface.h" and to reference C<txn>Interface virtual
classes instead of C<txn>DB classes.
Update Makefile to remove reference driver rules.
Update Makefile to update EGenLogger_src rule to include BaseLogger.cpp.
Remove all of the [AS]ValueFor* from DriverParamStructs.h values as they
are unused.
Update MiscConsts.h with A/S NURand changes as discussed and tested by
subcommittee.
Add acct_id field to TTradeResultTxnOutput structure in TxnHarnessStructs.h
Set acct_id field in TTradeResultTxnOutput structure in
TxnHarnessTradeResult.h
Update EGenVersion.cpp appropriately.
Changes 3.16 beta 2 =>3.16 beta 3 by S.V.
Added _CRT_SECURE_NO_DEPRECATE define to Windows project files to suppress
warnings in Visual Studio 2005.
Added odbc32.lib to EGenLoader project file and excluded uuid.lib from
EGenValidate to be able to build on Visual Studio 2005 Express and
Visual Studio 2005.
Changes 3.16b1 => 3.16b2 and two thirds by C.C.
Some changes to make things compile for Microsoft:
ProgressMeter now uses CDateTime
DateTime.h includes EgenStandardTypes.h
remove unused pthread_t from threading_single.h
Changes 3.16b1 => 3.16b2 and one half by C.C.
Add comment to ReadRowFunctions_sscanf.cpp
Use separated BaseLogger.h and .cpp files
Changed Trade{Lookup,UPdate}MaxRows in MiscConsts.h from 30 to 20
EGenValidate now computes tpse based on customers unless explicitly
overriden.
Fixed indention in some files which were previously using 8 space indents.
Mark parameters in ref/dbconnection_stub.cpp as unused.
Fixed some other errors and warnings Matthew Emmerton found.
Changes 3.16b1 => 3.16b2 by C.C.
Added revamped EGenValidate
Added Reference driver
Added ReadRowFunctions_sscanf.cpp for people with slow iostream
implementations
Reformatted *.h and *.cpp files to spaces (from 4 space tabs)
Removed trailing spaces and tabs.
Made a few input parameters const.
CInputFiles initializes values to NULL
Cleaned up lots of errors and warnings noted by g++ using
-Wall -Wextra -Wfloat-equal -Wundef -Wendif-labels -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion
-Wsign-compare -Wredundant-decls -Winline
and most errors from Solaris SunStudio 11 +w2
These changes included
Changing GetRow to GetRowByIndex for CustomerTaxRateTable
Removed unused parameter for CETxnInputGenerator::Initialize and
MEESecurity::Init
Moved szDriverTypeNames into EGenLogFormatterTab.cpp, probably better
somewhere else?
changed type of InitialTradePopulationBaseFraction to INT32
Changes 3.15 beta 2 => 3.16 by S.V.
Rolled in addressed comments from Matt Emmerton:
1314 "Ensure consistent alignment of elements in TxnHarness
structures"
1321 "Remove broker-volume partitioning"
1333 "Make FlatFileLoader output milliseconds for timestamps"
1386 "Tie MEETicker limit-trigger/artificial trade generation
limits to the value of max_feed_len"
???? Performance improvement for TradeGen (CDateTime in
THoldingInfo).
Implemented the following comments:
1271 "EGEN transaction names and parameters should match spec"
(nothing to do here)
1274 "EGen CETxnInputGenerator::UpdateTunables" (was addressed in
1273)
1292 "IDENT_T and TRADE_T in EGen"
1299 "Trade-Result Frame 3 parameters"
1302 "Trade-Order harness cleanup"
1325 "Should use iAbortTrade constant instead of 101 literal"
1346 "Market-Watch NURnd start_day NURnd Input"
1401 "Broker-Volume pseudo-code"
Fixed a bug in CCustomerSelection::GenerateRandomCustomer that
resulted in out-of-range customers returned when not using
partitioning.
Changes 3.15 beta 1 => 3.15 beta 2 by S.V.
Implemented the following public review comments:
1260 "CDateTime::SetToCurrent -- platform specific code"
1273 "New "end_trade_dts" Input for Trade-Lookup & Trade-Update"
1303 "Comment EGen Code" (commented EGenBaseLoader,
EGenDriverCELib (my files), EGenGenerateAndLoad, and
EGenTables up to CustomerAccountsAndPermissionsTable.h)
1310 "Data-Maintenance Transaction" (items 1, 2, 3 and 5)
1312 "Different logs for different instances of EGenLoader"
1318 "Customer partitioning and Broker Volume"
1323 "Virtual Destructors in EGen"
Changes 3.14 =>3.15 beta 1 by S.V.
Implemented public review comments 1263, 1264, 1266, 1267, 1268, 1269,
1272, 1275, 1278, 1279, 1284, 1285, 1287, 1290, 1298, 1300, 1304, 1320.
Among them was card deck method for mix generation (1304) and a new method
to get the number of accounts for a customer.
Changes 3.14 Beta 4 => 3.14 by M.E.
1.Add virtual public destructor to CbaseLogger class.
2.Update CEGenLogger constructor to take a pointer to a CLogFormatter object
3.Fix typos and cosmetic inconsistencies in CLogFormatterTab methods
4.Fix frame_executed values in TxnHarnessTradeLookup.h
5.Instantiate a formatter object and pass into logger constructor in
src/EGenLoader.cpp
6.Update Visual Studio solution and project files with new logger and
formatter files
7.Add TPC legal disclaimer to all source files (as per Clause 5
EGenSourceFiles definition); move all individual authorship
information to a non-public file for historical and maintenance
purposes.
Changes 3.14 Beta 2 => 3.14 Beta 3 by M.E.
1.Reorder member variables in CCE, CMEE, CDM so that parameter setting
members are always initialized first
2.Sync default tunable values (TL, TU, TLoader, TDriverGlobal) to spec
3.Fix log string initialization, typos and missing entries in log formatter
4.Add error handling to CEGenLogger
5.Fix incorrect copyright attribution in TxnHarnessTradeCleanup.h
6.Avoid floating-point computations in CDM and CCETxnInputGenerator when
computing first run-time trade
7.Cosmetic cleanup in TxnHarnessTradeLookup.h
Changes 3.14 Beta 1 => 3.14 Beta 2 by M.E.
1.Use sprintf() instead of snprintf() in inc/EGgenLogger.h
2.Use proper variable types in inc/SecurityFile.h,
inc/DriverParamSettings.h and src/EGenLoader.cpp
3.Removed unused variables in src/CustomerTable.cpp,
src/EGenGenerateAndLoad.cpp, inc/InputFileNoWeight.h,
inc/TxnHarnessMarketFeed.h
4.Silence compiler warnings in inc/Random.h and src/CETxnInputGenerator.cpp
5.Add "start_day" parameter to Market-Watch transaction inputs in
inc/TxnHarnessStructs. Requested by Cecil, currently unused.
6.Fix parameter order in CE constructor, fix CCE::SetTxnTunables()
7.Adjust CDM constructor parameter order to match CE order, rename
iHoursOfInitialTrades to iDaysOfInitialTrades (name change only)
8.Support -p option for ODBC loader in EGenLoader
9.Rework CGenerateAndLoad class to take days of trades, not hours.
(Removes a lot of unneeded code from EGenLoader)
10.Generic Logger Changes
11.Implement base class for logging in inc/BaseLogger.h
12.Implement base class for log formatting in inc/BaseLogFormatter.h
13.Implement concrete class for logging in inc/EGenLogger.h, which logs to
files
14.Implement concrete class for log formatting in
inc/EGenLogFormatterTab.h which outputs tab-separated format; all log
formatting code removed from DriverParamSettings.h
15.Update DriverParamSettings.h and various logger classes to handle new
parameter structure for EGenLoader
16.Logger Changes in Driver
17.Update CCE, CDM, CMEE, CCETxnInputGenerator and CCETxnMixGenerator
transactions to take a pointer to a logger object, and update methods
to use this object instead of a locally-instantiated logger object.
18.Logger Changes in EGenLoader
19.Update CGenerateAndLoad class to take a pointer to a logger object, and
use that to log the parameters provided to CGenerateAndLoad
Changes 3.13 => 3.14 Beta 1 by M.E.
1.Updated transaction harnesses to use CDBConnection class intead of a
pair of char pointers (suggested and prototyped by Sun)
2.Fix assert checks in DateTime.cpp; replace various integer constants
with named comments from MiscConsts.h
3.Swap Trade-Lookup Frame 3 and Frame 4.
4.Introduce macros for wrapping 64-bit integer constants, and update the
Makefile with details on what may need to be adjusted at compile time
to use these macros. This is a portability enhancment of the changes
in 3.13 item 11.
5.Add CTradeCleanup transaction harness and input/output structures.
6.Add CTradeCleanup transaction entry point to CDM class, along with
related constructor changes and InputFiles requirements.
7.Add "Canceled" status-type, remove "Expired", "Cert-Due", "Cash-Due",
"Overdue", "At-Risk" status-types.
8.Code cleanup in CMEESecurity (remove unused code, rename some members
for clarity)
9.Remove max_list_len from TxnHarnessStructs.h (unused), add some comments
10.Restructure limit/artificial trade code (for clarity reasons) in
MEETickerTape.cpp
11.Use localtime_r() instead of localtime() in DateTime.cpp, clean up
comments
12.Update Market-Feed code so that SendToMarket is called from sponsor
code. Harness now passes pointer to SendToMarketInterface to sponsor
implementation; frame/transaction output arrays have been removed;
SendToMarket processing in frame has been removed.
13.CETxnInputGenerator.cpp now uses exec_is_owner tunable properly
14.Revisions to TxnHarnessSendToMarketInterface.h; new public methods
SendToMarketFromFrame (for use in Market-Feed) and
SendToMarketFromHarness (for use in Trade-Order).
15.CETxnIntputGenerator.cpp - implement generic functions for computing
trade IDs and trade DTS values, used in Trade-Lookup and Trade-Update
16.Random.cpp: Add start-of-range value to NURnd(), adjust callers for
new NURnd() API, change AValue to 32-bit
17.Add CBaseLogger/CEGenLogger classes, for the purpose of logging driver
tunables; update CCE class to use logger methods
18.Add DriverTypes.h, contains enum and string representations of various
driver types (CE, MEE, DM, etc)
19.Various C++ cleanups in FlatXYZLoad.h
20.Add "custom" loader capability to EGenLoader.cpp
21.CDM, CCE, CMEE constructors changed so that ALL constructurs take a
UniqueId parameter; useful to identify driver instances when logging
22.Remove unused constructors from CompanyFile.h, SecurityFile.h,
CompanyCompetitorFile.h
23.Update ConvertTradeTypeIdToEnum() in CMEETickerTape to check all
characters of a trade-type; existing implementation would not fail on
certain corrupted trade-types (Example: XLB would be treated as a
limit-buy)
24.General code cleanup wrt INT32/int, Tident usage
25.BETA1 RELEASED
BETA2 RELEASE
Changes 3.12 => 3.13 by S.V.
1.Reduced the number of ticker elements to 20 (1 real + one trigger or
purely random).
2.Commented out c_tier from TBrokerVolumeTxnInput.
3.Modified CCETxnInputGenerator to generate 20 to 40 broker names for
Broker Volume.
4.Changed BV default mix percentage to 4.9% (stole 1% from CP, MW, SD, TS)
5.Modified iBrokersDiv to generate 10 brokers per load unit (instead of
100).
6.Changed number of watch items per list to 50..150.
7.Changed Trade Status input/output structures and TxnHarness to return 50
rows (instead of 1).
8.Modified VisualStudio project files to prepare for VS 2005 (note: the
files are still for VS 2003):
a.Added _CRT_SECURE_NO_DEPRECATE preprocessor define to silence CRT
string functions usage warnings.
b.Modified intermediate directories to be unique inside obj for every
project (needed for default parallel compile in VS 2005).
c.Added odbc32.lib to linked inputs for EGenLoader.
9.Added Commit every 20000 rows for WATCH_LIST/WATCH_ITEM (needed for ODBC
load).
10.Moved FlatFileLoader template instantiations after template function
definitions in FlatFileLoader.cpp.
11.Suffixed large 64-bit constants in SecurityFile.h and MEE.cpp with "LL".
Changes 3.11 => 3.12 by M.E.
1.Rolled in static const initialization patches (from S.V.)
2.Remove dead code in FlatFile.h and SecurityFile.h (from M.E.)
3.Rolled in changes to CMEESecurity::Initalize (from D.J.)
4.Set default TL/TU MaxRows to 10 (per motion 305)
5.Cap user-supplied TL/TU MaxRows values at 30 (per coding team discussion)
6.Rolled in FlatFile.h template instantiation changes (from M.E)
7.Rolled in changes to remove TmarketFeedTxnInput::MaxSize parameter; use
max_feed_len instead; set max_feed_len to 40 (from S.V.)
8.Rolled in type changes for ex_open and ex_close (from S.V.)
9.Add IsAbortedTrade() method to CHoldingsAndTradesTable; this
consolidates duplicate logic between TradeGen and CETxnInputGenerator
10.Changes for active-vs-configured customers
a.Modified CCE, CCETxnInputGenerator, CDM and CInputFiles constructors
to take an additional parameter for active customers
b.Add/rename members and methods in CCE, CCETxnInputGenerator, CDM,
CInputFiles, CCompanyFile, CCompanyCompetitorFile and
CSecurityFile to store and provide access to "active" and
"configured" customer, company, and security values
c.Change CCETxnInputGenerator to use appropriate methods/members to
get "active" and "configured" customer, company and security
values, to be used when generating inputs
d.Update CDM class to use appropriate methods to get "active" customer
and company counts when generating inputs.
e.Update CMEEPriceBoard class to use appropriate methods to get
"active" security counts and pass along to CMEETicker.
f.Add GetEndingCA_ID() method to CCustomerAccountsAndPermissionsTable
class
g.Add max_acct_id field to TradeLookupTxnStruct and
TradeUpdateTxnStruct, and initialize using GetEndingCA_ID() from
CCETxnInputGenerator
11.Beta1 Released
12.Many minor bugfixes to the active-vs-configured changes, reported by
Cecil, Matthew L, and Sergey V.
13.Update flat file loader code to throw errors instead of returning rcs.
14.Beta2 Released
15.More minor bugfixes to transaction harnesses and parameter validation,
reported by Cecil, Sergey
16.Replace date/time-related constants (ie 24, 3600, etc) with the
appropriate constants from MiscConsts.h.
17.Add new target to the Un*x makefile - EgenDriverLib -- which in turn
will build EGenDriverCELib, EGenDriverMEELib and EGenDriverDMLib
18.Beta3 Released
Changes 3.10 => 3.11 by D.J.
1.Rolled in exit-codes patch set (from M.E.)
2.Rolled in flat-file-modular patch set (from M.E.)
a.Applied bug fix for patch set (from M.E.)
3.Added MEE functionality to track outstanding limit orders and trigger
them via the Market-Feed batch at the appropriate time.
4.Removed the min/max ticker element functionality from the MEE
Market-Feed (made obsolete by new limit order tracking/triggering
functionality).
5.Modified MEE to honor appropriate prices for limit orders. This included
changes to Market-Feed to return the trade type for the triggered
limit orders.
6.Modified TradeGen to honor appropriate prices for limit orders.
7.Modified MEESecurity object (and therefore MEEPriceBoard and TradeGen)
so that instantiations of MEESecurity no longer scale with the number
of securities.
8.Modified TxnHarnessStructs.h and TxnHarnessTradeResult.h with changes
needed to support isolation level testing (from C.R.)
9.Explicitly set initialization of LT_VOL to 0, per request from M.E.
10.Applied patches to TxnHarnessStructs.h and TxnHarnessCustomerPosition.h
(from M.E.)
11.Modified CCustomerSelection so that selection across entire range is
now inclusive of partition, rather than exclusive of partition.
Consequently updated CCE, CTxnInputGenerator and CTradeGen. The
changes to CCE hit a sponsor interface (CCE constructor) when
partitioning.
12.Removed unused trade types Cover-Buy and Short-Sell per motion 295.
13.In TxnHarnessSecurityDetail.h, removed initialization of LOB arrays.
14.Modified CCE constructors to either generate unique RNG seeds for the
TxnInputGenerator and the TxnMixGenerator based on a sponsor provided
unique unsigned 32-bit integer accept two RNG seeds - one for the
TxnInputGenerator and the other for the TxnMixGenerator
15.Modified CMEE in a fashion similar to that outlined above for the CCE
class except the seeds are for the TickerTape and the TradingFloor.
16.Modified CDM in a fashion similar to CCE and CMEE for RNG seed
generation.
17.Rolled in TInputFiles => CInputFiles changes per M.E.
18.Removed GetTradeTypeIsSellAndMarket, m_trade_type and
m_db.LoadTradeTypeTable() from TxnHarnessTradeOrder.h per note from
S.V. Also removed associated structure from TxnHarnessStructs.h.
19.Dropped in changes from M.E. to CustomerAccountsAndPermissions.h to fix
a flow control problem where the RNG seed was not being properly
restored.
20.Rolled in patch from M.E. to EGenLoader.cpp to properly print TIdent
fields in Usage().
Changes 3.10 => 3.11 by S.V.
1.Added descriptive names for customer accounts (from
TaxableAccountName.txt and NonTaxableAccountName.txt)
2.Removed S_NAME from Security.txt file (Matt Emmerton's change)
3.Changed some internal loader variables to 64-bit to support 10-digit
customer ids.
4.Removed SQL_NULL_DATA define as it is no longer needed.
5.Added parameter validation to EGenLoader executable to prevent incorrect
command-line parameter values.
6.Removed Short-Sell and Cover-Buy from Charge.txt, CommissionRate.txt,
and TradeType.txt input files (change from C.R.) and updated file
limits in InputFlatFilesDeclarations.h accordingly.
7.Removed unused error codes from CBaseTxnErr and added
CBaseTxnErr::ROLLBACK code (useful for aborted TradeOrder).
8.Changed ordering of data members in DriverParamSettings.h structures to
always align 64-bit integers on 64-bit boundary.
Changes 3.9 => 3.10 by S.V.
21.Added parallel loading of security/company related tables.
22.Changed table generation switches to -xf (Fixed), -xs (Scaling), and
-xg (Growing, former -xdt).
23.Added NULL loader option for data generation only (no loading
attempted).
24.Added security index to holding structure so that generation of HOLDING
does not have to recompute it (performance fix).
25.Changed generation of unique security indices to use plain array
instead of STL set (performance fix).
26.S_EXCH_DATE and S_START_DATE end on January 2, 2000
27.Changed CO_OPEN_DATE range to January 1, 1800 to January 2, 2000
28.Added versioning APIs to EGen (EGenVersion)
29.Introduced new CMoney class with integer cents arithmetic. Used for
initial trades and MEE in-place of rounding fixes.
30.Changed all customer/account/security/company etc. ids to 64-bit
(TIdent type).
31.TSecurityInputRow no longer reads security name from Security.txt file
(it is ignored).
32.Always one blank line (instead of one or two) separates various
"Generating TABLE_NAME table?" messages.
33.Added out-of-memory exception (std::bad_alloc) handling to EGenLoader.
34.EGenLoader exits with code 3 when output flat file could not be created
(FlatFileLoader.cpp).
Changes 3.8 => 3.9 by D.J.
1.Modified suffixing of securities and companies
2.Modified the MEE to work with scaled security symbols.
3.Removed code in SecurityTable.h for handling NULL 52-week high and low.
These columns no longer allow NULLs.
4.Updated comments referencing CDriverInput to CCETxnInputGenerator.
5.Changed Trade-Lookup Frame mix percentages from 33/33/34/0 to
30/30/10/30 per motion 239.
6.Modified Market-Watch by Industry case to limit search across a max of
5000 companies per 4/26/2005 conference call.
7.Modified Customer-Position Frame 2 to use a random account id rather
than a customer id per motion 251.
8.Modified flat in file TaxRatesCountry.txt to include special entry used
by the Data-Maintenance transaction.
9.Updated SecurityTable class to generate S_NAME.
10.Updated CTradeGen to generate proper values for CT_NAME.
11.Modified Trade-Lookup to work with multiple trades instead of just one.
12.Fixed company Id generation bugs in CDM class
13.Updated CDM to properly use new security file and company file
abstractions.
14.Updated CDM to include NEWS_ITEM table, per motion 231.
15.Added new Trade-Update transaction
16.Modified TradeGen.cpp so that initial population trades would have
T_DTS set to the completion time, per motion 259.
17.Removed divid and divid_ind from TFinInfo structure in
TxnHarnessStructs.h.
Changes 3.8 => 3.9 by S.V.
1.Implemented scaling of securities and companies with the database size
(number of customers in the database).
2.New Security.txt, Company.txt, and CompanyCompetitor.txt class
abstractions.
3.Changed S_SYMB to CHAR(12), CO_NAME to CHAR(50), and S_NAME to CHAR(70).
4.Removed FI_DIVIDEND from FINANCIAL table.
5.Changed money columns precision from .4 to .2.
6.Changed 9999999 to 999999 (six nines) in CommissionRate.txt for new
column definitions.
7.Removed generation of COMPANY_INDUSTRY table.
8.S_NAME is populated from Company.txt input file, not Security.txt.
9.Made performance enhancements to CTrageGen::GenerateCommissionRate().
Changes 3.7 => 3.8 by D.J.
1.Changed TSDOutput.num_out from UINT64 to INT64 (TxnHarnessStructs.h).
2.Changed two occurrences of IsVaild to IsValid for
TSecurityDetailSettings in DriverParamSettings.h per note from S.V.
3.Replaced two occurrences of double spaces with single spaces in
Company.txt per note from M.E.
4.Replace four occurrences of double spaces with single spaces in
Security.txt per note from M.E.
5.Replaced one occurrence of double spaces with a single space in
TaxRatesDivision.txt per note from M.E.
6.Corrected CPerson::GetMiddleName for ASCII/EBCDIC issue per note from
M.E.
7.Changed trade_list in TTradeLookupOutput and TTradeLookupFrame4Output
from int to INT64 since this is a list of trade IDs - per note from
S.V.
8.Added support for partitioning C_ID generation at runtime.
9.Encapsulated Customer Emulator functionality into a new CE class. This
class includes functionality for controlling the transaction mix as
well as generating inputs for the various customer-initiated
transactions.
10.Cleaned up naming convention of EGenTxnHarness at the following levels.
Frame method name
Transaction level input and output structures (removed combined
super-structures) per motion 219.
Frame level input and output structures (removed combined
super-structures) per motion 219.
11.Rolled in 64-bit integer printf format changes for flat file loader
functionality per note from L.L.
12.Removed EGenLoader command line flag "-h" for specifying the number of
hours of initial trades to load. Added new flag "-w" for the number of
Workdays (8-hour days) of initial trades to populate. Per motion 220.
13.Rolled in changes from C.R. (DailyMarketTable.h, MiscConsts.h,
TradeGen.h, CETxnInputGenerator.cpp) per motion 221 to
Implement a 5-day work week - no trading on Saturday or Sunday
Move start date for Financial and Daily Market data to Monday
January 3, 2000 (end date is now Friday December 31, 2004).
Make start date for initial trades Monday January 3, 2005.
14.Removed -u flag from EGenLoader since setting the load unit to anything
other than 1000 will break a lot of internal code.
15.Added EGenDriverCELib to makefile.
16.Changed TTradeLookupFrame3Output. holding_history_id from INT32 to
INT64.
17.Added HOLDING_SUMMARY functionality to EGenLoader (Flat File and MSSQL
implementations)
18.Created new CDM class to encapsulate driver functionality for the
Data-Maintenance transaction.
19.Modified Trade-Order "rollback" input flag to be set 1 time out of 101
by default, instead of 1 out of 100.
20.Modified CCETxnInputGenerator::GenerateTradeLookupTradeID() to skip
over trade ID's that were skipped during load time (as part of
simulating rolled back ( or aborted ) trades).
21.New flat_in files from Jamie
Company.txt
CompanyCompetitor.txt
CompanyIndustry.txt
22.Modified EGenLoader -x command line flag values and meanings.
Changes 3.7 => 3.8 by S.V
1.Moved TIMESTAMP_STRUCT inside the TPCE namespace (DateTime.h,
DateTime.cpp, DriverInput.cpp)
Changes 3.7 => 3.8 by J.F.
2.Commented out initialization of m_NextEvent in EventWheel class of
EventWheel.h
3.Changed backslash "\" to a slash "/" in TxnMixGenerator.cpp
4.Modified ifstream calls in reading input flat files to the base istream
class. Provided an overloaded method to either read input files or
read from a passed string. The file loadstring.patch in patches has a
listing of all the changes made to FlatFile.h, InputFile.h,
InputFileNoWeight.h, InputFlatFileDeclarations.h, Table_Defs.h, &
ReadRowFunctions.cpp.
5.Changed the include path on all header files in the inc directory to
remove the "../inc" path directive. Paths for header files in the inc
directory now use just the file name.
6.Modified the DoTxn method calls for each of the TxnHarnessTransaction.h
to provide an overloaded method to either send a single
TxnHarnessStruct for the transaction, or provide separate input and
output structures.
7.Modified the individual m_db.Dotransactionframe calls to provide
separate in and out pointers, instead of a single superstructure
pointer, for all interactions with the database methods m_db.*
8.Provided a sample CsyncLock class for implementing pthread locks in an
*NIX environment.
Changes 3.6 => 3.7 by D.J.
9.Integrated new MEE into EGen as EGenDriverMEELib.
10.Removed old MEE code.
11.Updated RNG seed for customer selection (was teleconference phone
number).
12.Changed DailyMarketTable.h to include SecurityPriceRange.h and make use
of fMinSecPrice and fMaxSecPrice when setting fDailyMarketCloseMin and
fDailyMarketCloseMax.
13.Removed dts fields from Trade-Result and Market-Feed structures per
motions from the subcommittee.
14.Updated Trade-Lookup functionality (TxnHarnessStructs.h,
TxnHarnessTradeLookup.h, DriverInput.cpp) per motion 205 on 1/25/2005.
15.Updated Security-Detail functionality (DriverParamsSettings.h,
DriverInput.cpp, TxnHarnessStructs.h) per motion 203 on 1/25/2005.
16.Added CTxnMixGenerator class for generating the runtime transaction mix.
17.Added EGenDriverCELib and EGenDriverMEELib projects into EGen/prj
directory and incorporated them into EGen solution.
Changes 3.6 => 3.7 by S.V.
1.TradeId type is 64-bit integer (flat files still output only 32-bits).
2.No dublication of row-reading functions for some tables (that are
completely defined in flat files).
3.Non-uniform trading by customer tier (a single function for both
EGenLoader and CDriverInput to select a customer).
4.Fixed bug in TradeGen.h where a time shift occurred after 25 days of
initial trading. The internal elapsed time was being fed into
CDateTime class as ms only (although Add() function allows days too).
Changed the code to submit time in the format (# of days, ms in the
day) instead of (0, total ms).
Changes 3.5 => 3.6 by J.R.
1.Added meaningful company descriptions to Company.txt file.
Changes 3.5 => 3.6 by S.V.
1.Added parallel load.
2.Added Data Maintenance harness and driver input generation.
3.BROKER YTD fields are updated with initial trades.
4.DAILY_MARKET and FINANCIAL generating 5 years of data starting from July
1, 1999 (ending on June 30, 2004)
5.WL_ID is different from C_ID (a permutation within C_ID's 1000-customer
load unit)
6.Tax is withheld only for accounts with the corresponding tax status.
7.TSDInput includes start_day and max_rows_to_return parameters.
8.Removed SE_CA_ID and CT_CA_ID columns.
9.Added disconnect and reconnect after every load unit for holdings and
trades in ODBC load (saves log space).
10.Added ticker auto-adjust mode to CMarketEmulator.
Changes 3.4 => 3.5 by D.J.
1.Added transaction harness and input generation for Trade Lookup
transaction.
Changes 3.4 => 3.5 by S.V.
1.Added CTradeGen class to generate initial trades and holdings
2.Added CMEEApproximation class for generation of initial trades and
holdings
3.Modified EGenLoader.cpp and EGenGenerateAndLoad.cpp for new method of
initial trade generation.
4.Removed HoldingAndTradeCommonData.h because of the new method of initial
trade generation.
Changes 3.3 => 3.4 by D.J.
1.See RNGUsage.xls for many changes
2.Changed CRandom::RndAlphaNumFormated to RndAlphaNumFormatted
3.Changed RNG seeding in CPerson::GetTaxID to account for the fact that
the call to RndAlphaNumFormatted consumes 14 RNG values. This makes
tax IDs independent rather than overlapping 13 out of 14 characters.
4.Changed CCustomerAccountsAndPermissionsTable::GetCIDsForPermissions to
use a separate RNG sequence for generating each of the additional
permissions.
5.Changed many places where "Holdings" was being used when really it was
"Securities".
Changes 3.3 => 3.4 by S.V.
6.EGenLoader.cpp: removed TableIDs enumeration because it is not used
anywhere (after the addition of loader class factory).
7.Editorial changes: renamed in table generation classes
iCount to iCustomerCount
iCustCount to iCustomerCount
iStartingID to iStartFromCustomer
iDefStartCustId to iDefaultStartFromCustomer
8.CustomerTable.h: iStartFromCustomer is now 1-based instead of 0-based
9.Moved functions that generate and load tables (Generate*Table) from
EGenLoader.cpp into a new class CGenerateAndLoad.
10.Windows only: added new project EGenGenerateAndLoad.
11.Tables loaded from flat files (CCharge, CCommissionRateTable, etc.):
encapsulated input file name in the constructor. Only the directory
name where the input file is located is passed in.
12.EGenLoader.cpp: added -b and -xt (replaces old -x[N,S,L,D]) options.
13.CAddressTable, CBrokerTable, CWatchListsAndItemsTable: added an ability
to generate data for a subset of customers (not starting from the
first customer).
14.ODBC loaders: removed table lock hint to enable parallel load.
15.FinancialTable.h: modified to generate earnings per share, margin, and
dividend data only if total earnings are positive (which also cannot
exceed total revenue). Earnings per share are calculated using total
earnings and the number of shares outstanding.
16.TxnHarness*.h: added Cleanup(void *pException) method to allow error
handling by the database class.
17.DriverInput.cpp: removed default broker from calculation of the broker
list for BrokerVolume.
18.CDriverInput: separated generation of a random customer in many places
into one private function GenerateRandomCustomerId();
19.DriverInput.cpp: renamed CID to iCustomerId.
Changes 3.2 => 3.3 by D.J.
1.Added EGenStandardTypes.h. This file is where platform dependent data
types are mapped to platform independent types to be used in the EGen
package.
2.Added a typedef of RNGSEED to clearly show where parameters are seeds to
the RNG and where they are not.
3.Updated CRandom class to use the 64-bit RNG, and it's associated skip
function. Note that this caused a change in the returned data type of
two public methods to type RNGSEED (this change rippled into
CustomerTable.cpp and AddressTable.cpp).
a.GetSeed
b.RndNthElement
4.Reconciled ADDRESS and ZIP_CODE table generation.
a.Removed Address.txt input file
b.ADDRESS table generation now uses ZipCode.txt input file for zip
codes.
c.AD_TOWN and AD_DIV columns removed from ADDRESS generation
d.New ZipCode.txt file created
5.CO_SP_RATE now uses a weighted distribution across all 39 values instead
of using just 4 values.
6.Updated CA_BAL range from -999,999.99 - 999,999.99 to -9,999,999.99 to
9,999,999.99.
7.Reconciled transaction and frame parameters with specification.
a.Updated TxnHarnessStructs.h accordingly to match specification.
b.Updated DriverInput.cpp to match changes made to TxnHarnessStructs.h
c.Updated TxnHarness*.h to match changes made to TxnHarnessStructs.h.
8.Added functionality for generating HOLDING_HISTORY table.
9.Modified Broker ID assignment to eliminate the use of a default broker
ID for the brokerage house.
10.Market-Watch
a.Changed parameters to match motion passed on 2/24/04
b.Updated DriverInput.cpp to generate correct data for the new parameters
11.Modified H_QTY and T_QTY from random integers in the range 1-5000
during load and 100 during runtime to be selected from 100, 200, 400,
800 for both load and runtime
12.Modified T_TT_ID initial population to be 30% TMB, 20% TLB, 30% TMS,
10% TLS and 10% TSL
13.Modified H_QTY during load to be negative in the case of sells.
14.Updated Market-Feed parameter names to avoid name-collision
15.Updated CDriverInput::GenerateMarketWatchInput() so that CID is
selected from [iDefStartCustId, iDefStartCustId+m_iCustCount-1]
16.Changed GetCompanySPRate() to GenerateCompanySPRate and hard coded
setting m_row.CO_SP_RATE
17.Moved definition of cNUM_TRADE_QTY_SIZES and cTRADE_QTY_SIZES from
TableConsts.h to HoldingsAndTradesCommonData.h
18.Updated CODBCERR definition in error.h
19.Updated DriverParamSettings.h for TradeOrderSettings
a.Lifo 50 => 35
b.Exec_is_ownder 0 => 90
c.Rollback 0 => 1
20.Added blank line after variable declaration in
CCompanyTable::GenerateCompanySPRate()
21.CFixedMap::GetElementByPassKey changed ElementID to iElementID
22.Added exec_name to TTSOutput in TxnHarnessStructs.h
23.Added +1 to length of s_name in Trade-Order Frame 3 structure in
TxnHarnessStructs.h
24.Added HoldingHistory_Load->FinishLoad() and delete HoldingHistory_Load
to EGenLoader.cpp:GenerateHoldingsAndTradesAndRequestsTable()
25.Added ++m_pSecID in HoldingsAndTradesCommonData.h (fix from Sergey for
all trades for a given account using the same security)
26.In HoldingsAndTradesCommonData.h fixed range used for generating index
into trade quantity array
27.in HoldingsAndTradesCommonData.h fixed trade price range
28.Removed generation of pending orders during initial load
29.Updated code so that all sells are cash transactions, and 84% of buys
are cash during initial load
30.Set LT_PRICE and LT_OPEN_PRICE to be 1 (instead of being
uninitialized). These should really be set to something else in the
future, but for now, setting them to 1 is consistent with previous
loader behavior.
31.Corrected H_PRICE to match T_BID_PRICE and T_TRAD_PRICE
32.In ZipCode.txt, corrected 4-digit zip codes to have leading 0,
corrected Canadian zip codes to have a space in the middle.
33.Removed HashTable.h and associated hash usage to go along with the
removal of LT_LOW_LIMIT and LT_HIGH_LIMIT
34.Changed loader to set SE_CASH_DUE_DATE to 2 days after the trade date
instead of 30
35.Updated loader to generate CT_NAME the same way as it is generated in
Trade-Result at runtime
36.Updated NewItemAndXRefTable.h, added +1 when setting
m_row.news_item.NI_ID to correct offset problem
37.Updated all header files to protect from multiple inclusion
38.Changed GetCSPRThreshold() to GetCompanySPRateThreshold()
39.Changed GetTDZCThreshold() to GetTownDivisionZipCodeThreshold()
Changes 3.2 => 3.3 by J.F.
1.Reconciled EGenLoader functionality with schema changes to match 0.23
specification
a.Removed LT_LOW_LIMIT, LT_HIGH_LIMIT from LAST_TRADE
b.Removed T_B_ID from TRADE
c.Added T_LIFO to TRADE
d.Removed TR_EXP_DATE and TR_LIFO from TRADE_REQUEST
2.Reconciled table column name variables with specification.
Changes 3.2=>3.3 by S.V.
1.SecurityAndLastTrade.h: generate S_52_WK.HighDate and S_52_WK_LowDate to
be within 52 weeks of the build date.
2.MarketEmulator.h/cpp: added price change function UpdateStockPrice()
based on random walk algorithm.
3.ReadRowFunctions.cpp: read IN_NAME and ST_NAME using file.get() because
they can contain spaces; also removed some commented code.
4.MarketEmulator.cpp: changed NegExp() to use RndDouble() to avoid passing
0 occasionally to log().
5.DateTime.cpp: changed IsValid() to select monthArray[1] instead of
monthArray[2] for February.
6.All projects: removed *_stdafx.cpp files and changed Windows
configuration to automatically generate precompiled header files (from
'Use Precompiled Header").
7.Removed references to MCSI.
8.Removed code commented out by #if 0.
9.Added generation of EXCHANGE addresses and ordered address ids as:
exchanges<companies<customers.