@@ -133,3 +133,53 @@ describe("boilingdata with SQLite3", () => {
133133 expect ( rows . sort ( ) ) . toMatchSnapshot ( ) ;
134134 } ) ;
135135} ) ;
136+
137+ describe ( "boilingdata with Glue Tables" , ( ) => {
138+ beforeAll ( async ( ) => {
139+ await bdInstance . connect ( ) ;
140+ logger . info ( "connected." ) ;
141+ } ) ;
142+
143+ afterAll ( async ( ) => {
144+ await bdInstance . close ( ) ;
145+ logger . info ( "connection closed." ) ;
146+ } ) ;
147+
148+ it ( "can read S3 Keys from Glue Table" , async ( ) => {
149+ const rows = await new Promise < any [ ] > ( ( resolve , _reject ) => {
150+ const r : any [ ] = [ ] ;
151+ bdInstance . execQuery ( {
152+ sql : `SELECT 's3://KEY' AS s3key, COUNT(*) AS count FROM parquet_scan('s3://KEY');` ,
153+ engine : EEngineTypes . DUCKDB ,
154+ keys : [ "glue.default.nyctaxis" ] ,
155+ callbacks : {
156+ onData : ( data : IBDDataResponse | unknown ) => {
157+ if ( isDataResponse ( data ) ) data . data . map ( row => r . push ( row ) ) ;
158+ } ,
159+ onQueryFinished : ( ) => resolve ( r ) ,
160+ // onLogError: (data: any) => reject(data),
161+ } ,
162+ } ) ;
163+ } ) ;
164+ expect ( rows . sort ( ( a , b ) => a . s3key . localeCompare ( b . s3key ) ) ) . toMatchSnapshot ( ) ;
165+ } ) ;
166+
167+ it ( "can do partition filter push down" , async ( ) => {
168+ const rows = await new Promise < any [ ] > ( ( resolve , _reject ) => {
169+ const r : any [ ] = [ ] ;
170+ bdInstance . execQuery ( {
171+ sql : `SELECT 's3://KEY' AS s3key, COUNT(*) AS count FROM parquet_scan('s3://KEY') WHERE year=2009 AND month=8;` ,
172+ engine : EEngineTypes . DUCKDB ,
173+ keys : [ "glue.default.nyctaxis" ] ,
174+ callbacks : {
175+ onData : ( data : IBDDataResponse | unknown ) => {
176+ if ( isDataResponse ( data ) ) data . data . map ( row => r . push ( row ) ) ;
177+ } ,
178+ onQueryFinished : ( ) => resolve ( r ) ,
179+ // onLogError: (data: any) => reject(data),
180+ } ,
181+ } ) ;
182+ } ) ;
183+ expect ( rows . sort ( ( a , b ) => a . s3key . localeCompare ( b . s3key ) ) ) . toMatchSnapshot ( ) ;
184+ } ) ;
185+ } ) ;
0 commit comments