MCPcopy Create free account
hub / github.com/apache/cassandra-python-driver / SchemaParserV3

Class SchemaParserV3

cassandra/metadata.py:2476–2748  ·  view source on GitHub ↗

For C* 3.0+

Source from the content-addressed store, hash-verified

2474
2475
2476class SchemaParserV3(SchemaParserV22):
2477 """
2478 For C* 3.0+
2479 """
2480 _SELECT_KEYSPACES = "SELECT * FROM system_schema.keyspaces"
2481 _SELECT_TABLES = "SELECT * FROM system_schema.tables"
2482 _SELECT_COLUMNS = "SELECT * FROM system_schema.columns"
2483 _SELECT_INDEXES = "SELECT * FROM system_schema.indexes"
2484 _SELECT_TRIGGERS = "SELECT * FROM system_schema.triggers"
2485 _SELECT_TYPES = "SELECT * FROM system_schema.types"
2486 _SELECT_FUNCTIONS = "SELECT * FROM system_schema.functions"
2487 _SELECT_AGGREGATES = "SELECT * FROM system_schema.aggregates"
2488 _SELECT_VIEWS = "SELECT * FROM system_schema.views"
2489
2490 _table_name_col = 'table_name'
2491
2492 _function_agg_arument_type_col = 'argument_types'
2493
2494 _table_metadata_class = TableMetadataV3
2495
2496 recognized_table_options = (
2497 'bloom_filter_fp_chance',
2498 'caching',
2499 'cdc',
2500 'comment',
2501 'compaction',
2502 'compression',
2503 'crc_check_chance',
2504 'dclocal_read_repair_chance',
2505 'default_time_to_live',
2506 'gc_grace_seconds',
2507 'max_index_interval',
2508 'memtable_flush_period_in_ms',
2509 'min_index_interval',
2510 'read_repair_chance',
2511 'speculative_retry')
2512
2513 def __init__(self, connection, timeout):
2514 super(SchemaParserV3, self).__init__(connection, timeout)
2515 self.indexes_result = []
2516 self.keyspace_table_index_rows = defaultdict(lambda: defaultdict(list))
2517 self.keyspace_view_rows = defaultdict(list)
2518
2519 def get_all_keyspaces(self):
2520 for keyspace_meta in super(SchemaParserV3, self).get_all_keyspaces():
2521 for row in self.keyspace_view_rows[keyspace_meta.name]:
2522 view_meta = self._build_view_metadata(row)
2523 keyspace_meta._add_view_metadata(view_meta)
2524 yield keyspace_meta
2525
2526 def get_table(self, keyspaces, keyspace, table):
2527 cl = ConsistencyLevel.ONE
2528 where_clause = bind_params(" WHERE keyspace_name = %%s AND %s = %%s" % (self._table_name_col), (keyspace, table), _encoder)
2529 cf_query = QueryMessage(query=self._SELECT_TABLES + where_clause, consistency_level=cl)
2530 col_query = QueryMessage(query=self._SELECT_COLUMNS + where_clause, consistency_level=cl)
2531 indexes_query = QueryMessage(query=self._SELECT_INDEXES + where_clause, consistency_level=cl)
2532 triggers_query = QueryMessage(query=self._SELECT_TRIGGERS + where_clause, consistency_level=cl)
2533

Callers 1

get_schema_parserFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected