def is_readonly_query(cls, parsed_query: ParsedQuery) -> bool: """Pessimistic readonly, 100% sure statement won't mutate anything""" return ( super().is_readonly_query(parsed_query) or parsed_query.is_set() or parsed_query.is_show() )
def test_set(self): sql = ParsedQuery(""" -- comment SET hivevar:desc='Legislators'; """) self.assertEqual(True, sql.is_set()) self.assertEqual(False, sql.is_select()) self.assertEqual(True, ParsedQuery("set hivevar:desc='bla'").is_set()) self.assertEqual(False, ParsedQuery("SELECT 1").is_set())
def test_set() -> None: """ Test that ``SET`` is detected correctly. """ query = ParsedQuery(""" -- comment SET hivevar:desc='Legislators'; """) assert query.is_set() is True assert query.is_select() is False assert ParsedQuery("set hivevar:desc='bla'").is_set() is True assert ParsedQuery("SELECT 1").is_set() is False