Пример #1
0
    def test_clean_and_split_sql(self):
        sql = "SELECT COUNT( * ) FROM LOCATION AS LOCATIONalias0 , RESTAURANT AS RESTAURANTalias0 WHERE LOCATIONalias0.CITY_NAME " \
              "= \"city_name0\" AND RESTAURANTalias0.ID = LOCATIONalias0.RESTAURANT_ID AND RESTAURANTalias0.NAME = \"name0\" ;"

        cleaned = text2sql_utils.clean_and_split_sql(sql)
        assert cleaned == ['SELECT', 'COUNT', '(', '*', ')', 'FROM', 'LOCATION', 'AS', 'LOCATIONalias0', ',',
                           'RESTAURANT', 'AS', 'RESTAURANTalias0', 'WHERE', 'LOCATIONalias0', '.', 'CITY_NAME', '=',
                           '\'city_name0\'', 'AND', 'RESTAURANTalias0', '.', 'ID', '=', 'LOCATIONalias0', '.', 'RESTAURANT_ID',
                           'AND', 'RESTAURANTalias0', '.', 'NAME', '=', '\'name0\'', ';']
    def test_clean_and_split_sql(self):
        sql = (
            "SELECT COUNT( * ) FROM LOCATION AS LOCATIONalias0 , RESTAURANT AS RESTAURANTalias0 WHERE LOCATIONalias0.CITY_NAME "
            '= "city_name0" AND RESTAURANTalias0.ID = LOCATIONalias0.RESTAURANT_ID AND RESTAURANTalias0.NAME = "name0" ;'
        )

        cleaned = text2sql_utils.clean_and_split_sql(sql)
        assert cleaned == [
            "SELECT",
            "COUNT",
            "(",
            "*",
            ")",
            "FROM",
            "LOCATION",
            "AS",
            "LOCATIONalias0",
            ",",
            "RESTAURANT",
            "AS",
            "RESTAURANTalias0",
            "WHERE",
            "LOCATIONalias0",
            ".",
            "CITY_NAME",
            "=",
            "'city_name0'",
            "AND",
            "RESTAURANTalias0",
            ".",
            "ID",
            "=",
            "LOCATIONalias0",
            ".",
            "RESTAURANT_ID",
            "AND",
            "RESTAURANTalias0",
            ".",
            "NAME",
            "=",
            "'name0'",
            ";",
        ]