-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathChangeLog
More file actions
337 lines (280 loc) · 14.1 KB
/
ChangeLog
File metadata and controls
337 lines (280 loc) · 14.1 KB
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
vX.Y.ZZ (YYYY-MM-DD)
- Update man page generation to now detect whether rst2man or rst2man.py is on
the system instead of hardcoding one way or the other.
- Bump touchstone tools version from v0.9.2 to v0.10.0
- dbt5-pgsql-build-db: add error handling to kill all backgrounded processes if
there is an error thrown by any of them
- Fix custom PostgreSQL direct loading reliability by using libpq's API to
connect to the database and load data via COPY API's instead of using pipes
to psql
v0.10.11 (2026-01-05)
- Fix trade result frame 2 hs_qty calculation in PostgreSQL client side code
- AppImage container updated to use debian archives for buster and new
appimagetool release location
v0.10.10 (2024-11-04)
- run: fix handling of user_creation_delay when using config file, previously
ignored
- test-db-parameter: allow --client-side application logic
- report: error when DIRECTORY is not specified
- build.1: fix formatting for --skip-data-generation description
- report: create links to driver system's system statistics
- report: use rst2pdf to create PDF reports instead of pandoc
- run: reimplement software profiling
- AppImage: add rst2pdf
- AppImage: bump touchstone-tools to v0.9.2
- report: handle spar data for reporting per process statistics
v0.10.9 (2024-09-09)
- Correct build help message to say FLAT is the default load type
- Fix build script to correctly set instance customer count from bug introduced
in v0.10.7.
- test-user-scaling: update usage to reflect existing --start, --stop, --step
flags
- Add performance testing section to docs for test-user-scaling example script
- Add test-db-parameter script as another performance testing example script
v0.10.8 (2024-08-20)
- AppImage: add, again, python libraries for rst2html5 that were accidentally
removed v0.10.6.
- AppImage: add missing perl modules for flame graphs
- pgsql: refactor automatic database creation logic to use template1
- AppImage: bump touchstone-tools to v0.9.1
- report now relies on touchstone-tools v0.9.1 to generate flame graphs
- Update man page make rules to match docutils v0.21.1 set since v0.10.6.
- Make the database port arguments consistent between the build and run scripts
- run: fix collection of database stats to use specified database parameters
- build: expose existing --skip-data-generation flag to reuse existing flat
files
v0.10.7 (2024-08-15)
- get-os-info: make sure the directory exists, which it won't on multi-tier
systems when stats are not collection
- fix database stats collection for multi-tier systems
- AppImage: add missing libraries psql
- pgsql: create trade_id sequence after indexes are created
- build: instance customers default to total customers when not specified
- run: help message corrected to says instance customers default to total
customers
- Add test-user-scaling script for performance testing example
- pgsql: change default load type to FLAT, as there is a bug in the CUSTOM data
generation at higher, somewhere larger than 5000, customers
- AppImage: set default EGenLoader flat_out directory is /tmp/flat_out
v0.10.6 (2024-08-01)
- pgsql fix index creation logic so that primary keys finish before any foreign
keys are started
- pgsql use psql instead of createdb to create test database
- pgsql use VACUUM SQL statement instead of vacuumdb binary for vacuuming
- Fix run script to set users to script default when using a config file that
does not specify users
- Revert and update AppImage creation to use appimagetool
- Fix metric calculation from transaction per minute to transaction per second
v0.10.5 (2024-07-26)
- Capture exception message when DoTxn() throws an exception
- Fix pgsql client side trade request frame 1 query 2 debug message
- Fix pgsql client side data maintenance address table query
- Fix pgsql client side trade result frame 6 bug
- Add -v flag to run script to enable verbose output from all binaries
- Add -o flag to build script to specify flat_out location for EGenLoader FLAT
loads
- Fix pgsql-load-stored-procs scripts to use CMAKE_INSTALL_PREFIX
- Fix pgsql-load-stored-procs to load C user defined functions from PostgreSQL
default support files locations
- Convert pgsql drop_all_functions.sql script to a POSIX sh here script
pgsql-drop-stored-procs
- pgsql pl/c update date handling code in market watch and security detail user
defined functions
- pgsql server side specify parameter types for MarketWatchFrame1
- pgsql server side specify parameter types for SecurityDetailFrame1
v0.10.4 (2024-07-15)
- Improve post-process cleanup of temp files
- Save EGenLoader output to separate files for easier debugging
- pgsql parallelize index creation statements
v0.10.3 (2024-06-18)
- pgsql pl/c fix byte ordering bug in trade result frame 6
- pgsql pl/c fix segfault in retrieving timestamp data
- pgsql parameterized client-side logic
v0.10.2 (2024-06-13)
- pgsql fix client-side trade result frame 2 bug in looping over results of
query
- pgsql fix for loops in trade result frame 2
- Adopt Artistic License 2.0
- Remove remaining trade_cleanup.sql references from pgsql-load-stored-procs
- pgsql pl/c: add parameter and query results to market watch debug output
- pgsql pl/c: fix market cap calculation
- pgsql pl/c: add parameter and query results to trade update frame 2 debug
output
- pgsql update trade update frames to size trade history arrays correctly
- pgsql pl/c fix trade update frame 1 calculation of num_found
- pgsql pl/c fix trade update frames formatting of trade_history_status_id and
i_trade_type arrays
- Remove superfluous rollback on error for Trade Order
- Fix command line argument parsing to handle upper case BrokerageHouseMain,
MarketExchangeMain, DriverMain, and TestTxn
v0.10.1 (2024-06-10)
- Improve TestTxn exception handling messages
- Update patch to quiet EGen build warnings
- pgsql client side logic now handles settlement_cash_due as a date instead of a
timestamp
- pgsql market feed fix setting trade_qty in triggered limit orders
- pgsql market feed now uses parameterized sql
- Fix array out of bounds bug in server size pgsql trade update frame 1 & 2
- Fix clean rule in EGen Makefile patch
- Fix build-egen to use LIBS env var for setting libraries for linkers
sensitive to where -l flags are used
- pgsql now uses parameterized sql to execute server side logic
- Remove pgsql server-side implementations of trade cleanup, keeping
client-side
v0.10.0 (2024-05-25)
- pgsql: remove accidentally committed debug code in TradeResultsFrame1 stored
functions
- pgsql: update scripts and EGenLoader to not load .psqlrc
- pgsql: fix bug building trade_list var in pl/C trade_lookup
- pgsql: fix bug that truncated trade_id in market feed transaction
- pgsql: increase t_comm to FLOAT8 from FLOAT4 as S_PRICE_T needs to be bigger
than the specification says it should be
- pgsql: add client side transaction logic
- pgsql: ensure use of atoll() for 64bit integers in C stored functions and
server side transaction handling code
- add --client-side flag to run script to use client side application logic
v0.9.4 (2024-04-23)
- pgsql: update transaction code to parse () delimited arrays correctly for
Security Detail transactions
- pgsql pl/c: fix strncpy but in TradeOrderFrame3
- pgsql pl/c: fix potential buffer overflow warnings in Trade Lookup
transactions
- pgsql pl/c: Trade Lookup and Trade Update frames now format data the same as
pl/pgsql functions
v0.9.3 (2024-04-21)
- pl/pgsql: data maintenance: use extract() over substring() when handling
dates
- pl/pgsql: security detail: fix results handling day, fin, and news
- pl/pgsql: security detail: change start_day IN var to DATE
- pgsql pl/c: update return code to DOUBLE PRECISION from NUMERIC in Market
Watch Frame 1
- pgsql pl/c: fix construction of composite types in Security Detail Frame 1
- pgsql pl/c: fix t_id assignment in Trade Cleanup Frame 1
- pgsql pl/c: fix start_trade_dts_ts assignment in Trade Lookup Frame 4
- pgsql pl/c: fix Trade Order Frame 3 handling of type_is_market and
type_is_sell
- pgsql pl/c: fix Trade Order Frame 3 truncation of acct_bal
- pgsql pl/c: fix Trade Result Frame 2 and 6 handling of NUMERIC
- pgsql pl/c: fix Trade Result Frame 6 handling qual assignment bug with
se_amount
- pgsql pl/c: fix % escaping in Data Maintenance of exchange
- pgsql pl/c: update Trade Cleanup to v1.14.0
v0.9.2 (2024-04-10)
- Fix AppRun to export APPDIR when running from an extracted directory
- Fix --dbaas flag in run script
v0.9.1 (2024-04-09)
- Allow creating AppImage built with TPC-E Tools binaries
- Don't try to ssh into any database systems unless stats are being collected
since they won't have any data that would needed for calculating the
benchmark metrics
- Add --dbaas flag to run script so it will only collect database stats when
stats are collected
- Docutils dropped .py extension on rst2html5
v0.9.0 (2024-04-01)
- Set load type in database build scripts with -l command line argument
- Fix direct loading for postgresql
- Refactor custom pgsql loader to COMMIT rows as EGenLoader dictates instead of
just when the loader class is constructed and destructed
- Quiet the PostgreSQL custom loader output, instead generate log files per
table
- PostgreSQL custom loader: set trade sequence in build script, not in
EGenLoader
- Parallelize direct loading by default
- Add --parallelism flag to build script to limit parallelism
v0.8.0 (2024-03-22)
- Support TOML configuration files for executing tests with `run` script
- If "active customers" is not set, assume it should be the same as "total
customers", as opposed to requiring the value to be set
v0.7.0 (2024-03-19)
- pgsql-load-stored-procs: fix accidental bug introduced in v0.2.0
- Remove `activate` script as AppRun is sufficient for extracted AppImage usage
- Bump CMake minimum version to 3.5.0 per deprecation warning
- pgsql-build-db can now COMMIT after N rows with --rows-per-commit flag
- pgsql-build-db skip data generation with --skip-data-generation flag
- Bump touchstone-tools version to v0.8.0 in AppImage
- Fix AppImage use of rst2html5 with manual override of !# in rst2html5 to use
python in the AppImage environment
- Build Pango for AppImage with reduced dependencies
v0.6.1 (2024-02-17)
- build-egen automatically use `pg_conf --libdir` for additional ld flags if
pg_config is detected
- Continue successfully if postgresql database already exists instead of
failing
- Use linuxdeploy to create AppImage
- Build gnuplot explicitly disabling unnecessary options for AppImage
- BDR aware PostgreSQL database loading scripts
v0.6.0 (2024-02-08)
- Minor cosmetic corrections in report
- Update AppImage to include touchstone-tools v0.7.3
- Update "run" script with consistent use of --tpcetools flag with other
scripts
v0.5.2 (2024-01-24)
- Add pgsql-plans script to capture query explain plans for PostgreSQL
- build-egen automatically includes pg_conf --includedir if pg_config is
detected
v0.5.1 (2024-01-22)
- Fix duplicate index name mix_time_txn_start in post-process
- Fix "run" script handling of waiting for DriverMain to exit
- Simplify "run" script progress output
v0.5.0 (2024-01-08)
- pgsql: update flat file loading to TRUNCATE the table and set FREEZE to true
in the COPY command to improve its performance
- pgsql: remove trade order frame 3 pl/pgsql dirty hack and increase the size
of S_PRICE_T to NUMERIC(12, 2) from NUMERIC(8, 2)
- Fix execution of post-process from "run" script to use correct customers
value
- Fix check for rst2html5 in "report" script
- pgsql: refactor DBConnection exec() function to not throw an error for
successfully SELECT statements that return zero rows
- pgsql: refactor Market Feed transaction to be spec compliant
v0.4.0 (2024-01-04)
- Update PostgreSQL schema definitions to v1.14.0 spec
- Fix "build" script to set number of instance customers correctly with
respective database build scripts
- Fix egen-1.14-warnings patch's EGen MaxRecordIdx() to use int
- TestTxn: Clear data structures before executing transactions
- pgsql: check-db script now runs consistency tests tests and calculates
expected table cardinalities
- pgsql: build-db default to use FLAT instead of CUSTOM
- pgsql: fix trade lookup frame 4 pl/pgsql stored function
- pgsql: fix trade order frame 3 pl/pgsql stored function
- Fix verbose output of trade lookup, trade order, and trade update
transactions
- pgsql: fix trade result frame 3 pl/pgsql assignment of tax_amount
- pgsql: fix market feed frame 1 pl/plgsql assignment of num_updated and
current timestamp
- pgsql: fix trade update frame 3 pl/pgsql assignment of num_updated
- pgsql: add dirty hack to trade order frame 3 pg/pgsql to handle S_PRICE_T
overflow
- pgsql: fix trade cleanup pl/pgsql assignment of current timestamp
v0.3.0 (2023-12-15)
- Add verbose flag (-v) to BrokerageHouseMain to output frame inputs/outputs
- Add -U flag to pgsql-build-db to enable database creation by privileged
operating system user
- Add high level database "build" script
- pgsql: update custom loading header files to TRUNCATE the table and set
FREEZE to true in the COPY command to improve its performance
- Fix memory clearing in TPC-E Tools bugs introduced by warnings patch
- Log when driver threads terminate to better calculate steady state duration
- Refactor and rename generate-report to simply "report" as a POSIX shell
script that can create reStructuredText, HTML and PDF reports
v0.2.0 (2023-12-07)
- Fix transaction rate calculation
- Fix various scripting bugs
- Replace libpqxx code with libpq code
- Fix PostgreSQL stored procedure bugs
- Fix egen compiler warnings
- Update cmake files, add CPack rule to create source packages
- Add Docker scripts to build database
- Update PostgreSQL build script set vacuum parallelism based on available
processors and to perform a regular vacuum, instead of a full vacuum
- Removed TPC-E Tools code per TPC EULA
- Add build-egen script to build TPC-E Tools with sponsored code
- Updated for TPC-E Tools v1.14.0
- Refactor post-processing script to use sqlite
- Add scripts to create an AppImage
- Convert README files to ReStructuredText
- psql: issue rollback when CustomerPosition, MarketFeed, and TradeResult
transactions don't run all frames due to invalid results
v0.1.0 (2010-04-10)
- Initial release, currently only for PostgreSQL and TPC-E Tools v1.10.0