in src/TriggersBinding/MySqlTriggerListener.cs [282:307]
private async Task<long> CreateGlobalStateTableAsync(MySqlConnection connection, MySqlTransaction transaction, CancellationToken cancellationToken)
{
string createGlobalStateTableQuery = $@"
CREATE TABLE IF NOT EXISTS {GlobalStateTableName} (
{GlobalStateTableUserFunctionIDColumnName} char(16) NOT NULL,
{GlobalStateTableUserTableIDColumnName} char(64) NOT NULL,
{GlobalStateTableLastPolledTimeColumnName} Datetime NOT NULL DEFAULT {MYSQL_FUNC_CURRENTTIME},
PRIMARY KEY ({GlobalStateTableUserFunctionIDColumnName}, {GlobalStateTableUserTableIDColumnName})
);
";
using (var createGlobalStateTableCommand = new MySqlCommand(createGlobalStateTableQuery, connection, transaction))
{
var stopwatch = Stopwatch.StartNew();
try
{
await createGlobalStateTableCommand.ExecuteNonQueryAsyncWithLogging(this._logger, cancellationToken);
}
catch (Exception ex)
{
this._logger.LogError($"Exception encountered while creating Global State table. Message: {ex.Message}");
throw;
}
return stopwatch.ElapsedMilliseconds;
}
}