Skip to content

Commit 93bee3a

Browse files
feat: hint pragma
1 parent 7e20d4e commit 93bee3a

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

hibernate-dialect/src/main/java/tech/ydb/hibernate/dialect/hint/PragmaQueryHintHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
public class PragmaQueryHintHandler implements QueryHintHandler {
1010
public static final PragmaQueryHintHandler INSTANCE = new PragmaQueryHintHandler();
1111

12-
private static final String HINT_PRAGMA = "pragma:";
12+
private static final String HINT_PRAGMA = "add_pragma:";
1313

1414
@Override
1515
public String addQueryHints(String query, List<String> hints) {

hibernate-dialect/src/test/java/tech/ydb/hibernate/student/StudentsRepositoryTest.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,25 @@ void studentsByGroupName_Eager_OneToManyTest() {
205205
void studentByGroupNameUsingPragmaHintTest() {
206206
inTransaction(
207207
session -> {
208+
/*
209+
PRAGMA ydb.HashJoinMode='grace'; PRAGMA Warning("disable", "1101"); select
210+
g1_0.GroupId,
211+
g1_0.GroupName,
212+
s1_0.GroupId,
213+
s1_0.StudentId,
214+
s1_0.StudentName
215+
from
216+
Groups g1_0
217+
join
218+
Students s1_0
219+
on g1_0.GroupId=s1_0.GroupId
220+
where
221+
g1_0.GroupName='M3439'
222+
*/
208223
List<Student> students = session
209224
.createQuery("FROM Group g JOIN FETCH g.students WHERE g.name = 'M3439'", Group.class)
210-
.addQueryHint("pragma:ydb.HashJoinMode='grace'")
211-
.addQueryHint("pragma:Warning(\"disable\", \"1101\")")
225+
.addQueryHint("add_pragma:ydb.HashJoinMode='grace'")
226+
.addQueryHint("add_pragma:Warning(\"disable\", \"1101\")")
212227
.getSingleResult().getStudents();
213228

214229
assertEquals(2, students.size());
@@ -348,7 +363,7 @@ void useAllHintsTogetherTest() {
348363
.createQuery("FROM Group g WHERE g.name = 'M3439'", Group.class)
349364
.addQueryHint("use_index:group_name_index") // Hibernate
350365
.addQueryHint("use_scan")
351-
.addQueryHint("pragma:Warning(\"disable\", \"1101\")")
366+
.addQueryHint("add_pragma:Warning(\"disable\", \"1101\")")
352367
.getSingleResult();
353368

354369
assertEquals("M3439", group.getName());
@@ -371,7 +386,7 @@ void useAllHintsTogetherTest() {
371386
Group group = session
372387
.createQuery("FROM Group g WHERE g.name = 'M3439'", Group.class)
373388
.setHint(HibernateHints.HINT_COMMENT,
374-
"use_index:group_name_index;use_scan;pragma:Warning(\"disable\", \"1101\")")
389+
"use_index:group_name_index;use_scan;add_pragma:Warning(\"disable\", \"1101\")")
375390
.getSingleResult();
376391

377392
assertEquals("M3439", group.getName());

0 commit comments

Comments
 (0)