Sebastian Estevez created CASSANDRA-11187:
---------------------------------------------
Summary: DESC table on a table with UDT's should also print it's
Types
Key: CASSANDRA-11187
URL: https://issues.apache.org/jira/browse/CASSANDRA-11187
Project: Cassandra
Issue Type: Bug
Reporter: Sebastian Estevez
Lot's of folks use desc table to capture table definitions. When you describe a
table with UDT's today it doesn't also spit out it's CREATE TYPE statements
which makes it tricky and inconvenient to share tabe definitions with UDT's.
Current functionality:
{code}
> desc TABLE payments.payments ;
CREATE TABLE payments.payments (
branch text,
timebucket text,
create_ts timestamp,
eventid text,
applicable_manufacturer_or_applicable_gpo_making_payment_country text,
applicable_manufacturer_or_applicable_gpo_making_payment_id text,
applicable_manufacturer_or_applicable_gpo_making_payment_name text,
applicable_manufacturer_or_applicable_gpo_making_payment_state text,
charity_indicator text,
city_of_travel text,
contextual_information text,
country_of_travel text,
covered_recipient_type text,
date_of_payment timestamp,
delay_in_publication_indicator text,
dispute_status_for_publication text,
form_of_payment_or_transfer_of_value text,
name_of_associated_covered_device_or_medical_supply1 text,
name_of_associated_covered_device_or_medical_supply2 text,
name_of_associated_covered_device_or_medical_supply3 text,
name_of_associated_covered_device_or_medical_supply4 text,
name_of_associated_covered_device_or_medical_supply5 text,
name_of_associated_covered_drug_or_biological1 text,
name_of_associated_covered_drug_or_biological2 text,
name_of_associated_covered_drug_or_biological3 text,
name_of_associated_covered_drug_or_biological4 text,
name_of_associated_covered_drug_or_biological5 text,
name_of_third_party_entity_receiving_payment_or_transfer_of_value text,
nature_of_payment_or_transfer_of_value text,
ndc_of_associated_covered_drug_or_biological1 text,
ndc_of_associated_covered_drug_or_biological2 text,
ndc_of_associated_covered_drug_or_biological3 text,
ndc_of_associated_covered_drug_or_biological4 text,
ndc_of_associated_covered_drug_or_biological5 text,
number_of_payments_included_in_total_amount double,
payment_publication_date timestamp,
physicians set<frozen<physician>>,
product_indicator text,
program_year text,
record_id text,
solr_query text,
state_of_travel text,
submitting_applicable_manufacturer_or_applicable_gpo_name text,
teaching_hospital_id text,
teaching_hospital_name text,
third_party_equals_covered_recipient_indicator text,
third_party_payment_recipient_indicator text,
total_amount_of_payment_usdollars double,
PRIMARY KEY ((branch, timebucket), create_ts, eventid)
)WITH CLUSTERING ORDER BY (create_ts ASC, eventid ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class':
'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression':
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
{code}
Desired functionality:
{code}
CREATE TYPE physician(
physician_first_name text,
physician_last_name text,
physician_license_state_code1 text,
physician_license_state_code2 text,
physician_license_state_code3 text,
physician_license_state_code4 text,
physician_license_state_code5 text,
physician_middle_name text,
physician_name_suffix text,
physician_ownership_indicator text,
physician_primary_type text,
physician_profile_id text,
physician_specialty text
);
CREATE TYPE recipient(
recipient_city text,
recipient_country text,
recipient_postal_code text,
recipient_primary_business_street_address_line1 text,
recipient_primary_business_street_address_line2 text,
recipient_province text,
recipient_state text,
recipient_zip_code text
);
CREATE TABLE payments (
branch text,
timebucket text,
create_ts timestamp,
eventid text,
applicable_manufacturer_or_applicable_gpo_making_payment_country text,
applicable_manufacturer_or_applicable_gpo_making_payment_id text,
applicable_manufacturer_or_applicable_gpo_making_payment_name text,
applicable_manufacturer_or_applicable_gpo_making_payment_state text,
charity_indicator text,
city_of_travel text,
contextual_information text,
country_of_travel text,
covered_recipient_type text,
date_of_payment timestamp,
delay_in_publication_indicator text,
dispute_status_for_publication text,
form_of_payment_or_transfer_of_value text,
name_of_associated_covered_device_or_medical_supply1 text,
name_of_associated_covered_device_or_medical_supply2 text,
name_of_associated_covered_device_or_medical_supply3 text,
name_of_associated_covered_device_or_medical_supply4 text,
name_of_associated_covered_device_or_medical_supply5 text,
name_of_associated_covered_drug_or_biological1 text,
name_of_associated_covered_drug_or_biological2 text,
name_of_associated_covered_drug_or_biological3 text,
name_of_associated_covered_drug_or_biological4 text,
name_of_associated_covered_drug_or_biological5 text,
name_of_third_party_entity_receiving_payment_or_transfer_of_value text,
nature_of_payment_or_transfer_of_value text,
ndc_of_associated_covered_drug_or_biological1 text,
ndc_of_associated_covered_drug_or_biological2 text,
ndc_of_associated_covered_drug_or_biological3 text,
ndc_of_associated_covered_drug_or_biological4 text,
ndc_of_associated_covered_drug_or_biological5 text,
number_of_payments_included_in_total_amount double,
payment_publication_date timestamp,
physicians set<frozen<physician>>,
product_indicator text,
program_year text,
record_id text,
solr_query text,
state_of_travel text,
submitting_applicable_manufacturer_or_applicable_gpo_name text,
teaching_hospital_id text,
teaching_hospital_name text,
third_party_equals_covered_recipient_indicator text,
third_party_payment_recipient_indicator text,
total_amount_of_payment_usdollars double,
PRIMARY KEY ((branch, timebucket), create_ts, eventid)
)WITH CLUSTERING ORDER BY (create_ts ASC, eventid ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class':
'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression':
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)