Cassandra Client.
| 305 | |
| 306 | |
| 307 | class CassandraClient(object): |
| 308 | """Cassandra Client.""" |
| 309 | |
| 310 | MIN_TOKEN = -(2 ** 63) |
| 311 | |
| 312 | PAGE_SIZE = 1024 |
| 313 | |
| 314 | CONCURRENCY = 100 |
| 315 | |
| 316 | QUERY_CREATE_TABLE = """ |
| 317 | CREATE TABLE IF NOT EXISTS {} ( |
| 318 | key blob, |
| 319 | value blob, |
| 320 | ts bigint, |
| 321 | PRIMARY KEY (key, value) |
| 322 | ) WITH CLUSTERING ORDER BY (value DESC) |
| 323 | """ |
| 324 | |
| 325 | QUERY_DROP_TABLE = "DROP TABLE IF EXISTS {}" |
| 326 | |
| 327 | QUERY_GET_KEYS = """ |
| 328 | SELECT DISTINCT key, TOKEN(key) as f_token |
| 329 | FROM {} |
| 330 | WHERE TOKEN(key) >= ? LIMIT ? |
| 331 | """ |
| 332 | |
| 333 | QUERY_GET_COUNTS = """ |
| 334 | SELECT key, COUNT(value) AS count |
| 335 | FROM {} |
| 336 | WHERE key = ? |
| 337 | """ |
| 338 | |
| 339 | QUERY_SELECT = """ |
| 340 | SELECT key, value, ts |
| 341 | FROM {} |
| 342 | WHERE key = ? |
| 343 | """ |
| 344 | |
| 345 | QUERY_SELECT_ONE = """ |
| 346 | SELECT key, value |
| 347 | FROM {} |
| 348 | WHERE key = ? LIMIT 1 |
| 349 | """ |
| 350 | |
| 351 | QUERY_DELETE_KEY = """ |
| 352 | DELETE FROM {} |
| 353 | WHERE key = ? |
| 354 | """ |
| 355 | |
| 356 | QUERY_DELETE_VAL = """ |
| 357 | DELETE FROM {} |
| 358 | WHERE key = ? AND value = ? |
| 359 | """ |
| 360 | |
| 361 | QUERY_UPSERT = """ |
| 362 | UPDATE {} |
| 363 | SET ts = ? |
| 364 | WHERE key = ? AND value = ? |