At work, we have a table api_keys_by_id
, with a materialized view api_keys_by_orgId
. However, when catalytic_table_to_struct
creates the MV, it doesn't do much. Here's the generated code, shortened a little:
// Generated file
pub const SELECT_ALL_QUERY: &str = "select from api_keys_by_orgId";
pub const SELECT_ALL_COUNT_QUERY: &str = "select count(*) from api_keys_by_orgId";
pub const SELECT_UNIQUE_QUERY: &str = "select from api_keys_by_orgId where ";
#[derive(
scylla :: FromRow, scylla :: ValueList, catalytic_macro :: Mirror, Debug, Clone, PartialEq,
)]
pub struct ApiKeysByOrgId {}
impl ApiKeysByOrgId {
pub fn primary_key(&self) -> PrimaryKeyRef {
PrimaryKeyRef {}
}
pub fn primary_key_owned(&self) -> PrimaryKey {
self.primary_key().into_owned()
}
pub fn into_primary_key_owned(self) -> PrimaryKey {
PrimaryKey {}
}
}
This is the get_columns
function:
select
column_name,
kind,
position,
type as data_type
from system_schema.columns
where keyspace_name = 'spore'
and table_name = 'api_keys_by_orgId';
and it's response:
![image](https://private-user-images.githubusercontent.com/45381083/258695616-cfea87c3-7261-416e-8bf6-ec6dc0a3fbca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkyNDEzNzAsIm5iZiI6MTcxOTI0MTA3MCwicGF0aCI6Ii80NTM4MTA4My8yNTg2OTU2MTYtY2ZlYTg3YzMtNzI2MS00MTZlLThiZjYtZWM2ZGMwYTNmYmNhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI0VDE0NTc1MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZkNGJlZDYxMzQ5NDA1YTRhZTU0NzEyODhlNjYwNjEwMjY5ZTE1MDVkMzgwNGQwN2QxZjgzOWYzMzIwYzYxZWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Wuf9pX1zajuBrCwxFt5L0iwqvwRhk1Htd9uGjekCBJI)