Skip to content

Commit b8c66d0

Browse files
committed
fix: escape double quotes in HanaDbObject identifier formatting
1 parent 4324774 commit b8c66d0

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

src/main/java/org/sap/cytoscape/internal/hdb/HanaDbObject.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.sap.cytoscape.internal.hdb;
22

3+
import org.sap.cytoscape.internal.utils.HanaUtils;
4+
35
/**
46
* Describes an object in an SAP HANA database (e.g. table, procedure, graph workspace, ...)
57
*/
@@ -20,6 +22,6 @@ public HanaDbObject(String schema, String name){
2022
}
2123

2224
public String toString(){
23-
return '"' + this.schema + "\".\"" + this.name+'"';
25+
return HanaUtils.quoteIdentifier(this.schema) + "." + HanaUtils.quoteIdentifier(this.name);
2426
}
2527
}

src/test/java/OtherHdbTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,13 @@ public void testHanaDbObjectToString() {
107107
Assert.assertEquals("\"MY_SCHEMA\".\"MY_TABLE\"", obj.toString());
108108
}
109109

110+
@Test
111+
public void testHanaDbObjectToString_containsDoubleQuote() {
112+
// Embedded double quotes must be escaped as "" per SQL standard identifier quoting.
113+
HanaDbObject obj = new HanaDbObject("MY\"SCHEMA", "MY\"TABLE");
114+
Assert.assertEquals("\"MY\"\"SCHEMA\".\"MY\"\"TABLE\"", obj.toString());
115+
}
116+
110117
// -------------------------------------------------------------------------
111118
// HanaQueryResult — unmodifiable list + defensive clone
112119
// -------------------------------------------------------------------------

0 commit comments

Comments
 (0)