Search in sources :

Example 11 with LockMode

use of org.springframework.data.relational.core.sql.LockMode in project spring-data-jdbc by spring-projects.

the class MySqlDialectRenderingUnitTests method shouldRenderSelectWithLimitWithLockRead.

// DATAJDBC-498
@Test
public void shouldRenderSelectWithLimitWithLockRead() {
    Table table = Table.create("foo");
    LockMode lockMode = LockMode.PESSIMISTIC_READ;
    Select select = StatementBuilder.select(table.asterisk()).from(table).limit(10).lock(lockMode).build();
    String sql = SqlRenderer.create(factory.createRenderContext()).render(select);
    assertThat(sql).isEqualTo("SELECT foo.* FROM foo LIMIT 10 LOCK IN SHARE MODE");
}
Also used : Table(org.springframework.data.relational.core.sql.Table) Select(org.springframework.data.relational.core.sql.Select) LockMode(org.springframework.data.relational.core.sql.LockMode) Test(org.junit.jupiter.api.Test)

Example 12 with LockMode

use of org.springframework.data.relational.core.sql.LockMode in project spring-data-jdbc by spring-projects.

the class PostgresDialectRenderingUnitTests method shouldRenderSelectWithLimitWithLockRead.

// DATAJDBC-498
@Test
public void shouldRenderSelectWithLimitWithLockRead() {
    Table table = Table.create("foo");
    LockMode lockMode = LockMode.PESSIMISTIC_READ;
    Select select = StatementBuilder.select(table.asterisk()).from(table).limit(10).lock(lockMode).build();
    String sql = SqlRenderer.create(factory.createRenderContext()).render(select);
    assertThat(sql).isEqualTo("SELECT foo.* FROM foo LIMIT 10 FOR SHARE OF foo");
}
Also used : Table(org.springframework.data.relational.core.sql.Table) Select(org.springframework.data.relational.core.sql.Select) LockMode(org.springframework.data.relational.core.sql.LockMode) Test(org.junit.jupiter.api.Test)

Example 13 with LockMode

use of org.springframework.data.relational.core.sql.LockMode in project spring-data-jdbc by spring-projects.

the class PostgresDialectRenderingUnitTests method shouldRenderSelectWithLimitWithLockWrite.

// DATAJDBC-498
@Test
public void shouldRenderSelectWithLimitWithLockWrite() {
    Table table = Table.create("foo");
    LockMode lockMode = LockMode.PESSIMISTIC_WRITE;
    Select select = StatementBuilder.select(table.asterisk()).from(table).limit(10).lock(lockMode).build();
    String sql = SqlRenderer.create(factory.createRenderContext()).render(select);
    assertThat(sql).isEqualTo("SELECT foo.* FROM foo LIMIT 10 FOR UPDATE OF foo");
}
Also used : Table(org.springframework.data.relational.core.sql.Table) Select(org.springframework.data.relational.core.sql.Select) LockMode(org.springframework.data.relational.core.sql.LockMode) Test(org.junit.jupiter.api.Test)

Example 14 with LockMode

use of org.springframework.data.relational.core.sql.LockMode in project spring-data-jdbc by spring-projects.

the class MySqlDialectRenderingUnitTests method shouldRenderSelectWithLockWrite.

// DATAJDBC-498
@Test
public void shouldRenderSelectWithLockWrite() {
    Table table = Table.create("foo");
    LockMode lockMode = LockMode.PESSIMISTIC_WRITE;
    Select select = StatementBuilder.select(table.asterisk()).from(table).lock(lockMode).build();
    String sql = SqlRenderer.create(factory.createRenderContext()).render(select);
    assertThat(sql).isEqualTo("SELECT foo.* FROM foo FOR UPDATE");
}
Also used : Table(org.springframework.data.relational.core.sql.Table) Select(org.springframework.data.relational.core.sql.Select) LockMode(org.springframework.data.relational.core.sql.LockMode) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)14 LockMode (org.springframework.data.relational.core.sql.LockMode)14 Select (org.springframework.data.relational.core.sql.Select)14 Table (org.springframework.data.relational.core.sql.Table)14