vinodkc commented on code in PR #38146:
URL: https://github.com/apache/spark/pull/38146#discussion_r1013415091


##########
sql/core/src/test/resources/sql-tests/inputs/string-functions.sql:
##########
@@ -58,6 +60,54 @@ SELECT substring('Spark SQL' from 5);
 SELECT substring('Spark SQL' from -3);
 SELECT substring('Spark SQL' from 5 for 1);
 
+-- mask function
+SELECT mask('AbCD123-@$#');
+SELECT mask('AbCD123-@$#', 'Q');
+SELECT mask('AbCD123-@$#', 'Q','q');
+SELECT mask('AbCD123-@$#', 'Q','q', 'd');
+SELECT mask('AbCD123-@$#', 'Q','q', 'd', 'o');
+SELECT mask('AbCD123-@$#', -1, 'q', 'd', 'o');
+SELECT mask('AbCD123-@$#', -1,-1, 'd', 'o');
+SELECT mask('AbCD123-@$#', -1,-1, -1, 'o');
+SELECT mask('AbCD123-@$#', -1, -1, -1, -1);
+SELECT mask(NULL);
+SELECT mask(NULL, -1, 'q', 'd', 'o');
+SELECT mask(NULL, -1,-1, 'd', 'o');
+SELECT mask(NULL, -1,-1, -1, 'o');
+SELECT mask(NULL, -1, -1, -1, -1);
+SELECT mask(c1) from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, 'Q') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, 'Q','q')from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, 'Q','q', 'd') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, 'Q','q', 'd', 'o') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, -1, 'q', 'd', 'o') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, -1,-1, 'd', 'o') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, -1,-1, -1, 'o') from values ('AbCD123-@$#') as tab(c1);
+SELECT mask(c1, -1, -1, -1, -1) from values ('AbCD123-@$#') as tab(c1);
+SELECT mask('abcd-EFGH-8765-4321');
+SELECT mask('abcd-EFGH-8765-4321', 'Q');
+SELECT mask('abcd-EFGH-8765-4321', 'Q','q');
+SELECT mask('abcd-EFGH-8765-4321', 'Q','q', 'd');
+SELECT mask('abcd-EFGH-8765-4321', 'Q','q', 'd', '*');
+SELECT mask('abcd-EFGH-8765-4321', -1, 'q', 'd', '*');
+SELECT mask('abcd-EFGH-8765-4321', -1,-1, 'd', '*');
+SELECT mask('abcd-EFGH-8765-4321', -1,-1, -1, '*');
+SELECT mask('abcd-EFGH-8765-4321', -1, -1, -1, -1);
+SELECT mask(NULL);
+SELECT mask(NULL, -1, 'q', 'd', '*');
+SELECT mask(NULL, -1,-1, 'd', '*');
+SELECT mask(NULL, -1,-1, -1, '*');
+SELECT mask(NULL, -1, -1, -1, -1);
+SELECT mask(c1) from values ('abcd-EFGH-8765-4321') as tab(c1);
+SELECT mask(c1, 'Q') from values ('abcd-EFGH-8765-4321') as tab(c1);
+SELECT mask(c1, 'Q','q')from values ('abcd-EFGH-8765-4321') as tab(c1);
+SELECT mask(c1, 'Q','q', 'd') from values ('abcd-EFGH-8765-4321') as tab(c1);

Review Comment:
   When arguments are column references, it will throw an Analysis exception. 
Only foldable expressions are allowed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to