Java 类com.datastax.driver.core.querybuilder.Insert 实例源码
项目:spring-data-examples
文件:CassandraOperationsIntegrationTests.java
/**
* Cassandra {@link com.datastax.driver.core.Statement}s can be used together with {@link CassandraTemplate} and the
* mapping layer.
*/
@Test
public void insertAndSelect() {
Insert insert = QueryBuilder.insertInto("users").value("user_id", 42L) //
.value("uname", "heisenberg") //
.value("fname", "Walter") //
.value("lname", "White") //
.ifNotExists(); //
template.execute(insert);
User user = template.selectOneById(User.class, 42L);
assertThat(user.getUsername(), is(equalTo("heisenberg")));
List<User> users = template.select(QueryBuilder.select().from("users"), User.class);
assertThat(users, hasSize(1));
assertThat(users.get(0), is(equalTo(user)));
}
项目:iotplatform
文件:CassandraBaseEventDao.java
private Optional<Event> save(EventEntity entity, boolean ifNotExists) {
if (entity.getId() == null) {
entity.setId(UUIDs.timeBased());
}
Insert insert = QueryBuilder.insertInto(getColumnFamilyName())
.value(ModelConstants.ID_PROPERTY, entity.getId())
.value(ModelConstants.EVENT_TENANT_ID_PROPERTY, entity.getTenantId())
.value(ModelConstants.EVENT_ENTITY_TYPE_PROPERTY, entity.getEntityType())
.value(ModelConstants.EVENT_ENTITY_ID_PROPERTY, entity.getEntityId())
.value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
.value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
.value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
if (ifNotExists) {
insert = insert.ifNotExists();
}
ResultSet rs = executeWrite(insert);
if (rs.wasApplied()) {
return Optional.of(DaoUtil.getData(entity));
} else {
return Optional.empty();
}
}
项目:zipkin
文件:Indexer.java
Indexer(Session session, @Nullable Integer indexTtl,
@Nullable ConcurrentMap<PartitionKeyToTraceId, Pair<Long>> sharedState, IndexSupport index) {
this.index = index;
this.boundName = UPPER_CAMEL.to(LOWER_HYPHEN, index.getClass().getSimpleName());
Insert insert = index.declarePartitionKey(QueryBuilder.insertInto(index.table())
.value("ts", QueryBuilder.bindMarker("ts"))
.value("trace_id", QueryBuilder.bindMarker("trace_id")));
if (indexTtl != null) {
insert.using(QueryBuilder.ttl(QueryBuilder.bindMarker("ttl_")));
}
this.prepared = session.prepare(insert);
this.indexTtl = indexTtl;
this.session = session;
this.timestampCodec = new TimestampCodec(session);
this.sharedState = sharedState;
}
项目:thingsboard
文件:CassandraBaseEventDao.java
private Optional<Event> save(EventEntity entity, boolean ifNotExists) {
if (entity.getId() == null) {
entity.setId(UUIDs.timeBased());
}
Insert insert = QueryBuilder.insertInto(getColumnFamilyName())
.value(ModelConstants.ID_PROPERTY, entity.getId())
.value(ModelConstants.EVENT_TENANT_ID_PROPERTY, entity.getTenantId())
.value(ModelConstants.EVENT_ENTITY_TYPE_PROPERTY, entity.getEntityType())
.value(ModelConstants.EVENT_ENTITY_ID_PROPERTY, entity.getEntityId())
.value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
.value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
.value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
if (ifNotExists) {
insert = insert.ifNotExists();
}
ResultSet rs = executeWrite(insert);
if (rs.wasApplied()) {
return Optional.of(DaoUtil.getData(entity));
} else {
return Optional.empty();
}
}
项目:cassandra-extra
文件:CassandraRuleTest.java
@Test
public void managed() throws Throwable {
final CassandraRule rule = CassandraRule.newBuilder()
.withManagedKeyspace()
.withManagedTable(TABLE_SCHEMA)
.build();
rule.before();
final Session session = rule.getSession();
Insert insert = QueryBuilder.insertInto("mytable")
.value("key", KEY)
.value("value", VALUE);
session.execute(insert);
Statement select = QueryBuilder.select()
.from("mytable")
.where(QueryBuilder.eq("key", KEY))
.limit(1);
Row result = session.execute(select).all().get(0);
assertEquals(KEY, result.getString("key"));
assertEquals(VALUE, result.getBytes("value"));
rule.after();
}
项目:dOOv
文件:LiveCode.java
private static void cqlBuilders() {
FieldModel model = SampleModels.wrapper();
Create create = SchemaBuilder.createTable("Field").addClusteringColumn(LOGIN.name(), text())
.addPartitionKey("snapshot_id", timeuuid());
model.getFieldInfos().stream().filter(f -> f.id() != LOGIN)
.forEach(f -> create.addColumn(f.id().name(), cqlType(f)));
Create.Options createWithOptions = create.withOptions().clusteringOrder(LOGIN.name(), DESC);
System.out.println(createWithOptions);
Insert insert = QueryBuilder.insertInto("Field");
model.stream().forEach(e -> insert.value(e.getKey().name(), e.getValue()));
System.out.println(insert.getQueryString(codecRegistry()));
}
项目:henicea
文件:MigrationClientTest.java
@Test
public void getAppliedMigrations_shouldQueryAndSortByName() throws Exception {
ResultSet appliedMigrationResultSet = mock(ResultSet.class);
Row row = mock(Row.class);
when(session.execute(argThat(new CustomMatcher<Insert>("Get applied migrations") {
@Override
public boolean matches(Object item) {
return "SELECT name,status FROM test.migrations;".equals(item.toString());
}
}))).thenReturn(appliedMigrationResultSet);
when(appliedMigrationResultSet.all()).thenReturn(Collections.singletonList(row));
when(row.getString(0)).thenReturn("001_initial_migration.cql");
when(row.getString(1)).thenReturn("APPLIED");
assertThat(client.getAppliedMigrations()).containsOnly("001_initial_migration.cql");
}
项目:henicea
文件:MigrationClientTest.java
@Test
public void getAppliedMigrations_shouldIgnoreFailedAndIncompleteMigrations() throws Exception {
ResultSet appliedMigrationResultSet = mock(ResultSet.class);
Row row1 = mock(Row.class);
Row row2 = mock(Row.class);
when(session.execute(argThat(new CustomMatcher<Insert>("Get applied migrations") {
@Override
public boolean matches(Object item) {
return "SELECT name,status FROM test.migrations;".equals(item.toString());
}
}))).thenReturn(appliedMigrationResultSet);
when(appliedMigrationResultSet.all()).thenReturn(Arrays.asList(row1, row2));
when(row1.getString(0)).thenReturn("001_initial_migration.cql");
when(row1.getString(1)).thenReturn("APPLIED");
when(row2.getString(0)).thenReturn("002_add_stuff.cql");
when(row2.getString(1)).thenReturn("FAILED");
assertThat(client.getAppliedMigrations()).containsOnly("001_initial_migration.cql");
}
项目:realtime-analytics
文件:MetricCassandraCollector.java
private void runBatchInsert(List<Insert> insertRequest) {
try {
Batch batch;
if (config.getLoggedBatch()) {
batch = QueryBuilder.batch(insertRequest
.toArray(new RegularStatement[insertRequest.size()]));
} else {
batch = QueryBuilder.unloggedBatch(insertRequest
.toArray(new RegularStatement[insertRequest.size()]));
}
totalCassandraInsertRequest.addAndGet(insertRequest.size());
ResultSetFuture future = cassandraSession.executeAsync(batch);
CallBackListener listener = new CallBackListener(future, null);
future.addListener(listener, pool);
incrementBatchInsertCounter();
pendingRequestCounter.incrementAndGet();
} catch (Throwable ex) {
LOGGER.error("Error publising metrics in MetricCassandraCollector:" + ex.getMessage());
cassandraErrorCount.increment();
registerError(ex);
} finally {
insertRequest.clear();
}
}
项目:blueflood
文件:DMetadataIO.java
private void createPreparedStatements() {
Select.Where select = select()
.all()
.from( CassandraModel.CF_METRICS_METADATA_NAME )
.where( eq( KEY, bindMarker() ));
getValue = DatastaxIO.getSession().prepare( select );
Insert insert = insertInto( CassandraModel.CF_METRICS_METADATA_NAME )
.value( KEY, bindMarker() )
.value( COLUMN1, bindMarker() )
.value( VALUE, bindMarker() );
putValue = DatastaxIO.getSession().prepare( insert );
putValue.setConsistencyLevel( ConsistencyLevel.LOCAL_ONE );
}
项目:blueflood
文件:DLocatorIO.java
/**
* Create all prepared statements use in this class for metrics_locator
*/
private void createPreparedStatements() {
// create a generic select statement for retrieving from metrics_locator
Select.Where select = QueryBuilder
.select()
.all()
.from( CassandraModel.CF_METRICS_LOCATOR_NAME )
.where( eq ( KEY, bindMarker() ));
getValue = DatastaxIO.getSession().prepare( select );
// create a generic insert statement for inserting into metrics_locator
Insert insert = QueryBuilder.insertInto( CassandraModel.CF_METRICS_LOCATOR_NAME)
.using(ttl(TenantTtlProvider.LOCATOR_TTL))
.value(KEY, bindMarker())
.value(COLUMN1, bindMarker())
.value(VALUE, bindMarker());
putValue = DatastaxIO.getSession()
.prepare(insert)
.setConsistencyLevel( ConsistencyLevel.LOCAL_ONE );
}
项目:blueflood
文件:DDelayedLocatorIO.java
public DDelayedLocatorIO() {
// create a generic select statement for retrieving from metrics_delayed_locator
Select.Where select = QueryBuilder
.select()
.all()
.from( CassandraModel.CF_METRICS_DELAYED_LOCATOR_NAME )
.where( eq ( KEY, bindMarker() ));
getValue = DatastaxIO.getSession().prepare( select );
// create a generic insert statement for inserting into metrics_delayed_locator
Insert insert = QueryBuilder.insertInto( CassandraModel.CF_METRICS_DELAYED_LOCATOR_NAME)
.using(ttl(TenantTtlProvider.DELAYED_LOCATOR_TTL))
.value(KEY, bindMarker())
.value(COLUMN1, bindMarker())
.value(VALUE, bindMarker());
putValue = DatastaxIO.getSession()
.prepare(insert)
.setConsistencyLevel( ConsistencyLevel.LOCAL_ONE );
}
项目:eventapis
文件:CassandraEventRecorder.java
private Insert createInsertQuery(EntityEvent entityEvent) {
Insert insert = QueryBuilder.insertInto(tableName);
insert.value(ENTITY_ID, entityEvent.getEventKey().getEntityId());
insert.value(VERSION, entityEvent.getEventKey().getVersion());
insert.value(OP_ID, entityEvent.getOpId());
insert.value(OP_DATE, entityEvent.getOpDate());
insert.value(EVENT_TYPE, entityEvent.getEventType());
insert.value(STATUS, entityEvent.getStatus().name());
insert.value(AUDIT_INFO, entityEvent.getAuditInfo());
insert.value(EVENT_DATA, entityEvent.getEventData());
insert.ifNotExists();
return insert;
}
项目:spring-oauth2-cassandra-token-store
文件:CassandraTokenStore.java
@Override
public void storeRefreshToken(OAuth2RefreshToken refreshToken, OAuth2Authentication authentication) {
List<RegularStatement> statementList = new ArrayList<RegularStatement>();
byte[] serializedRefreshToken = SerializationUtils.serialize(refreshToken);
ByteBuffer bufferedRefreshToken = ByteBuffer.wrap(serializedRefreshToken);
byte[] serializedAuthentication = SerializationUtils.serialize(authentication);
ByteBuffer bufferedAuthentication = ByteBuffer.wrap(serializedAuthentication);
WriteOptions refreshWriteOptions = new WriteOptions();
if (refreshToken instanceof ExpiringOAuth2RefreshToken) {
ExpiringOAuth2RefreshToken expiringRefreshToken = (ExpiringOAuth2RefreshToken) refreshToken;
Date expiration = expiringRefreshToken.getExpiration();
if (expiration != null) {
int seconds = Long.valueOf((expiration.getTime() - System.currentTimeMillis()) / 1000L).intValue();
refreshWriteOptions.setTtl(seconds);
}
}
// Insert into RefreshToken table
Insert accessInsert = CassandraTemplate.createInsertQuery(RefreshToken.TABLE, new RefreshToken(refreshToken.getValue(), bufferedRefreshToken), refreshWriteOptions, cassandraTemplate.getConverter());
statementList.add(accessInsert);
// Insert into RefreshTokenAuthentication table
Insert authInsert = CassandraTemplate.createInsertQuery(RefreshTokenAuthentication.TABLE, new RefreshTokenAuthentication(refreshToken.getValue(), bufferedAuthentication), refreshWriteOptions, cassandraTemplate.getConverter());
statementList.add(authInsert);
Batch batch = QueryBuilder.batch(statementList.toArray(new RegularStatement[statementList.size()]));
cassandraTemplate.execute(batch);
}
项目:xm-ms-timeline
文件:TimelineRepository.java
private boolean insertTimeline(XmTimeline xmTimeline, String table) {
Insert insert = QueryBuilder.insertInto(xmTimeline.getTenant(), table)
.value(LOGIN_COL, xmTimeline.getLogin())
.value(USER_KEY_COL, xmTimeline.getUserKey())
.value(START_DATE_COL, xmTimeline.getStartDate())
.value(RID_COL, xmTimeline.getRid())
.value(TENANT_COL, xmTimeline.getTenant())
.value(MS_NAME_COL, xmTimeline.getMsName())
.value(OPERATION_COL, xmTimeline.getOperationName())
.value(ENTITY_ID_COL, xmTimeline.getEntityId())
.value(ENTITY_KEY_COL, xmTimeline.getEntityKey())
.value(ENTITY_TYPE_KEY_COL, xmTimeline.getEntityTypeKey())
.value(OPERATION_URL_COL, xmTimeline.getOperationUrl())
.value(HTTP_METHOD_COL, xmTimeline.getHttpMethod())
.value(REQUEST_BODY_COL, xmTimeline.getRequestBody())
.value(REQUEST_LENGTH_COL, xmTimeline.getRequestLength())
.value(RESPONSE_BODY_COL, xmTimeline.getResponseBody())
.value(RESPONSE_LENGTH_COL, xmTimeline.getResponseLength())
.value(REQUEST_HEADERS_COL, xmTimeline.getRequestHeaders())
.value(RESPONSE_HEADERS_COL, xmTimeline.getResponseHeaders())
.value(HTTP_STATUS_CODE_COL, xmTimeline.getHttpStatusCode())
.value(CHANNEL_TYPE_COL, xmTimeline.getChannelType())
.value(EXEC_TIME_COL, xmTimeline.getExecTime());
ResultSet resultSet = session.execute(insert);
return resultSet.wasApplied();
}
项目:flume-examples
文件:CassandraSink.java
public void save(List<Event> events) {
final BatchStatement batch = new BatchStatement();
for (final Event event : events) {
final Map<String, Object> parsedEvent = parse(event);
if (parsedEvent.isEmpty()) {
log.warn("Event {} could not be mapped", event);
continue;
}
if (!hasPrimaryKey(parsedEvent)) {
break;
}
final Insert insert = QueryBuilder.insertInto(table);
for (final Map.Entry<String, Object> entry : parsedEvent.entrySet()) {
insert.value(entry.getKey(), entry.getValue());
}
if (log.isTraceEnabled()) {
log.trace("Preparing insert for table {}: {}", table.getName(), insert.getQueryString());
}
batch.add(insert);
}
if (batch.getStatements().isEmpty()) {
log.warn("No event produced insert query for table {}", table.getName());
return;
}
batch.setConsistencyLevel(consistencyLevel);
session.execute(batch);
}
项目:Camel
文件:CassandraUtils.java
/**
* Generate Insert CQL.
*/
public static Insert generateInsert(String table, String[] columns, boolean ifNotExists, Integer ttl) {
Insert insert = insertInto(table);
for (String column : columns) {
insert = insert.value(column, bindMarker());
}
if (ifNotExists) {
insert = insert.ifNotExists();
}
if (ttl != null) {
insert.using(ttl(ttl));
}
return insert;
}
项目:Camel
文件:CassandraAggregationRepository.java
private void initInsertStatement() {
Insert insert = generateInsert(table,
getAllColumns(),
false, ttl);
insert = applyConsistencyLevel(insert, writeConsistencyLevel);
LOGGER.debug("Generated Insert {}", insert);
insertStatement = getSession().prepare(insert);
}
项目:dOOv
文件:CassandraQueryBuilderTest.java
@Test
public void simpleCasandraInsert() {
FieldModel model = SampleModels.wrapper();
Insert insertRequest = QueryBuilder.insertInto("fields_model");
insertRequest.value("snapshot_id", UUID.randomUUID());
insertRequest.values(
model.stream().map(e -> e.getKey().name()).collect(toList()),
model.stream().map(Entry::getValue).collect(toList()));
print(insertRequest.getQueryString(codecRegistry()));
}
项目:storm-cassandra-cql
文件:WordCountAndSourceMapper.java
@Override
public Statement map(List<String> keys, Number value) {
Insert statement = QueryBuilder.insertInto(KEYSPACE_NAME, TABLE_NAME);
statement.value(WORD_KEY_NAME, keys.get(0));
statement.value(SOURCE_KEY_NAME, keys.get(1));
statement.value(VALUE_NAME, value);
return statement;
}
项目:henicea
文件:MigrationClientTest.java
@Test
public void acquireLock_shouldReturnTrueIfInsertSucceeds() throws Exception {
ResultSet leaseResultSet = mock(ResultSet.class);
when(session.execute(argThat(new CustomMatcher<Insert>("Get lease insert statement") {
@Override
public boolean matches(Object item) {
String cql = item.toString();
return cql.startsWith("INSERT INTO test.leases") && cql.contains("VALUES ('migration',");
}
}))).thenReturn(leaseResultSet);
when(leaseResultSet.wasApplied()).thenReturn(true);
assertThat(client.acquireLock()).isTrue();
}
项目:henicea
文件:MigrationClientTest.java
@Test
public void acquireLock_shouldReturnFalseIfInsertFails() throws Exception {
ResultSet leaseResultSet = mock(ResultSet.class);
when(session.execute(argThat(new CustomMatcher<Insert>("Get lease insert statement") {
@Override
public boolean matches(Object item) {
String cql = item.toString();
return cql.startsWith("INSERT INTO test.leases") && cql.contains("VALUES ('migration',");
}
}))).thenReturn(leaseResultSet);
when(leaseResultSet.wasApplied()).thenReturn(false);
assertThat(client.acquireLock()).isFalse();
}
项目:cassandra-migration
文件:V3_0__Third.java
@Override
public void migrate(Session session) throws Exception {
Insert insert = QueryBuilder.insertInto("test1");
insert.value("space", "web");
insert.value("key", "google");
insert.value("value", "google.com");
session.execute(insert);
}
项目:cassandra-migration
文件:V3_0_1__Three_zero_one.java
@Override
public void migrate(Session session) throws Exception {
Insert insert = QueryBuilder.insertInto("test1");
insert.value("space", "web");
insert.value("key", "facebook");
insert.value("value", "facebook.com");
session.execute(insert);
}
项目:Troilus
文件:WriteQueryDataImpl.java
private static ListenableFuture<Statement> toInsertStatementAsync(WriteQueryData data, ExecutionSpec executionSpec, UDTValueMapper udtValueMapper, DBSession dbSession) {
final Insert insert = (data.getTablename().getKeyspacename() == null) ? insertInto(data.getTablename().getTablename())
: insertInto(data.getTablename().getKeyspacename(), data.getTablename().getTablename());
final List<Object> values = Lists.newArrayList();
for(Entry<String, Optional<Object>> entry : data.getValuesToMutate().entrySet()) {
insert.value(entry.getKey(), bindMarker());
values.add(udtValueMapper.toStatementValue(data.getTablename(), entry.getKey(), entry.getValue().orNull()));
}
if (data.getIfNotExits() != null) {
insert.ifNotExists();
if (executionSpec.getSerialConsistencyLevel() != null) {
insert.setSerialConsistencyLevel(executionSpec.getSerialConsistencyLevel());
}
}
if (executionSpec.getTtl() != null) {
insert.using(ttl(bindMarker()));
values.add((Integer) executionSpec.getTtl());
}
final ListenableFuture<PreparedStatement> preparedStatementFuture = dbSession.prepareAsync(insert);
return dbSession.bindAsync(preparedStatementFuture, values.toArray());
}
项目:deep-spark
文件:CassandraUtils.java
public static <W> void doCql3SaveToCassandra(RDD<W> rdd, ICassandraDeepJobConfig<W> writeConfig,
Function1<W, Tuple2<Cells, Cells>> transformer) {
if (!writeConfig.getIsWriteConfig()) {
throw new IllegalArgumentException("Provided configuration object is not suitable for writing");
}
Tuple2<Map<String, ByteBuffer>, Map<String, ByteBuffer>> tuple = new Tuple2<>(null, null);
RDD<Tuple2<Cells, Cells>> mappedRDD = rdd.map(transformer,
ClassTag$.MODULE$.<Tuple2<Cells, Cells>>apply(tuple.getClass()));
((CassandraDeepJobConfig) writeConfig).createOutputTableIfNeeded(mappedRDD.first());
final int pageSize = writeConfig.getBatchSize();
int offset = 0;
List<Tuple2<Cells, Cells>> elements = Arrays.asList((Tuple2<Cells, Cells>[]) mappedRDD.collect());
List<Tuple2<Cells, Cells>> split;
do {
split = elements.subList(pageSize * (offset++), Math.min(pageSize * offset, elements.size()));
Batch batch = QueryBuilder.batch();
for (Tuple2<Cells, Cells> t : split) {
Tuple2<String[], Object[]> bindVars = Utils.prepareTuple4CqlDriver(t);
Insert insert = QueryBuilder
.insertInto(quote(writeConfig.getKeyspace()), quote(writeConfig.getTable()))
.values(bindVars._1(), bindVars._2());
batch.add(insert);
}
writeConfig.getSession().execute(batch);
} while (!split.isEmpty() && split.size() == pageSize);
}
项目:agon
文件:CassandraPlayerRepository.java
@Override
public void unlockBadge(long playerId, UUID badgeId) {
Insert insertStatement = QueryBuilder.insertInto(session.getLoggedKeyspace(), "player_badges")
.value("player_id", playerId)
.value("badge_id", badgeId)
.value("unlocked", new Date());
session.execute(insertStatement);
}
项目:Decision
文件:SaveToCassandraOperationsService.java
public Insert createInsertStatement(String streamName, List<ColumnNameTypeValue> columns, String timestampColumnName) {
Insert insert = QueryBuilder.insertInto(addQuotes(STREAMING.STREAMING_KEYSPACE_NAME), addQuotes(streamName));
for (ColumnNameTypeValue column : columns) {
insert.value(addQuotes(column.getColumn()), column.getValue());
}
insert.value(addQuotes(timestampColumnName), UUIDs.timeBased());
return insert;
}
项目:Decision
文件:SaveToCassandraOperationsServiceTest.java
@Test
public void testCreateInsertStatement() throws Exception {
Insert insert= service.createInsertStatement(TABLE, columns, "timestamp");
assertEquals("Expected keyspace not found",
"\"" + STREAMING.STREAMING_KEYSPACE_NAME + "\"", insert.getKeyspace());
}
项目:ingestion
文件:CassandraTable.java
public void save(final List<Event> events) {
final BatchStatement batch = new BatchStatement();
for (final Event event : events) {
final Map<String, Object> parsedEvent = parse(event);
if (parsedEvent.isEmpty()) {
log.warn("Event {} could not be mapped. Suggestion: Cassandra is case sensitive, so maybe you can check field names.", event);
continue;
}
if (!hasPrimaryKey(parsedEvent)) {
break;
}
final Insert insert = QueryBuilder.insertInto(table);
for (final Map.Entry<String, Object> entry : parsedEvent.entrySet()) {
insert.value(entry.getKey(), entry.getValue());
}
if (log.isTraceEnabled()) {
log.trace("Preparing insert for table {}: {}", table.getName(), insert.getQueryString());
}
batch.add(insert);
}
if (batch.getStatements().isEmpty()) {
log.warn("No event produced insert query for table {}", table.getName());
return;
}
batch.setConsistencyLevel(consistencyLevel);
session.execute(batch);
}
项目:jooby
文件:CassandraSessionStore.java
private static String insertSQL(final String table, final int timeout) {
Insert insertInto = insertInto(table)
.value(ID, raw("?"))
.value(CREATED_AT, raw("?"))
.value(ACCESSED_AT, raw("?"))
.value(SAVED_AT, raw("?"))
.value(ATTRIBUTES, raw("?"));
if (timeout > 0) {
insertInto.using(ttl(timeout));
}
return insertInto.getQueryString();
}
项目:izettle-toolbox
文件:SchemaVersionUpdaterWithDatastaxDriver.java
private void apply(SchemaUpdatingScript script) throws IOException {
if (isNotApplied(script)) {
LOG.info("Applying script " + script);
session.execute(script.readCQLContents());
Insert insert = QueryBuilder.insertInto(TABLE_NAME)
.value("key", script.name)
.value("executed", new Date());
session.execute(insert);
LOG.debug("Script " + script + " successfully applied.");
}
}
项目:zipkin
文件:CassandraSpanConsumer.java
private RegularStatement maybeUseTtl(Insert value) {
return indexTtl == null
? value
: value.using(QueryBuilder.ttl(QueryBuilder.bindMarker("ttl_")));
}
项目:zipkin
文件:InsertTraceIdByServiceName.java
@Override public Insert declarePartitionKey(Insert insert) {
return insert.value("service_name", QueryBuilder.bindMarker("service_name"))
.value("bucket", QueryBuilder.bindMarker("bucket"));
}
项目:zipkin
文件:InsertTraceIdBySpanName.java
@Override public Insert declarePartitionKey(Insert insert) {
return insert.value("service_span_name", QueryBuilder.bindMarker("service_span_name"));
}
项目:zipkin
文件:InsertTraceIdByAnnotation.java
@Override public Insert declarePartitionKey(Insert insert) {
return insert.value("annotation", QueryBuilder.bindMarker("annotation"))
.value("bucket", QueryBuilder.bindMarker("bucket"));
}
项目:Camel
文件:CassandraIdempotentRepository.java
protected void initInsertStatement() {
Insert insert = generateInsert(table, pkColumns, true, ttl);
insert = applyConsistencyLevel(insert, writeConsistencyLevel);
LOGGER.debug("Generated Insert {}", insert);
insertStatement = getSession().prepare(insert);
}
项目:lucidity
文件:CassandraEntityStore.java
@Override
public <T> T create(T object, ConsistencyLevel consistency) {
checkNotNull(object, "object argument");
checkNotNull(consistency, "consistency argument");
checkState(m_isOpen, format("%s is closed", getClass().getSimpleName()));
checkArgument(
object.getClass().isAnnotationPresent(ENTITY),
format("%s not annotated with @%s", getClass().getSimpleName(), ENTITY.getCanonicalName()));
Schema schema = getSchema(object);
checkArgument(
schema.getID().getValue(object) == null,
format("property annotated with @%s must be null", ID.getCanonicalName()));
// Object persistence (incl. indices)
UUID id = UUID.randomUUID();
Batch batch = batch();
Insert insertStatement = insertInto(schema.getTableName()).value(schema.getID().getName(), id);
for (ColumnSpec colSpec : schema.getColumns()) {
insertStatement.value(colSpec.getName(), colSpec.getValue(object));
if (colSpec.isIndexed()) {
String tableName = indexTableName(schema.getTableName(), colSpec.getName());
batch.add(
insertInto(tableName)
.value(colSpec.getName(), colSpec.getValue(object))
.value(joinColumnName(schema.getTableName()), id)
);
}
}
batch.add(insertStatement);
// One-to-Many relationship persistence
for (OneToManySpec relationSpec : schema.getOneToManys()) {
Schema s = relationSpec.getSchema();
Object relations = relationSpec.getValue(object);
if (relations == null) {
continue;
}
for (Object item : (Collection<?>) relations) {
UUID relationID = (UUID) s.getID().getValue(item);
if (relationID == null) {
throw new IllegalStateException(
"encountered relation with null ID property (entity not persisted?)");
}
String joinTable = joinTableName(schema.getTableName(), s.getTableName());
batch.add(
insertInto(joinTable)
.value(joinColumnName(schema.getTableName()), id)
.value(joinColumnName(s.getTableName()), relationID)
);
}
}
executeStatement(batch, consistency);
schema.getID().setValue(object, id);
cacheInstance(object);
return object;
}
项目:xm-ms-timeline
文件:EntityMappingRepository.java
/**
* Insert into cassandra.
*
* @param entityId entity id
* @param entityKey entity key
* @param tenant tenant name
* @return the result of insert
*/
public boolean insertKeyById(Long entityId, String entityKey, String tenant) {
Insert insert = QueryBuilder.insertInto(tenant, TABLE_KEY_ID).value(ENTITY_ID_COL, entityId)
.value(ENTITY_KEY_COL, entityKey);
ResultSet resultSet = session.execute(insert);
return resultSet.wasApplied();
}
项目:zipkin
文件:Indexer.java
Insert declarePartitionKey(Insert insert);