@@ -66,74 +66,74 @@ pub fn normal_mode_handler(app: &mut App, key: KeyEvent) {
66
66
}
67
67
}
68
68
69
- KeyCode :: Enter => {
70
- info ! ( "Run FS query" ) ;
71
- let sql = app. state . flightsql_tab . editor ( ) . lines ( ) . join ( "" ) ;
72
- info ! ( "SQL: {}" , sql) ;
73
- let execution = Arc :: clone ( & app. execution ) ;
74
- let _event_tx = app. event_tx ( ) ;
75
- tokio:: spawn ( async move {
76
- let client = execution. flightsql_client ( ) ;
77
- let mut query =
78
- FlightSQLQuery :: new ( sql. clone ( ) , None , None , None , Duration :: default ( ) , None ) ;
79
- let start = Instant :: now ( ) ;
80
- if let Some ( ref mut c) = * client. lock ( ) . await {
81
- info ! ( "Sending query" ) ;
82
- match c. execute ( sql, None ) . await {
83
- Ok ( flight_info) => {
84
- for endpoint in flight_info. endpoint {
85
- if let Some ( ticket) = endpoint. ticket {
86
- match c. do_get ( ticket. into_request ( ) ) . await {
87
- Ok ( mut stream) => {
88
- let mut batches: Vec < RecordBatch > = Vec :: new ( ) ;
89
- // temporarily only show the first batch to avoid
90
- // buffering massive result sets. Eventually there should
91
- // be some sort of paging logic
92
- // see https://github.com/datafusion-contrib/datafusion-tui/pull/133#discussion_r1756680874
93
- // while let Some(maybe_batch) = stream.next().await {
94
- if let Some ( maybe_batch) = stream. next ( ) . await {
95
- match maybe_batch {
96
- Ok ( batch) => {
97
- info ! ( "Batch rows: {}" , batch. num_rows( ) ) ;
98
- batches. push ( batch) ;
99
- }
100
- Err ( e) => {
101
- error ! ( "Error getting batch: {:?}" , e) ;
102
- let elapsed = start. elapsed ( ) ;
103
- query. set_error ( Some ( e. to_string ( ) ) ) ;
104
- query. set_execution_time ( elapsed) ;
105
- }
106
- }
107
- }
108
- let elapsed = start. elapsed ( ) ;
109
- let rows: usize =
110
- batches. iter ( ) . map ( |r| r. num_rows ( ) ) . sum ( ) ;
111
- query. set_results ( Some ( batches) ) ;
112
- query. set_num_rows ( Some ( rows) ) ;
113
- query. set_execution_time ( elapsed) ;
114
- }
115
- Err ( e) => {
116
- error ! ( "Error getting response: {:?}" , e) ;
117
- let elapsed = start. elapsed ( ) ;
118
- query. set_error ( Some ( e. to_string ( ) ) ) ;
119
- query. set_execution_time ( elapsed) ;
120
- }
121
- }
122
- }
123
- }
124
- }
125
- Err ( e) => {
126
- error ! ( "Error getting response: {:?}" , e) ;
127
- let elapsed = start. elapsed ( ) ;
128
- query. set_error ( Some ( e. to_string ( ) ) ) ;
129
- query. set_execution_time ( elapsed) ;
130
- }
131
- }
132
- }
133
-
134
- let _ = _event_tx. send ( AppEvent :: FlightSQLQueryResult ( query) ) ;
135
- } ) ;
136
- }
69
+ // KeyCode::Enter => {
70
+ // info!("Run FS query");
71
+ // let sql = app.state.flightsql_tab.editor().lines().join("");
72
+ // info!("SQL: {}", sql);
73
+ // let execution = Arc::clone(&app.execution);
74
+ // let _event_tx = app.event_tx();
75
+ // tokio::spawn(async move {
76
+ // let client = execution.flightsql_client();
77
+ // let mut query =
78
+ // FlightSQLQuery::new(sql.clone(), None, None, None, Duration::default(), None);
79
+ // let start = Instant::now();
80
+ // if let Some(ref mut c) = *client.lock().await {
81
+ // info!("Sending query");
82
+ // match c.execute(sql, None).await {
83
+ // Ok(flight_info) => {
84
+ // for endpoint in flight_info.endpoint {
85
+ // if let Some(ticket) = endpoint.ticket {
86
+ // match c.do_get(ticket.into_request()).await {
87
+ // Ok(mut stream) => {
88
+ // let mut batches: Vec<RecordBatch> = Vec::new();
89
+ // // temporarily only show the first batch to avoid
90
+ // // buffering massive result sets. Eventually there should
91
+ // // be some sort of paging logic
92
+ // // see https://github.com/datafusion-contrib/datafusion-tui/pull/133#discussion_r1756680874
93
+ // // while let Some(maybe_batch) = stream.next().await {
94
+ // if let Some(maybe_batch) = stream.next().await {
95
+ // match maybe_batch {
96
+ // Ok(batch) => {
97
+ // info!("Batch rows: {}", batch.num_rows());
98
+ // batches.push(batch);
99
+ // }
100
+ // Err(e) => {
101
+ // error!("Error getting batch: {:?}", e);
102
+ // let elapsed = start.elapsed();
103
+ // query.set_error(Some(e.to_string()));
104
+ // query.set_execution_time(elapsed);
105
+ // }
106
+ // }
107
+ // }
108
+ // let elapsed = start.elapsed();
109
+ // let rows: usize =
110
+ // batches.iter().map(|r| r.num_rows()).sum();
111
+ // query.set_results(Some(batches));
112
+ // query.set_num_rows(Some(rows));
113
+ // query.set_execution_time(elapsed);
114
+ // }
115
+ // Err(e) => {
116
+ // error!("Error getting response: {:?}", e);
117
+ // let elapsed = start.elapsed();
118
+ // query.set_error(Some(e.to_string()));
119
+ // query.set_execution_time(elapsed);
120
+ // }
121
+ // }
122
+ // }
123
+ // }
124
+ // }
125
+ // Err(e) => {
126
+ // error!("Error getting response: {:?}", e);
127
+ // let elapsed = start.elapsed();
128
+ // query.set_error(Some(e.to_string()));
129
+ // query.set_execution_time(elapsed);
130
+ // }
131
+ // }
132
+ // }
133
+ //
134
+ // let _ = _event_tx.send(AppEvent::FlightSQLQueryResult(query));
135
+ // });
136
+ // }
137
137
_ => { }
138
138
}
139
139
}
0 commit comments