diff options
author | Eike Stepper | 2008-10-08 14:46:22 +0000 |
---|---|---|
committer | Eike Stepper | 2008-10-08 14:46:22 +0000 |
commit | 4415f32f85807848edd71d4cdd61948336251ee1 (patch) | |
tree | 1680e3b95b2c361966e3836dd7d0588be1d89ef3 | |
parent | ed575c08bf9aaa9096fb08fddf8eff1f2c991f0b (diff) | |
download | cdo-4415f32f85807848edd71d4cdd61948336251ee1.tar.gz cdo-4415f32f85807848edd71d4cdd61948336251ee1.tar.xz cdo-4415f32f85807848edd71d4cdd61948336251ee1.zip |
[225125] [DB] Quotes are not escaped (enough)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225125
-rw-r--r-- | plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java index d3ed4b8857..807a50a490 100644 --- a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java +++ b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java @@ -99,12 +99,29 @@ public abstract class AbstractDBTest<DATA_SOURCE extends DataSource> extends Abs { IDBSchema schema = DBUtil.createSchema("testEscapeStrings"); IDBTable table = schema.addTable("testtable"); - IDBField strval = table.addField("strval", DBType.VARCHAR, 255); + IDBField field = table.addField("strval", DBType.VARCHAR, 255); schema.create(dbAdapter, dbConnectionProvider); - String val = "My name is 'nobody', not body"; - DBUtil.insertRow(getConnection(), dbAdapter, table, val); - Object[] result = DBUtil.select(getConnection(), (String)null, strval); - assertEquals(val, result[0]); + insertString(field, "My name is 'nobody', not body"); + insertString(field, "a = 'hello'"); + insertString(field, "'hello' == a"); + insertString(field, "'hello'"); + } + + private void insertString(IDBField field, String val) + { + Connection connection = getConnection(); + IDBTable table = field.getTable(); + + try + { + DBUtil.insertRow(connection, dbAdapter, table, val); + Object[] result = DBUtil.select(connection, (String)null, field); + assertEquals(val, result[0]); + } + finally + { + DBUtil.update(connection, "DELETE FROM " + table); + } } } |