@@ -287,4 +287,179 @@ public void testInputStreamForVolumeOperation() throws Exception {
287287 assertThrows (
288288 DatabricksSQLException .class , () -> statement .allowInputStreamForVolumeOperation (false ));
289289 }
290+
291+ @ Test
292+ public void testShouldReturnResultSet_SelectQuery () {
293+ String query = "-- comment\n SELECT * FROM table;" ;
294+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
295+ }
296+
297+ @ Test
298+ public void testShouldReturnResultSet_ShowQuery () {
299+ String query = "SHOW TABLES;" ;
300+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
301+ }
302+
303+ @ Test
304+ public void testShouldReturnResultSet_DescribeQuery () {
305+ String query = "DESCRIBE table;" ;
306+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
307+ }
308+
309+ @ Test
310+ public void testShouldReturnResultSet_ExplainQuery () {
311+ String query = "EXPLAIN SELECT * FROM table;" ;
312+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
313+ }
314+
315+ @ Test
316+ public void testShouldReturnResultSet_WithQuery () {
317+ String query = "WITH cte AS (SELECT * FROM table) SELECT * FROM cte;" ;
318+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
319+ }
320+
321+ @ Test
322+ public void testShouldReturnResultSet_SetQuery () {
323+ String query = "SET @var = (SELECT COUNT(*) FROM table);" ;
324+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
325+ }
326+
327+ @ Test
328+ public void testShouldReturnResultSet_MapQuery () {
329+ String query = "MAP table USING some_mapping;" ;
330+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
331+ }
332+
333+ @ Test
334+ public void testShouldReturnResultSet_FromQuery () {
335+ String query = "SELECT * FROM table;" ;
336+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
337+ }
338+
339+ @ Test
340+ public void testShouldReturnResultSet_ValuesQuery () {
341+ String query = "VALUES (1, 2, 3);" ;
342+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
343+ }
344+
345+ @ Test
346+ public void testShouldReturnResultSet_UnionQuery () {
347+ String query = "SELECT * FROM table1 UNION SELECT * FROM table2;" ;
348+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
349+ }
350+
351+ @ Test
352+ public void testShouldReturnResultSet_IntersectQuery () {
353+ String query = "SELECT * FROM table1 INTERSECT SELECT * FROM table2;" ;
354+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
355+ }
356+
357+ @ Test
358+ public void testShouldReturnResultSet_ExceptQuery () {
359+ String query = "SELECT * FROM table1 EXCEPT SELECT * FROM table2;" ;
360+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
361+ }
362+
363+ @ Test
364+ public void testShouldReturnResultSet_DeclareQuery () {
365+ String query = "DECLARE @var INT;" ;
366+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
367+ }
368+
369+ @ Test
370+ public void testShouldReturnResultSet_PutQuery () {
371+ String query = "PUT some_data INTO table;" ;
372+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
373+ }
374+
375+ @ Test
376+ public void testShouldReturnResultSet_GetQuery () {
377+ String query = "GET some_data FROM table;" ;
378+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
379+ }
380+
381+ @ Test
382+ public void testShouldReturnResultSet_RemoveQuery () {
383+ String query = "REMOVE some_data FROM table;" ;
384+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
385+ }
386+
387+ @ Test
388+ public void testShouldReturnResultSet_ListQuery () {
389+ String query = "LIST TABLES;" ;
390+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
391+ }
392+
393+ @ Test
394+ public void testShouldReturnResultSet_UpdateQuery () {
395+ String query = "UPDATE table SET column = value;" ;
396+ assertFalse (DatabricksStatement .shouldReturnResultSet (query ));
397+ }
398+
399+ @ Test
400+ public void testShouldReturnResultSet_DeleteQuery () {
401+ String query = "DELETE FROM table WHERE condition;" ;
402+ assertFalse (DatabricksStatement .shouldReturnResultSet (query ));
403+ }
404+
405+ @ Test
406+ public void testShouldReturnResultSet_SingleLineCommentAtStart () {
407+ String query = "-- This is a comment\n SELECT * FROM table;" ;
408+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
409+ }
410+
411+ @ Test
412+ public void testShouldReturnResultSet_SingleLineCommentAtEnd () {
413+ String query = "SELECT * FROM table; -- This is a comment" ;
414+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
415+ }
416+
417+ @ Test
418+ public void testShouldReturnResultSet_SingleLineCommentInMiddle () {
419+ String query = "SELECT * FROM table -- This is a comment\n WHERE id = 1;" ;
420+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
421+ }
422+
423+ @ Test
424+ public void testShouldReturnResultSet_MultiLineCommentAtStart () {
425+ String query = "/* This is a comment */ SELECT * FROM table;" ;
426+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
427+ }
428+
429+ @ Test
430+ public void testShouldReturnResultSet_MultiLineCommentAtEnd () {
431+ String query = "SELECT * FROM table; /* This is a comment */" ;
432+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
433+ }
434+
435+ @ Test
436+ public void testShouldReturnResultSet_MultiLineCommentInMiddle () {
437+ String query = "SELECT * FROM table /* This is a comment */ WHERE id = 1;" ;
438+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
439+ }
440+
441+ @ Test
442+ public void testShouldReturnResultSet_MultipleSingleLineComments () {
443+ String query = "-- Comment 1\n SELECT * FROM table; -- Comment 2\n -- Comment 3" ;
444+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
445+ }
446+
447+ @ Test
448+ public void testShouldReturnResultSet_MultipleMultiLineComments () {
449+ String query = "/* Comment 1 */ SELECT * FROM table; /* Comment 2 */ /* Comment 3 */" ;
450+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
451+ }
452+
453+ @ Test
454+ public void testShouldReturnResultSet_SingleAndMultiLineComments () {
455+ String query = "-- Single-line comment\n SELECT * FROM table; /* Multi-line comment */" ;
456+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
457+ }
458+
459+ @ Test
460+ public void testShouldReturnResultSet_CommentSurroundingQuery () {
461+ String query =
462+ "-- Single-line comment\n /* Multi-line comment */ SELECT * FROM table; /* Another comment */ -- End comment" ;
463+ assertTrue (DatabricksStatement .shouldReturnResultSet (query ));
464+ }
290465}
0 commit comments