scylla-gdb: scylla_read_stats: access schema via schema_ptr class
Switch to using schema_ptr wrapper when handling schema references in scylla_read_stats function. The existing fallback for older versions (where schema is already a raw pointer) remains preserved. Fixes #18700 Signed-off-by: Lakshmi Narayanan Sreethar <lakshmi.sreethar@scylladb.com> Closes scylladb/scylladb#22726
This commit is contained in:
committed by
Avi Kivity
parent
342df0b1a8
commit
a145a2f83a
@@ -5775,17 +5775,17 @@ class scylla_read_stats(gdb.Command):
|
|||||||
total = permit_stats()
|
total = permit_stats()
|
||||||
|
|
||||||
for permit in intrusive_list(permit_list):
|
for permit in intrusive_list(permit_list):
|
||||||
|
schema_name = "*.*"
|
||||||
|
schema = permit['_schema']
|
||||||
try:
|
try:
|
||||||
schema = permit['_schema']['_p']
|
# schema is a schema_ptr in newer versions
|
||||||
|
if schema['_p']:
|
||||||
|
schema_name = schema_ptr(schema).table_name()
|
||||||
except:
|
except:
|
||||||
# schema is already a raw pointer in older versions
|
# schema is already a raw pointer in older versions
|
||||||
schema = permit['_schema']
|
if schema:
|
||||||
|
raw_schema = schema.dereference()['_raw']
|
||||||
if schema:
|
schema_name = "{}.{}".format(str(raw_schema['_ks_name']).replace('"', ''), str(raw_schema['_cf_name']).replace('"', ''))
|
||||||
raw_schema = schema.dereference()['_raw']
|
|
||||||
schema_name = "{}.{}".format(str(raw_schema['_ks_name']).replace('"', ''), str(raw_schema['_cf_name']).replace('"', ''))
|
|
||||||
else:
|
|
||||||
schema_name = "*.*"
|
|
||||||
|
|
||||||
description = str(permit['_op_name_view'])[1:-1]
|
description = str(permit['_op_name_view'])[1:-1]
|
||||||
state = str(permit['_state'])[state_prefix_len:]
|
state = str(permit['_state'])[state_prefix_len:]
|
||||||
|
|||||||
Reference in New Issue
Block a user