@@ -83,6 +83,7 @@ public static async Task Main(string[] args)
83
83
84
84
await moviesProvider . CreateTablesAsync ( ) ;
85
85
86
+ var cancellationTokenSource = new CancellationTokenSource ( ) ;
86
87
var contextOptions = CreateKSqlDbContextOptions ( ksqlDbUrl ) ;
87
88
88
89
await using var context = new KSqlDBContext ( contextOptions , loggerFactory ) ;
@@ -124,10 +125,10 @@ public static async Task Main(string[] args)
124
125
Console . WriteLine ( e . Message ) ;
125
126
}
126
127
127
- string explain = await query . ExplainAsStringAsync ( ) ;
128
+ string explain = await query . ExplainAsStringAsync ( cancellationTokenSource . Token ) ;
128
129
Console . WriteLine ( "Explain: " ) ;
129
130
Console . WriteLine ( explain ) ;
130
- ExplainResponse [ ] explainResponses = await query . ExplainAsync ( ) ;
131
+ ExplainResponse [ ] explainResponses = await query . ExplainAsync ( cancellationTokenSource . Token ) ;
131
132
Console . WriteLine ( $ "{ Environment . NewLine } Explain => ExecutionPlan:") ;
132
133
Console . WriteLine ( explainResponses [ 0 ] . QueryDescription ? . ExecutionPlan ) ;
133
134
@@ -140,7 +141,7 @@ public static async Task Main(string[] args)
140
141
Console . WriteLine ( "Finished." ) ;
141
142
}
142
143
143
- static async Task CreateOrReplaceTableStatement ( IKSqlDBStatementsContext context )
144
+ static async Task CreateOrReplaceTableStatement ( IKSqlDBStatementsContext context , CancellationToken cancellationToken = default )
144
145
{
145
146
var creationMetadata = new CreationMetadata
146
147
{
@@ -157,7 +158,7 @@ static async Task CreateOrReplaceTableStatement(IKSqlDBStatementsContext context
157
158
. Where ( c => c . Id < 3 )
158
159
. Select ( c => new { c . Title , ReleaseYear = c . Release_Year } )
159
160
. PartitionBy ( c => c . Title )
160
- . ExecuteStatementAsync ( ) ;
161
+ . ExecuteStatementAsync ( cancellationToken ) ;
161
162
162
163
/*
163
164
CREATE OR REPLACE TABLE MoviesByTitle
@@ -166,7 +167,7 @@ CREATE OR REPLACE TABLE MoviesByTitle
166
167
WHERE Id < 3 PARTITION BY Title EMIT CHANGES;
167
168
*/
168
169
169
- string responseContent = await httpResponseMessage . Content . ReadAsStringAsync ( ) ;
170
+ string responseContent = await httpResponseMessage . Content . ReadAsStringAsync ( cancellationToken ) ;
170
171
171
172
var statementResponse = await httpResponseMessage . ToStatementResponsesAsync ( ) ;
172
173
}
0 commit comments