@@ -2,6 +2,7 @@ import { BaseSqlDataQuery } from '../BaseSqlDataQuery.js';
22import { BucketInclusionReason , BucketPriority , DEFAULT_BUCKET_PRIORITY } from '../BucketDescription.js' ;
33import { BucketParameterQuerier , PendingQueriers } from '../BucketParameterQuerier.js' ;
44import { BucketSource , BucketSourceType , ResultSetDescription } from '../BucketSource.js' ;
5+ import { ColumnDefinition } from '../ExpressionType.js' ;
56import { SourceTableInterface } from '../SourceTableInterface.js' ;
67import { GetQuerierOptions , RequestedStream } from '../SqlSyncRules.js' ;
78import { TablePattern } from '../TablePattern.js' ;
@@ -88,7 +89,7 @@ export class SyncStream implements BucketSource {
8889 }
8990
9091 hasDynamicBucketQueries ( ) : boolean {
91- throw new Error ( 'Method not implemented.' ) ;
92+ return this . variants . some ( ( v ) => v . hasDynamicBucketQueries ) ;
9293 }
9394
9495 tableSyncsData ( table : SourceTableInterface ) : boolean {
@@ -108,19 +109,44 @@ export class SyncStream implements BucketSource {
108109 }
109110
110111 getSourceTables ( ) : Set < TablePattern > {
111- throw new Error ( 'Method not implemented.' ) ;
112+ let result = new Set < TablePattern > ( ) ;
113+ result . add ( this . data . sourceTable ) ;
114+ for ( let variant of this . variants ) {
115+ for ( const subquery of variant . subqueries ) {
116+ result . add ( subquery . parameterTable ) ;
117+ }
118+ }
119+
120+ // Note: No physical tables for global_parameter_queries
121+
122+ return result ;
112123 }
113124
114- resolveResultSets ( schema : SourceSchema ) : ResultSetDescription [ ] {
115- throw new Error ( 'Method not implemented.' ) ;
125+ resolveResultSets ( schema : SourceSchema , tables : Record < string , Record < string , ColumnDefinition > > ) {
126+ this . data . resolveResultSets ( schema , tables ) ;
116127 }
117128
118129 debugRepresentation ( ) {
130+ return {
131+ name : this . name ,
132+ type : this . type . toString ( ) ,
133+ variants : this . variants . map ( ( v ) => v . debugRepresentation ( ) ) ,
134+ data : {
135+ table : this . data . sourceTable ,
136+ columns : this . data . columnOutputNames ( )
137+ }
138+ } ;
139+
119140 throw new Error ( 'Method not implemented.' ) ;
120141 }
121142
122143 debugWriteOutputTables ( result : Record < string , { query : string } [ ] > ) : void {
123- throw new Error ( 'Method not implemented.' ) ;
144+ result [ this . data . table ! ] ??= [ ] ;
145+ const r = {
146+ query : this . data . sql
147+ } ;
148+
149+ result [ this . data . table ! ] . push ( r ) ;
124150 }
125151
126152 evaluateParameterRow ( sourceTable : SourceTableInterface , row : SqliteRow ) : EvaluatedParametersResult [ ] {
0 commit comments