Merging upstream version 25.26.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
9138e4b92a
commit
829a709061
117 changed files with 49296 additions and 47316 deletions
|
@ -1,6 +1,6 @@
|
|||
from sqlglot import exp, parse, parse_one
|
||||
from tests.dialects.test_dialect import Validator
|
||||
from sqlglot.errors import ParseError
|
||||
from sqlglot.errors import ParseError, UnsupportedError
|
||||
from sqlglot.optimizer.annotate_types import annotate_types
|
||||
|
||||
|
||||
|
@ -1001,6 +1001,17 @@ class TestTSQL(Validator):
|
|||
)
|
||||
self.validate_identity("CREATE PROC foo AS SELECT BAR() AS baz")
|
||||
self.validate_identity("CREATE PROCEDURE foo AS SELECT BAR() AS baz")
|
||||
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH ENCRYPTION AS SELECT 1")
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH RECOMPILE AS SELECT 1")
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH SCHEMABINDING AS SELECT 1")
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH NATIVE_COMPILATION AS SELECT 1")
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH EXECUTE AS OWNER AS SELECT 1")
|
||||
self.validate_identity("CREATE PROCEDURE foo WITH EXECUTE AS 'username' AS SELECT 1")
|
||||
self.validate_identity(
|
||||
"CREATE PROCEDURE foo WITH EXECUTE AS OWNER, SCHEMABINDING, NATIVE_COMPILATION AS SELECT 1"
|
||||
)
|
||||
|
||||
self.validate_identity("CREATE FUNCTION foo(@bar INTEGER) RETURNS TABLE AS RETURN SELECT 1")
|
||||
self.validate_identity("CREATE FUNCTION dbo.ISOweek(@DATE DATETIME2) RETURNS INTEGER")
|
||||
|
||||
|
@ -1059,6 +1070,7 @@ WHERE
|
|||
CREATE procedure [TRANSF].[SP_Merge_Sales_Real]
|
||||
@Loadid INTEGER
|
||||
,@NumberOfRows INTEGER
|
||||
WITH EXECUTE AS OWNER, SCHEMABINDING, NATIVE_COMPILATION
|
||||
AS
|
||||
BEGIN
|
||||
SET XACT_ABORT ON;
|
||||
|
@ -1074,7 +1086,7 @@ WHERE
|
|||
"""
|
||||
|
||||
expected_sqls = [
|
||||
"CREATE PROCEDURE [TRANSF].[SP_Merge_Sales_Real] @Loadid INTEGER, @NumberOfRows INTEGER AS BEGIN SET XACT_ABORT ON",
|
||||
"CREATE PROCEDURE [TRANSF].[SP_Merge_Sales_Real] @Loadid INTEGER, @NumberOfRows INTEGER WITH EXECUTE AS OWNER, SCHEMABINDING, NATIVE_COMPILATION AS BEGIN SET XACT_ABORT ON",
|
||||
"DECLARE @DWH_DateCreated AS DATETIME2 = CONVERT(DATETIME2, GETDATE(), 104)",
|
||||
"DECLARE @DWH_DateModified AS DATETIME2 = CONVERT(DATETIME2, GETDATE(), 104)",
|
||||
"DECLARE @DWH_IdUserCreated AS INTEGER = SUSER_ID(CURRENT_USER())",
|
||||
|
@ -2014,3 +2026,39 @@ FROM OPENJSON(@json) WITH (
|
|||
self.validate_identity(
|
||||
"GRANT EXECUTE ON TestProc TO User2 AS TesterRole", check_command_warning=True
|
||||
)
|
||||
|
||||
def test_parsename(self):
|
||||
for i in range(4):
|
||||
with self.subTest("Testing PARSENAME <-> SPLIT_PART"):
|
||||
self.validate_all(
|
||||
f"SELECT PARSENAME('1.2.3', {i})",
|
||||
read={
|
||||
"spark": f"SELECT SPLIT_PART('1.2.3', '.', {4 - i})",
|
||||
"databricks": f"SELECT SPLIT_PART('1.2.3', '.', {4 - i})",
|
||||
},
|
||||
write={
|
||||
"spark": f"SELECT SPLIT_PART('1.2.3', '.', {4 - i})",
|
||||
"databricks": f"SELECT SPLIT_PART('1.2.3', '.', {4 - i})",
|
||||
"tsql": f"SELECT PARSENAME('1.2.3', {i})",
|
||||
},
|
||||
)
|
||||
|
||||
# Test non-dot delimiter
|
||||
self.validate_all(
|
||||
"SELECT SPLIT_PART('1,2,3', ',', 1)",
|
||||
write={
|
||||
"spark": "SELECT SPLIT_PART('1,2,3', ',', 1)",
|
||||
"databricks": "SELECT SPLIT_PART('1,2,3', ',', 1)",
|
||||
"tsql": UnsupportedError,
|
||||
},
|
||||
)
|
||||
|
||||
# Test column-type parameters
|
||||
self.validate_all(
|
||||
"WITH t AS (SELECT 'a.b.c' AS value, 1 AS idx) SELECT SPLIT_PART(value, '.', idx) FROM t",
|
||||
write={
|
||||
"spark": "WITH t AS (SELECT 'a.b.c' AS value, 1 AS idx) SELECT SPLIT_PART(value, '.', idx) FROM t",
|
||||
"databricks": "WITH t AS (SELECT 'a.b.c' AS value, 1 AS idx) SELECT SPLIT_PART(value, '.', idx) FROM t",
|
||||
"tsql": UnsupportedError,
|
||||
},
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue