|
@@ -51,7 +51,7 @@ class TenantLineInnerInterceptorTest {
|
|
|
"INSERT INTO entity (id, name, tenant_id) VALUES (?, ?, ?)");
|
|
|
// insert into select
|
|
|
assertSql("insert into entity (id,name) select id,name from entity2",
|
|
|
- "INSERT INTO entity (id, name, tenant_id) SELECT id, name, tenant_id FROM entity2 WHERE tenant_id = 1");
|
|
|
+ "INSERT INTO entity (id, name, tenant_id) SELECT id, name, tenant_id FROM entity2 WHERE entity2.tenant_id = 1");
|
|
|
|
|
|
assertSql("insert into entity (id,name) select * from entity2 e2",
|
|
|
"INSERT INTO entity (id, name, tenant_id) SELECT * FROM entity2 e2 WHERE e2.tenant_id = 1");
|
|
@@ -69,30 +69,33 @@ class TenantLineInnerInterceptorTest {
|
|
|
@Test
|
|
|
void delete() {
|
|
|
assertSql("delete from entity where id = ?",
|
|
|
- "DELETE FROM entity WHERE tenant_id = 1 AND id = ?");
|
|
|
+ "DELETE FROM entity WHERE entity.tenant_id = 1 AND id = ?");
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
void update() {
|
|
|
assertSql("update entity set name = ? where id = ?",
|
|
|
- "UPDATE entity SET name = ? WHERE tenant_id = 1 AND id = ?");
|
|
|
+ "UPDATE entity SET name = ? WHERE entity.tenant_id = 1 AND id = ?");
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
void selectSingle() {
|
|
|
// 单表
|
|
|
assertSql("select * from entity where id = ?",
|
|
|
- "SELECT * FROM entity WHERE id = ? AND tenant_id = 1");
|
|
|
+ "SELECT * FROM entity WHERE id = ? AND entity.tenant_id = 1");
|
|
|
|
|
|
assertSql("select * from entity where id = ? or name = ?",
|
|
|
- "SELECT * FROM entity WHERE (id = ? OR name = ?) AND tenant_id = 1");
|
|
|
+ "SELECT * FROM entity WHERE (id = ? OR name = ?) AND entity.tenant_id = 1");
|
|
|
|
|
|
assertSql("SELECT * FROM entity WHERE (id = ? OR name = ?)",
|
|
|
- "SELECT * FROM entity WHERE (id = ? OR name = ?) AND tenant_id = 1");
|
|
|
+ "SELECT * FROM entity WHERE (id = ? OR name = ?) AND entity.tenant_id = 1");
|
|
|
|
|
|
/* not */
|
|
|
assertSql("SELECT * FROM entity WHERE not (id = ? OR name = ?)",
|
|
|
- "SELECT * FROM entity WHERE NOT (id = ? OR name = ?) AND tenant_id = 1");
|
|
|
+ "SELECT * FROM entity WHERE NOT (id = ? OR name = ?) AND entity.tenant_id = 1");
|
|
|
+
|
|
|
+ assertSql("SELECT * FROM entity u WHERE not (u.id = ? OR u.name = ?)",
|
|
|
+ "SELECT * FROM entity u WHERE NOT (u.id = ? OR u.name = ?) AND u.tenant_id = 1");
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -414,11 +417,20 @@ class TenantLineInnerInterceptorTest {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ void selectJoin() {
|
|
|
+ // join
|
|
|
+ assertSql("SELECT * FROM entity e join entity1 e1 on e1.id = e.id WHERE e.id = ? OR e.name = ?",
|
|
|
+ "SELECT * FROM entity e JOIN entity1 e1 ON e1.id = e.id AND e1.tenant_id = 1 WHERE (e.id = ? OR e.name = ?) AND e.tenant_id = 1");
|
|
|
+
|
|
|
+ assertSql("SELECT * FROM entity e join entity1 e1 on e1.id = e.id WHERE (e.id = ? OR e.name = ?)",
|
|
|
+ "SELECT * FROM entity e JOIN entity1 e1 ON e1.id = e.id AND e1.tenant_id = 1 WHERE (e.id = ? OR e.name = ?) AND e.tenant_id = 1");
|
|
|
+ }
|
|
|
|
|
|
@Test
|
|
|
void selectWithAs() {
|
|
|
assertSql("with with_as_A as (select * from entity) select * from with_as_A",
|
|
|
- "WITH with_as_A AS (SELECT * FROM entity WHERE tenant_id = 1) SELECT * FROM with_as_A");
|
|
|
+ "WITH with_as_A AS (SELECT * FROM entity WHERE entity.tenant_id = 1) SELECT * FROM with_as_A");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -432,7 +444,7 @@ class TenantLineInnerInterceptorTest {
|
|
|
void test6() {
|
|
|
// 不显式指定 JOIN 类型时 JOIN 右侧表无法识进行拼接条件(在未改动之前就已经有这个问题)
|
|
|
assertSql("select u.username from sys_user u join sys_user_role r on u.id=r.user_id",
|
|
|
- "SELECT u.username FROM sys_user u JOIN sys_user_role r ON u.id = r.user_id WHERE u.tenant_id = 1");
|
|
|
+ "SELECT u.username FROM sys_user u JOIN sys_user_role r ON u.id = r.user_id AND r.tenant_id = 1 WHERE u.tenant_id = 1");
|
|
|
}
|
|
|
|
|
|
@Test
|