blob: 87ad2b02b17dfd6f2115b3e848e8e94c252a6fe3 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
drop dataverse TinySocial if exists;
create dataverse TinySocial;
use dataverse TinySocial;
create type EmploymentType as open {
organization-name: string,
start-date: date,
end-date: date?
}
create type MugshotUserType as {
id: int32,
alias: string,
name: string,
user-since: datetime,
address: {
street: string,
city: string,
state: string,
zip: string,
country: string
},
friend-ids: {{ int32 }},
employment: [EmploymentType]
}
create type MugshotMessageType as closed {
message-id: int32,
author-id: int32,
timestamp: datetime,
in-response-to: int32?,
sender-location: point?,
tags: {{ string }},
message: string
}
create dataset MugshotUsers(MugshotUserType)
primary key id;
create dataset MugshotMessages(MugshotMessageType)
primary key message-id;
create index msUserSinceIdx
on MugshotUsers(user-since);
create index msTimestampIdx
on MugshotMessages(timestamp);
create index msAuthorIdx
on MugshotMessages(author-id) type btree;
create index msSenderLocIndex
on MugshotMessages(sender-location) type rtree;
create index msMessageIdx
on MugshotMessages(message) type keyword;