29
29
import org .apache .hugegraph .backend .store .cassandra .CassandraTables ;
30
30
import org .apache .hugegraph .type .define .Directions ;
31
31
import org .apache .hugegraph .type .define .HugeKeys ;
32
+
32
33
import com .datastax .driver .core .querybuilder .Select ;
33
34
34
35
public class ScyllaDBTablesWithMV {
@@ -62,17 +63,17 @@ private static String mvLabelTable(String table) {
62
63
}
63
64
64
65
private static void createSchemaIndexTable (
65
- CassandraSessionPool .Session session ,
66
- String mvName , String table ) {
66
+ CassandraSessionPool .Session session ,
67
+ String mvName , String table ) {
67
68
final String NAME = CassandraTable .formatKey (HugeKeys .NAME );
68
69
final String ID = CassandraTable .formatKey (HugeKeys .ID );
69
70
String cql = String .format (
70
- "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
71
- " SELECT * FROM %s " +
72
- " WHERE %s IS NOT NULL " +
73
- " PRIMARY KEY(%s, %s)" ,
74
- mvName , table , NAME ,
75
- NAME , ID );
71
+ "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
72
+ " SELECT * FROM %s " +
73
+ " WHERE %s IS NOT NULL " +
74
+ " PRIMARY KEY(%s, %s)" ,
75
+ mvName , table , NAME ,
76
+ NAME , ID );
76
77
session .execute (cql );
77
78
}
78
79
@@ -206,11 +207,11 @@ protected void createIndex(CassandraSessionPool.Session session,
206
207
final String LABEL = CassandraTable .formatKey (HugeKeys .LABEL );
207
208
final String ID = CassandraTable .formatKey (HugeKeys .ID );
208
209
String cql = String .format (
209
- "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
210
- " SELECT * FROM %s " +
211
- " WHERE %s IS NOT NULL " +
212
- " PRIMARY KEY(%s, %s)" ,
213
- mvLabel2Vertex , this .table (), LABEL , LABEL , ID );
210
+ "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
211
+ " SELECT * FROM %s " +
212
+ " WHERE %s IS NOT NULL " +
213
+ " PRIMARY KEY(%s, %s)" ,
214
+ mvLabel2Vertex , this .table (), LABEL , LABEL , ID );
214
215
session .execute (cql );
215
216
}
216
217
@@ -240,13 +241,13 @@ public static class Edge extends CassandraTables.Edge {
240
241
241
242
private static final String LABEL = CassandraTable .formatKey (HugeKeys .LABEL );
242
243
private final List <String > keys = this .idColumnName ().stream ()
243
- .filter (k -> k != HugeKeys .LABEL )
244
- .map (k -> CassandraTable .formatKey (k ))
245
- .collect (Collectors .toList ());
244
+ .filter (k -> k != HugeKeys .LABEL )
245
+ .map (k -> CassandraTable .formatKey (k ))
246
+ .collect (Collectors .toList ());
246
247
private final String prKeys = this .keys .stream ()
247
- .collect (Collectors .joining ("," ));
248
+ .collect (Collectors .joining ("," ));
248
249
private final String prkeysNn = this .keys .stream ().collect (
249
- Collectors .joining (" IS NOT NULL AND " ));
250
+ Collectors .joining (" IS NOT NULL AND " ));
250
251
251
252
public Edge (String store , Directions direction ) {
252
253
super (store , direction );
@@ -257,13 +258,13 @@ protected void createIndex(CassandraSessionPool.Session session,
257
258
String indexLabel ,
258
259
HugeKeys column ) {
259
260
String cql = String .format (
260
- "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
261
- " SELECT * FROM %s " +
262
- " WHERE %s IS NOT NULL AND %s IS NOT NULL " +
263
- " PRIMARY KEY(%s, %s)" ,
264
- mvLabel2Edge , this .table (),
265
- this . LABEL , this .prkeysNn ,
266
- this . LABEL , this .prKeys );
261
+ "CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS " +
262
+ " SELECT * FROM %s " +
263
+ " WHERE %s IS NOT NULL AND %s IS NOT NULL " +
264
+ " PRIMARY KEY(%s, %s)" ,
265
+ mvLabel2Edge , this .table (),
266
+ LABEL , this .prkeysNn ,
267
+ LABEL , this .prKeys );
267
268
session .execute (cql );
268
269
}
269
270
0 commit comments