Repository: reata/sqllineage

Issue:
Refresh Table and Cache Table Should Not Count as Target Table
```
sqllineage -e "refresh table dual;" 
Statements(#): 1
Source Tables:
    
Target Tables:
    <unknown>.dual
```

Discussion:

Patch:
diff --git a/sqllineage/core.py b/sqllineage/core.py
index 3657362..25f6751 100644
--- a/sqllineage/core.py
+++ b/sqllineage/core.py
@@ -70,6 +70,8 @@ class LineageAnalyzer:
         elif (
             stmt.get_type() == "DELETE"
             or stmt.token_first(skip_cm=True).normalized == "TRUNCATE"
+            or stmt.token_first(skip_cm=True).normalized.upper() == "REFRESH"
+            or stmt.token_first(skip_cm=True).normalized == "CACHE"
         ):
             pass
         else:


Test patch:
diff --git a/tests/test_others.py b/tests/test_others.py
index 2468ef5..afe8852 100644
--- a/tests/test_others.py
+++ b/tests/test_others.py
@@ -91,6 +91,14 @@ def test_alter_target_table_name():
     )
 
 
+def test_refresh_table():
+    helper("refresh table tab1", None, None)
+
+
+def test_cache_table():
+    helper("cache table tab1", None, None)
+
+
 def test_truncate_table():
     helper("truncate table tab1", None, None)