@@ -1899,53 +1899,8 @@ export class BaseQuery {
18991899 */
19001900 intervalAndMinimalTimeUnit ( interval ) {
19011901 const intervalParsed = parseSqlInterval ( interval ) ;
1902- const intKeys = Object . keys ( intervalParsed ) . length ;
1903-
1904- if ( intervalParsed . year && intKeys === 1 ) {
1905- return [ interval , 'year' ] ;
1906- } else if ( intervalParsed . year && intervalParsed . month && intKeys === 2 ) {
1907- return [ interval , 'month' ] ;
1908- } else if ( intervalParsed . year && intervalParsed . month && intervalParsed . day && intKeys === 3 ) {
1909- return [ interval , 'day' ] ;
1910- } else if ( intervalParsed . year && intervalParsed . month && intervalParsed . day && intervalParsed . hour && intKeys === 4 ) {
1911- return [ interval , 'hour' ] ;
1912- } else if ( intervalParsed . year && intervalParsed . month && intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intKeys === 5 ) {
1913- return [ interval , 'minute' ] ;
1914- } else if ( intervalParsed . year && intervalParsed . month && intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intervalParsed . second && intKeys === 6 ) {
1915- return [ interval , 'second' ] ;
1916- } else if ( intervalParsed . quarter && intKeys === 1 ) {
1917- return [ interval , 'quarter' ] ;
1918- } else if ( intervalParsed . month && intKeys === 1 ) {
1919- return [ interval , 'month' ] ;
1920- } else if ( intervalParsed . month && intervalParsed . day && intKeys === 2 ) {
1921- return [ interval , 'day' ] ;
1922- } else if ( intervalParsed . month && intervalParsed . day && intervalParsed . hour && intKeys === 3 ) {
1923- return [ interval , 'hour' ] ;
1924- } else if ( intervalParsed . month && intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intKeys === 4 ) {
1925- return [ interval , 'minute' ] ;
1926- } else if ( intervalParsed . month && intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intervalParsed . second && intKeys === 5 ) {
1927- return [ interval , 'second' ] ;
1928- } else if ( intervalParsed . week && intKeys === 1 ) {
1929- return [ interval , 'week' ] ;
1930- } else if ( intervalParsed . day && intKeys === 1 ) {
1931- return [ interval , 'day' ] ;
1932- } else if ( intervalParsed . day && intervalParsed . hour && intKeys === 2 ) {
1933- return [ interval , 'hour' ] ;
1934- } else if ( intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intKeys === 3 ) {
1935- return [ interval , 'minute' ] ;
1936- } else if ( intervalParsed . day && intervalParsed . hour && intervalParsed . minute && intervalParsed . second && intKeys === 4 ) {
1937- return [ interval , 'second' ] ;
1938- } else if ( intervalParsed . hour && intervalParsed . minute && intKeys === 2 ) {
1939- return [ interval , 'minute' ] ;
1940- } else if ( intervalParsed . hour && intervalParsed . minute && intervalParsed . second && intKeys === 3 ) {
1941- return [ interval , 'second' ] ;
1942- } else if ( intervalParsed . minute && intervalParsed . second && intKeys === 2 ) {
1943- return [ interval , 'second' ] ;
1944- }
1945-
1946- // No need to support microseconds.
1947-
1948- throw new Error ( `Cannot transform interval expression "${ interval } "` ) ;
1902+ const minGranularity = this . diffTimeUnitForInterval ( interval ) ;
1903+ return [ interval , minGranularity ] ;
19491904 }
19501905
19511906 commonQuery ( ) {
0 commit comments