Skip to content

Commit 658a512

Browse files
most queries are working
1 parent 0347788 commit 658a512

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/main/java/com/datastax/cdm/CassandraDatasetManager.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ void install(String name) throws IOException, InterruptedException, GitAPIExcept
280280
record,
281281
fieldlist,
282282
types);
283+
System.out.println(cql);
283284
session.execute(cql);
284285
}
285286
}
@@ -302,22 +303,32 @@ String generateCQL(String table,
302303
HashSet needs_quotes = new HashSet();
303304
needs_quotes.add("text");
304305
needs_quotes.add("datetime");
305-
needs_quotes.add("map");
306-
needs_quotes.add("list");
307-
needs_quotes.add("udt");
308-
needs_quotes.add("set");
309306

310307
StringBuilder query = new StringBuilder("INSERT INTO ");
311308
query.append(table);
312309
query.append("(");
313310

314311
StringJoiner sjfields = new StringJoiner(", ");
312+
StringJoiner values = new StringJoiner(", ");
313+
315314
for(Field f: fields) {
316315
sjfields.add(f.name);
317316
}
318317
query.append(sjfields.toString());
319318

320319
query.append(") VALUES (");
320+
321+
for(int i = 0; i < record.size(); i++) {
322+
String v = record.get(i);
323+
Field f = fields.get(i);
324+
if(needs_quotes.contains(f.type)) {
325+
v = "'" + v.replace("'", "''") + "'";
326+
}
327+
values.add(v);
328+
}
329+
330+
query.append(values.toString());
331+
321332
query.append(")");
322333

323334
return query.toString();

0 commit comments

Comments
 (0)