Skip to content

Commit 0d85e34

Browse files
authored
Merge pull request quarkusio#47979 from mbladel/hql-console-panache
HQL console transaction fix for panache entities
2 parents 52221fc + 3f2007b commit 0d85e34

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

extensions/hibernate-orm/deployment/src/main/resources/dev-ui/hibernate-orm-hql-console.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -402,19 +402,22 @@ export class HibernateOrmHqlConsoleComponent extends QwcHotReloadElement {
402402
}
403403

404404
_cellRenderer(value) {
405-
if (value) {
406-
if (value === 'true') {
407-
return html`
408-
<vaadin-icon style="color: var(--lumo-contrast-50pct);" title="${value}"
409-
icon="font-awesome-regular:square-check"></vaadin-icon>`;
410-
} else if (value === 'false') {
411-
return html`
412-
<vaadin-icon style="color: var(--lumo-contrast-50pct);" title="${value}"
413-
icon="font-awesome-regular:square"></vaadin-icon>`;
414-
} else if (typeof value === 'string' && (value.startsWith('http://') || value.startsWith('https://'))) {
405+
if ( value === true ) {
406+
return html`
407+
<vaadin-icon style="color: var(--lumo-contrast-50pct);" title="${value}"
408+
icon="font-awesome-regular:square-check"></vaadin-icon>`;
409+
}
410+
else if ( value === false ) {
411+
return html`
412+
<vaadin-icon style="color: var(--lumo-contrast-50pct);" title="${value}"
413+
icon="font-awesome-regular:square"></vaadin-icon>`;
414+
}
415+
else if ( value ) {
416+
if ( typeof value === 'string' && (value.startsWith( 'http://' ) || value.startsWith( 'https://' )) ) {
415417
return html`<a href="${value}" target="_blank">${value}</a>`;
416-
} else {
417-
const s = typeof value === 'object' ? JSON.stringify(value) : value;
418+
}
419+
else {
420+
const s = typeof value === 'object' ? JSON.stringify( value ) : value;
418421
return html`<span>${s}</span>`;
419422
}
420423
}

extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/dev/HibernateOrmDevJsonRpcService.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,20 @@ public JsonRpcMessage<Object> executeHQL(String persistenceUnit, String hql, Int
104104
}
105105

106106
return sf.fromSession(session -> {
107+
Transaction transaction = session.beginTransaction();
107108
try {
108109
Query<Object> query = session.createQuery(hql, null);
109110
if (isMutation(((SqmQuery) query).getSqmStatement())) {
110111
// DML query, execute update within transaction and return custom message with affected rows
111-
Transaction transaction = session.beginTransaction();
112-
try {
113-
int updateCount = query.executeUpdate();
114-
transaction.commit();
115-
116-
String message = "Query executed correctly. Rows affected: " + updateCount;
117-
return new JsonRpcMessage<>(new DataSet(null, -1, message, null), MessageType.Response);
118-
} catch (Exception e) {
119-
// an error happened in executeUpdate() or during commit
120-
transaction.rollback();
121-
throw e;
122-
}
112+
int updateCount = query.executeUpdate();
113+
transaction.commit();
114+
return new JsonRpcMessage<>(
115+
new DataSet(
116+
null,
117+
-1,
118+
"Query executed correctly. Rows affected: " + updateCount,
119+
null),
120+
MessageType.Response);
123121
} else {
124122
// selection query, execute count query and return paged results
125123

@@ -139,10 +137,13 @@ public JsonRpcMessage<Object> executeHQL(String persistenceUnit, String hql, Int
139137
String result = writeValueAsString(new DataSet(results, resultCount, null, null));
140138
JsonRpcMessage<Object> message = new JsonRpcMessage<>(result, MessageType.Response);
141139
message.setAlreadySerialized(true);
140+
transaction.commit();
142141
return message;
143142
}
144143
}
145144
} catch (Exception ex) {
145+
// an error happened, rollback the transaction
146+
transaction.rollback();
146147
return new JsonRpcMessage<>(new DataSet(null, -1, null, ex.getMessage()), MessageType.Response);
147148
}
148149
});

0 commit comments

Comments
 (0)