-union data_types {
- char *text;
- struct {
- int min;
- int max;
- } number;
-};
-
-struct record_metadata {
- union data_types data;
- struct record_metadata *next; // next item of this name
-};
-
-struct record {
- struct client *client;
- struct record_metadata **metadata; // Array mirrors list of metadata fields in config
- union data_types **sortkeys; // Array mirrors list of sortkey fields in config
- struct record *next; // Next in cluster of merged records
-};
-
-struct record_cluster
-{
- struct record_metadata **metadata; // Array mirrors list of metadata fields in config
- union data_types **sortkeys;
- char *merge_key;
- int relevance;
- int *term_frequency_vec;
- int recid; // Set-specific ID for this record
- struct record *records;
-};
-
-struct connection;
-
-// Represents a host (irrespective of databases)
-struct host {
- char *hostport;
- char *ipport;
- struct connection *connections; // All connections to this
- struct host *next;
-};
-