Skip to content

Instantly share code, notes, and snippets.

@joelevering
joelevering / columns.go
Last active September 9, 2016 19:04
Aggregate column information for a Protobuf
// Determine what fields should be created for a specific event
func FetchFields(event string) ([]SchemaField, error) {
var fields []SchemaField
messageType := proto.MessageType(event)
if messageType == nil {
return fields, fmt.Errorf("schema does not exist: %s", event)
}
fields = FetchFieldsForStruct("", messageType.Elem())
return fields, nil
}
@joelevering
joelevering / sampletable.txt
Created September 9, 2016 19:11
Sample definition in Redshift
Table "public.reverb_event_usersignedup"
Column | Type | Modifiers
---------------------+-----------------------------+-----------
timestamp | timestamp without time zone |
event_source | character varying(1024) |
newsletter_opt_in | character varying(1024) |
user_id | character varying(1024) |
registration_source | character varying(1024) |
referer | character varying(1024) |
aid | character varying(1024) |