Skip to content

Commit

Permalink
ddl_logins
Browse files Browse the repository at this point in the history
Signed-off-by: Shreya Rai <[email protected]>
  • Loading branch information
shreyaxr3 committed Feb 6, 2025
1 parent 8f23703 commit 2dc9c37
Show file tree
Hide file tree
Showing 37 changed files with 719 additions and 0 deletions.
22 changes: 22 additions & 0 deletions contrib/babelfishpg_tsql/sql/sys_functions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4126,6 +4126,28 @@ END
$BODY$
LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE STRICT;


CREATE OR REPLACE FUNCTION sys.loginproperty(arg1 sys.sysname, arg2 sys.nvarchar(128))
RETURNS sys.nvarchar(128)
AS $$
DECLARE
BEGIN
RETURN NULL;
END;
$$ LANGUAGE plpgsql STABLE;


CREATE OR REPLACE FUNCTION sys.fn_varbintohexsubstring(arg1 INT, arg2 sys.varbinary(128), arg3 INT, arg4 INT)
RETURNS sys.nvarchar(128)
AS $$
DECLARE
BEGIN
RETURN NULL;
END;
$$ LANGUAGE plpgsql STABLE;



CREATE OR REPLACE FUNCTION objectproperty(
id INT,
property SYS.VARCHAR
Expand Down
53 changes: 53 additions & 0 deletions contrib/babelfishpg_tsql/sql/sys_views.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3290,6 +3290,59 @@ JOIN pg_trigger pt ON pt.tgrelid = pc.oid AND tr.trigger_name = pt.tgname COLLAT
AND has_table_privilege(pc.oid, 'SELECT,INSERT,UPDATE,DELETE,TRUNCATE,TRIGGER');
GRANT SELECT ON sys.events TO PUBLIC;


CREATE VIEW sys.server_permissions
AS
SELECT
CAST(0 as sys.tinyint) AS class,
CAST(NULL as sys.nvarchar(60)) AS class_desc,
CAST(NULL as INT) AS major_id,
CAST(NULL as INT) AS minor_id,
CAST(NULL as INT) AS grantee_principal_id,
CAST(NULL as INT) AS grantor_principal_id,
CAST('a' as sys.BPCHAR(4)) AS type,
CAST(NULL as sys.nvarchar(128)) AS permission_name,
CAST(NULL as sys.BPCHAR(1)) AS state,
CAST(NULL as sys.nvarchar(60)) AS state_desc
WHERE FALSE;
GRANT SELECT ON sys.server_permissions TO PUBLIC;

CREATE VIEW sys.credentials
AS
SELECT
CAST(NULL as INT) AS credential_id,
CAST(NULL as sys.sysname) AS name,
CAST(NULL as sys.nvarchar(4000)) AS credential_identity,
CAST(NULL as sys.datetime) AS create_date,
CAST(NULL as sys.datetime) AS modify_date,
CAST(NULL as sys.nvarchar(100)) AS target_type,
CAST(NULL as INT) AS target_id
WHERE FALSE;
GRANT SELECT ON sys.credentials TO PUBLIC;

CREATE VIEW sys.sql_logins
AS
SELECT
CAST(NULL as sys.sysname) AS name,
CAST(NULL as INT) AS principal_id,
CAST(NULL as sys.VARBINARY(85)) AS sid,
CAST(NULL as sys.BPCHAR(1)) AS type,
CAST(NULL as sys.nvarchar(60)) AS type_desc,
CAST(NULL as INT) AS is_disabled,
CAST(NULL as sys.DATETIME) AS create_date,
CAST(NULL as sys.DATETIME) AS modify_date,
CAST(NULL as sys.sysname) AS default_database_name,
CAST(NULL as sys.sysname) AS default_language_name,
CAST(NULL as INT) AS credential_id,
CAST(NULL as INT) AS owning_principal_id,
CAST(0 as sys.BIT) AS is_fixed_role,
CAST(0 as sys.BIT) AS is_policy_checked,
CAST(0 as sys.BIT) AS is_expiration_checked,
CAST(NULL as sys.varbinary(256)) AS password_hash
WHERE FALSE;
GRANT SELECT ON sys.sql_logins TO PUBLIC;


CREATE OR REPLACE VIEW sys.trigger_events
AS
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,80 @@ CREATE OR REPLACE FUNCTION sys.hashbytes(IN alg sys.VARCHAR, IN data sys.VARCHAR
AS 'babelfishpg_tsql', 'hashbytes' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
GRANT EXECUTE ON FUNCTION sys.hashbytes(IN alg sys.VARCHAR, IN sys.VARCHAR) TO PUBLIC;


CREATE VIEW sys.server_permissions
AS
SELECT
CAST(0 as sys.tinyint) AS class,
CAST(NULL as sys.nvarchar(60)) AS class_desc,
CAST(NULL as INT) AS major_id,
CAST(NULL as INT) AS minor_id,
CAST(NULL as INT) AS grantee_principal_id,
CAST(NULL as INT) AS grantor_principal_id,
CAST('a' as sys.BPCHAR(4)) AS type,
CAST(NULL as sys.nvarchar(128)) AS permission_name,
CAST(NULL as sys.BPCHAR(1)) AS state,
CAST(NULL as sys.nvarchar(60)) AS state_desc
WHERE FALSE;
GRANT SELECT ON sys.server_permissions TO PUBLIC;

CREATE VIEW sys.credentials
AS
SELECT
CAST(NULL as INT) AS credential_id,
CAST(NULL as sys.sysname) AS name,
CAST(NULL as sys.nvarchar(4000)) AS credential_identity,
CAST(NULL as sys.datetime) AS create_date,
CAST(NULL as sys.datetime) AS modify_date,
CAST(NULL as sys.nvarchar(100)) AS target_type,
CAST(NULL as INT) AS target_id
WHERE FALSE;
GRANT SELECT ON sys.credentials TO PUBLIC;

CREATE VIEW sys.sql_logins
AS
SELECT
CAST(NULL as sys.sysname) AS name,
CAST(NULL as INT) AS principal_id,
CAST(NULL as sys.VARBINARY(85)) AS sid,
CAST(NULL as sys.BPCHAR(1)) AS type,
CAST(NULL as sys.nvarchar(60)) AS type_desc,
CAST(NULL as INT) AS is_disabled,
CAST(NULL as sys.DATETIME) AS create_date,
CAST(NULL as sys.DATETIME) AS modify_date,
CAST(NULL as sys.sysname) AS default_database_name,
CAST(NULL as sys.sysname) AS default_language_name,
CAST(NULL as INT) AS credential_id,
CAST(NULL as INT) AS owning_principal_id,
CAST(0 as sys.BIT) AS is_fixed_role,
CAST(0 as sys.BIT) AS is_policy_checked,
CAST(0 as sys.BIT) AS is_expiration_checked,
CAST(NULL as sys.varbinary(256)) AS password_hash
WHERE FALSE;
GRANT SELECT ON sys.sql_logins TO PUBLIC;


CREATE OR REPLACE FUNCTION sys.loginproperty(arg1 sys.sysname, arg2 sys.nvarchar(128))
RETURNS sys.nvarchar(128)
AS $$
DECLARE
BEGIN
RETURN NULL;
END;
$$ LANGUAGE plpgsql STABLE;


CREATE OR REPLACE FUNCTION sys.fn_varbintohexsubstring(arg1 INT, arg2 sys.varbinary(128), arg3 INT, arg4 INT)
RETURNS sys.nvarchar(128)
AS $$
DECLARE
BEGIN
RETURN NULL;
END;
$$ LANGUAGE plpgsql STABLE;



CREATE OR REPLACE FUNCTION sys.hashbytes(IN alg sys.VARCHAR, IN data sys.NVARCHAR) RETURNS sys.bbf_varbinary
AS 'babelfishpg_tsql', 'hashbytes' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
GRANT EXECUTE ON FUNCTION sys.hashbytes(IN alg sys.VARCHAR, IN sys.NVARCHAR) TO PUBLIC;
Expand Down
8 changes: 8 additions & 0 deletions test/JDBC/expected/sys-fn-varbintohexsubstring-vu-cleanup.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
DROP VIEW fn_varbintohexsubstring_vu_prepare_view
GO

DROP PROC fn_varbintohexsubstring_vu_prepare_proc
GO

DROP FUNCTION fn_varbintohexsubstring_vu_prepare_func
GO
16 changes: 16 additions & 0 deletions test/JDBC/expected/sys-fn-varbintohexsubstring-vu-prepare.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- Create dependant objects
CREATE VIEW fn_varbintohexsubstring_vu_prepare_view AS
SELECT sys.fn_varbintohexsubstring(1, CAST('0x1234' AS varbinary(128)), 1, 4)
GO

CREATE PROC fn_varbintohexsubstring_vu_prepare_proc AS
SELECT sys.fn_varbintohexsubstring(1, CAST('0x1234' AS varbinary(128)), 1, 4)
GO

CREATE FUNCTION fn_varbintohexsubstring_vu_prepare_func()
RETURNS nvarchar(128)
AS
BEGIN
RETURN sys.fn_varbintohexsubstring(1, CAST('0x1234' AS varbinary(128)), 1, 4)
END
GO
23 changes: 23 additions & 0 deletions test/JDBC/expected/sys-fn-varbintohexsubstring-vu-verify.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
SELECT * FROM fn_varbintohexsubstring_vu_prepare_view
GO
~~START~~
nvarchar
<NULL>
~~END~~


EXEC fn_varbintohexsubstring_vu_prepare_proc
GO
~~START~~
nvarchar
<NULL>
~~END~~


SELECT * FROM fn_varbintohexsubstring_vu_prepare_func()
GO
~~START~~
nvarchar
<NULL>
~~END~~

8 changes: 8 additions & 0 deletions test/JDBC/expected/sys-login-property-vu-cleanup.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
DROP VIEW loginproperty_vu_prepare_view
GO

DROP PROC loginproperty_vu_prepare_proc
GO

DROP FUNCTION loginproperty_vu_prepare_func
GO
16 changes: 16 additions & 0 deletions test/JDBC/expected/sys-login-property-vu-prepare.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- Create dependant objects
CREATE VIEW loginproperty_vu_prepare_view AS
SELECT sys.loginproperty('test_login', 'PasswordHash')
GO

CREATE PROC loginproperty_vu_prepare_proc AS
SELECT sys.loginproperty('test_login', 'PasswordHash')
GO

CREATE FUNCTION loginproperty_vu_prepare_func()
RETURNS nvarchar(128)
AS
BEGIN
RETURN sys.loginproperty('test_login', 'PasswordHash')
END
GO
23 changes: 23 additions & 0 deletions test/JDBC/expected/sys-login-property-vu-verify.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
SELECT * FROM loginproperty_vu_prepare_view
GO
~~START~~
nvarchar
<NULL>
~~END~~


EXEC loginproperty_vu_prepare_proc
GO
~~START~~
nvarchar
<NULL>
~~END~~


SELECT * FROM loginproperty_vu_prepare_func()
GO
~~START~~
nvarchar
<NULL>
~~END~~

11 changes: 11 additions & 0 deletions test/JDBC/expected/sys_credentials-vu-cleanup.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
USE master
GO

DROP VIEW sys_credentials_vu_prepare_view
GO

DROP PROC sys_credentials_vu_prepare_proc
GO

DROP FUNCTION sys_credentials_vu_prepare_func
GO
18 changes: 18 additions & 0 deletions test/JDBC/expected/sys_credentials-vu-prepare.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
USE master
GO

CREATE VIEW sys_credentials_vu_prepare_view AS
SELECT * FROM sys.credentials
GO

CREATE PROC sys_credentials_vu_prepare_proc AS
SELECT * FROM sys.credentials
GO

CREATE FUNCTION sys_credentials_vu_prepare_func()
RETURNS INT
AS
BEGIN
RETURN (SELECT COUNT(*) FROM sys.credentials)
END
GO
31 changes: 31 additions & 0 deletions test/JDBC/expected/sys_credentials-vu-verify.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
USE master
GO

SELECT * FROM sys.credentials
GO
~~START~~
int#!#varchar#!#nvarchar#!#datetime#!#datetime#!#nvarchar#!#int
~~END~~


SELECT * FROM sys_credentials_vu_prepare_view
GO
~~START~~
int#!#varchar#!#nvarchar#!#datetime#!#datetime#!#nvarchar#!#int
~~END~~


EXEC sys_credentials_vu_prepare_proc
GO
~~START~~
int#!#varchar#!#nvarchar#!#datetime#!#datetime#!#nvarchar#!#int
~~END~~


SELECT sys_credentials_vu_prepare_func()
GO
~~START~~
int
0
~~END~~

11 changes: 11 additions & 0 deletions test/JDBC/expected/sys_server_permissions-vu-cleanup.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
USE master
GO

DROP VIEW sys_server_permissions_vu_prepare_view
GO

DROP PROC sys_server_permissions_vu_prepare_proc
GO

DROP FUNCTION sys_server_permissions_vu_prepare_func
GO
18 changes: 18 additions & 0 deletions test/JDBC/expected/sys_server_permissions-vu-prepare.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
USE master
GO

CREATE VIEW sys_server_permissions_vu_prepare_view AS
SELECT * FROM sys.server_permissions
GO

CREATE PROC sys_server_permissions_vu_prepare_proc AS
SELECT * FROM sys.server_permissions
GO

CREATE FUNCTION sys_server_permissions_vu_prepare_func()
RETURNS INT
AS
BEGIN
RETURN (SELECT COUNT(*) FROM sys.server_permissions)
END
GO
31 changes: 31 additions & 0 deletions test/JDBC/expected/sys_server_permissions-vu-verify.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
USE master
GO

SELECT * FROM sys.server_permissions
GO
~~START~~
tinyint#!#nvarchar#!#int#!#int#!#int#!#int#!#char#!#nvarchar#!#char#!#nvarchar
~~END~~


SELECT * FROM sys_server_permissions_vu_prepare_view
GO
~~START~~
tinyint#!#nvarchar#!#int#!#int#!#int#!#int#!#char#!#nvarchar#!#char#!#nvarchar
~~END~~


EXEC sys_server_permissions_vu_prepare_proc
GO
~~START~~
tinyint#!#nvarchar#!#int#!#int#!#int#!#int#!#char#!#nvarchar#!#char#!#nvarchar
~~END~~


SELECT sys_server_permissions_vu_prepare_func()
GO
~~START~~
int
0
~~END~~

Loading

0 comments on commit 2dc9c37

Please sign in to comment.