G3 & G4: Map UsdcSize, OutcomeIndex, compute Category ROI and add migration
This commit is contained in:
@@ -70,14 +70,14 @@ public class TradeRepository : ITradeRepository
|
||||
|
||||
foreach (var chunk in tradeList.Chunk(500))
|
||||
{
|
||||
var sb = new System.Text.StringBuilder("INSERT INTO Trades (PlatformTradeId, MarketId, AssetId, Outcome, Side, Price, Size, Amount, ExecutedAt, TransactionHash, TraderId, MarketOutcomeId, DbMarketId, Platform, IsContextEnriched, AggregatedCount) VALUES ");
|
||||
var sb = new System.Text.StringBuilder("INSERT INTO Trades (PlatformTradeId, MarketId, AssetId, Outcome, Side, Price, Size, Amount, ExecutedAt, TransactionHash, TraderId, MarketOutcomeId, DbMarketId, Platform, IsContextEnriched, AggregatedCount, UsdcSize, OutcomeIndex) VALUES ");
|
||||
var parameters = new List<object>();
|
||||
|
||||
for (int i = 0; i < chunk.Length; i++)
|
||||
{
|
||||
var t = chunk[i];
|
||||
int pIdx = i * 16;
|
||||
sb.Append($"({{{pIdx}}}, {{{pIdx + 1}}}, {{{pIdx + 2}}}, {{{pIdx + 3}}}, {{{pIdx + 4}}}, {{{pIdx + 5}}}, {{{pIdx + 6}}}, {{{pIdx + 7}}}, {{{pIdx + 8}}}, {{{pIdx + 9}}}, {{{pIdx + 10}}}, {{{pIdx + 11}}}, {{{pIdx + 12}}}, {{{pIdx + 13}}}, {{{pIdx + 14}}}, {{{pIdx + 15}}})");
|
||||
int pIdx = i * 18;
|
||||
sb.Append($"({{{pIdx}}}, {{{pIdx + 1}}}, {{{pIdx + 2}}}, {{{pIdx + 3}}}, {{{pIdx + 4}}}, {{{pIdx + 5}}}, {{{pIdx + 6}}}, {{{pIdx + 7}}}, {{{pIdx + 8}}}, {{{pIdx + 9}}}, {{{pIdx + 10}}}, {{{pIdx + 11}}}, {{{pIdx + 12}}}, {{{pIdx + 13}}}, {{{pIdx + 14}}}, {{{pIdx + 15}}}, {{{pIdx + 16}}}, {{{pIdx + 17}}})");
|
||||
|
||||
if (i < chunk.Length - 1)
|
||||
sb.Append(", ");
|
||||
@@ -98,10 +98,12 @@ public class TradeRepository : ITradeRepository
|
||||
parameters.Add((int)t.Platform);
|
||||
parameters.Add(t.IsContextEnriched);
|
||||
parameters.Add(t.AggregatedCount ?? (object?)null);
|
||||
parameters.Add(t.UsdcSize ?? (object?)null);
|
||||
parameters.Add(t.OutcomeIndex ?? (object?)null);
|
||||
}
|
||||
|
||||
// For Aggregated Trades, we want UPSERT logic to update size, amount and VWAP
|
||||
sb.Append(" ON DUPLICATE KEY UPDATE Price=VALUES(Price), Size=VALUES(Size), Amount=VALUES(Amount), AggregatedCount=VALUES(AggregatedCount);");
|
||||
sb.Append(" ON DUPLICATE KEY UPDATE Price=VALUES(Price), Size=VALUES(Size), Amount=VALUES(Amount), AggregatedCount=VALUES(AggregatedCount), UsdcSize=VALUES(UsdcSize), OutcomeIndex=VALUES(OutcomeIndex);");
|
||||
|
||||
int maxRetries = 3;
|
||||
var backoffs = new[] { 250, 500, 1000 };
|
||||
|
||||
Reference in New Issue
Block a user