temporary tables to prevent casts from leaking
parent
8b37011244
commit
dcc56ec9dd
|
@ -1,16 +1,33 @@
|
||||||
|
SET AUTOCOMMIT FALSE;
|
||||||
|
|
||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
MERGE INTO users
|
MERGE INTO users
|
||||||
USING (VALUES ('jricher','password',true)) AS vals(username, password, enabled)
|
USING (VALUES ('jricher','password',true)) AS vals(username, password, enabled)
|
||||||
ON vals.username = users.username
|
ON vals.username = users.username
|
||||||
WHEN NOT MATCHED THEN
|
WHEN NOT MATCHED THEN
|
||||||
INSERT (username, password, enabled) VALUES(vals.username, vals.password, vals.enabled);
|
INSERT (username, password, enabled) VALUES(vals.username, vals.password, vals.enabled);
|
||||||
|
|
||||||
|
CREATE TEMPORARY TABLE authorities_TEMP (
|
||||||
|
username varchar(50) not null,
|
||||||
|
authority varchar(50) not null,
|
||||||
|
constraint ix_authority_TEMP unique (username,authority));
|
||||||
|
|
||||||
|
INSERT INTO authorities_TEMP (username, authority) VALUES
|
||||||
|
('jricher', 'ROLE_USER'),
|
||||||
|
('jricher', 'ROLE_ADMIN'),
|
||||||
|
('jricher', 'ROLE_AWESOME');
|
||||||
|
|
||||||
MERGE INTO authorities
|
MERGE INTO authorities
|
||||||
USING (VALUES ('jricher', CAST('ROLE_USER' AS varchar(50))), ('jricher', CAST('ROLE_ADMIN' AS varchar(50))), ('jricher', CAST('ROLE_AWESOME' AS varchar(50)))) AS vals(username, authority)
|
-- USING (VALUES ('jricher', CAST('ROLE_USER' AS varchar(50))), ('jricher', CAST('ROLE_ADMIN' AS varchar(50))), ('jricher', CAST('ROLE_AWESOME' AS varchar(50)))) AS vals(username, authority)
|
||||||
-- USING (VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN'), ('jricher', 'ROLE_AWESOME')) AS vals(username varchar(50), authority varchar(50))
|
-- USING (VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN'), ('jricher', 'ROLE_AWESOME')) AS vals(username varchar(50), authority varchar(50))
|
||||||
|
USING (SELECT username, authority FROM authorities_TEMP) AS vals(username, authority)
|
||||||
ON vals.username = authorities.username AND vals.authority = authorities.authority
|
ON vals.username = authorities.username AND vals.authority = authorities.authority
|
||||||
WHEN NOT MATCHED THEN
|
WHEN NOT MATCHED THEN
|
||||||
INSERT (username,authority) values (vals.username, vals.authority);
|
INSERT (username,authority) values (vals.username, vals.authority);
|
||||||
|
|
||||||
|
DROP TABLE authorities_TEMP;
|
||||||
|
|
||||||
--INSERT INTO authorities (username, authority) VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN');
|
--INSERT INTO authorities (username, authority) VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN');
|
||||||
|
|
||||||
MERGE INTO user_info
|
MERGE INTO user_info
|
||||||
|
@ -19,6 +36,10 @@ MERGE INTO user_info
|
||||||
WHEN NOT MATCHED THEN
|
WHEN NOT MATCHED THEN
|
||||||
INSERT (user_id, preferred_username, name, email_verified) VALUES (vals.user_id, vals.preferred_username, vals.name, vals.email_verified);
|
INSERT (user_id, preferred_username, name, email_verified) VALUES (vals.user_id, vals.preferred_username, vals.name, vals.email_verified);
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
SET AUTOCOMMIT TRUE;
|
||||||
|
|
||||||
--INSERT INTO users(username, password, enabled) values ('aanganes','password',true) where not exists (select * from user_info where username='aanganes');
|
--INSERT INTO users(username, password, enabled) values ('aanganes','password',true) where not exists (select * from user_info where username='aanganes');
|
||||||
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_USER') where not exists (select * from user_info where username='aanganes');
|
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_USER') where not exists (select * from user_info where username='aanganes');
|
||||||
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_ADMIN') where not exists (select * from user_info where username='aanganes');
|
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_ADMIN') where not exists (select * from user_info where username='aanganes');
|
||||||
|
|
Loading…
Reference in New Issue