-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
YugabyteDBYCQLDelegate.java
41 lines (34 loc) · 1.11 KB
/
YugabyteDBYCQLDelegate.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package org.testcontainers.containers.delegate;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
import com.datastax.oss.driver.api.core.session.Session;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.testcontainers.containers.YugabyteDBYCQLContainer;
import org.testcontainers.delegate.AbstractDatabaseDelegate;
/**
* Query execution delegate class for YCQL API to delegate init-scripts statements.
*
* @author srinivasa-vasu
* @see YugabyteDBYCQLContainer
*/
@Slf4j
@RequiredArgsConstructor
public final class YugabyteDBYCQLDelegate extends AbstractDatabaseDelegate<Session> {
private final CqlSessionBuilder builder;
@Override
protected Session createNewConnection() {
return builder.build();
}
@Override
public void execute(String statement, String scriptPath, int lineNumber, boolean continueOnError,
boolean ignoreFailedDrops) {
((CqlSession) getConnection()).execute(statement);
}
@Override
protected void closeConnectionQuietly(Session session) {
if (session != null) {
session.close();
}
}
}