INNER CODE UNIT · Rust
table_name
stepancheg/rust-protobuf · protobuf-examples/issue-614/src/lib.rs:5
fn table_name(message: &MessageDescriptor) -> String {
format!("{}s", message.name().to_lowercase())
}
pub fn generate_schema_for(message: MessageDescriptor) -> String {
let table = table_name(&message);
let mut columns = Vec::new();
for field in message.fields() {
if field.containing_oneof().is_some() {
continue;
}
columns.push(format!("{} STRING", field.name()));
}
for oneof in message.oneofs() {
columns.push(format!("{}_type STRING", oneof.name()));
columns.push(format!("{}_value STRING", oneof.name()));
}
let columns = columns.join(", ");