mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr.git
synced 2025-10-23 08:22:12 +00:00
Move a comment for ind_bitlen column to a separate line, so that it doesn't show in PRAGMA_TABLE_INFO('subscriber'). An upcoming patch introduces db_upgrade_test, which dumps a sorted db schema. In newer sqlite3 versions, a comment following a 'DEFAULT' keyword actually shows up in the PRAGMA_TABLE_INFO() results (on my machine), but older versions (on the build slaves) drop that comment. The ind_bitlen column is the only one producing this odd side effect, because it is the last column and has no comma between 'DEFAULT' and the comment. The easiest way to get matching results across sqlite3 client versions is to move the comment to above ind_bitlen instead of having it on the same line. (Adding a comma doesn't work.) Change-Id: Id66ad68dd3f22d533fc3a428223ea6ad0282bde0
81 lines
2.4 KiB
SQL
81 lines
2.4 KiB
SQL
CREATE TABLE subscriber (
|
|
-- OsmoHLR's DB scheme is modelled roughly after TS 23.008 version 13.3.0
|
|
id INTEGER PRIMARY KEY,
|
|
-- Chapter 2.1.1.1
|
|
imsi VARCHAR(15) UNIQUE NOT NULL,
|
|
-- Chapter 2.1.2
|
|
msisdn VARCHAR(15) UNIQUE,
|
|
-- Chapter 2.2.3: Most recent / current IMEISV
|
|
imeisv VARCHAR,
|
|
-- Chapter 2.1.9: Most recent / current IMEI
|
|
imei VARCHAR(14),
|
|
-- Chapter 2.4.5
|
|
vlr_number VARCHAR(15),
|
|
-- Chapter 2.4.6
|
|
hlr_number VARCHAR(15),
|
|
-- Chapter 2.4.8.1
|
|
sgsn_number VARCHAR(15),
|
|
-- Chapter 2.13.10
|
|
sgsn_address VARCHAR,
|
|
-- Chapter 2.4.8.2
|
|
ggsn_number VARCHAR(15),
|
|
-- Chapter 2.4.9.2
|
|
gmlc_number VARCHAR(15),
|
|
-- Chapter 2.4.23
|
|
smsc_number VARCHAR(15),
|
|
-- Chapter 2.4.24
|
|
periodic_lu_tmr INTEGER,
|
|
-- Chapter 2.13.115
|
|
periodic_rau_tau_tmr INTEGER,
|
|
-- Chapter 2.1.1.2: network access mode
|
|
nam_cs BOOLEAN NOT NULL DEFAULT 1,
|
|
nam_ps BOOLEAN NOT NULL DEFAULT 1,
|
|
-- Chapter 2.1.8
|
|
lmsi INTEGER,
|
|
|
|
-- The below purged flags might not even be stored non-volatile,
|
|
-- refer to TS 23.012 Chapter 3.6.1.4
|
|
-- Chapter 2.7.5
|
|
ms_purged_cs BOOLEAN NOT NULL DEFAULT 0,
|
|
-- Chapter 2.7.6
|
|
ms_purged_ps BOOLEAN NOT NULL DEFAULT 0,
|
|
|
|
-- Timestamp of last location update seen from subscriber
|
|
-- The value is a string which encodes a UTC timestamp in granularity of seconds.
|
|
last_lu_seen TIMESTAMP default NULL
|
|
);
|
|
|
|
CREATE TABLE subscriber_apn (
|
|
subscriber_id INTEGER, -- subscriber.id
|
|
apn VARCHAR(256) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE subscriber_multi_msisdn (
|
|
-- Chapter 2.1.3
|
|
subscriber_id INTEGER, -- subscriber.id
|
|
msisdn VARCHAR(15) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE auc_2g (
|
|
subscriber_id INTEGER PRIMARY KEY, -- subscriber.id
|
|
algo_id_2g INTEGER NOT NULL, -- enum osmo_auth_algo value
|
|
ki VARCHAR(32) NOT NULL -- hex string: subscriber's secret key (128bit)
|
|
);
|
|
|
|
CREATE TABLE auc_3g (
|
|
subscriber_id INTEGER PRIMARY KEY, -- subscriber.id
|
|
algo_id_3g INTEGER NOT NULL, -- enum osmo_auth_algo value
|
|
k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit)
|
|
op VARCHAR(32), -- hex string: operator's secret key (128bit)
|
|
opc VARCHAR(32), -- hex string: derived from OP and K (128bit)
|
|
sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage
|
|
-- nr of index bits at lower SQN end
|
|
ind_bitlen INTEGER NOT NULL DEFAULT 5
|
|
);
|
|
|
|
CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi);
|
|
|
|
-- Set HLR database schema version number
|
|
-- Note: This constant is currently duplicated in src/db.c and must be kept in sync!
|
|
PRAGMA user_version = 2;
|