Created
June 26, 2016 23:14
-
-
Save greenlion/beb7189c3ed79d2c6c9da8f023e2b105 to your computer and use it in GitHub Desktop.
A schema for holding extents for a column in a column store
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- in dict.db | |
-- columns are created in partitions of file_max_hwm size | |
create table columns ( | |
column_id integer primary key, | |
rowcount, -- count of | |
extent_size integer, | |
name blob, | |
data_type integer, 0 = int, 1=unsigned int, 2=float, 3=double, 4=string | |
data_extra1, | |
data_extra2, | |
all_val, -- not null if this value is only value present in table | |
nullcount, -- count of null tuples (null for not nullable) | |
constraint uk unique(tableid, c_name) | |
); | |
-- in column db | |
create table files ( | |
fileid integer primary key, | |
file_hwm integer, | |
next_fileid integer, | |
prev_fileid integer, | |
first_pageid integer, | |
constraint files_uk foreign key references files(fileid), | |
constraint prev_fileid foreign key references files(fileid) | |
); | |
create table bitmaps ( | |
val, | |
extentid integer, | |
bitmap blob, | |
constraint first_extent_fk foreign key (first_extentid) references extents(extentid) | |
); | |
create table data_extents ( | |
extentid integer primary key, | |
deleted_bitmap blob, | |
null_bitmap blob, | |
next_id integer, | |
prev_id integer, | |
minval, -- min value in extent | |
maxval, -- max value in extent | |
encoding, -- RLE | FOR | DELTA | LZMA | |
min_rowid integer, | |
constraint prev_fk foreign key (prev_id) references extents(extentid), | |
constraint next_fk foreign key (next_id) references extents(extentid) | |
); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment