This file is indexed.

/usr/share/kde4/apps/kraft/dbinit/sqlite3/create_schema.sql is in kraft 0.59-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
CREATE TABLE preisArten (
	preisArtID    INTEGER PRIMARY KEY ASC autoincrement,
	preisArt      VARCHAR(64) NOT NULL
);

CREATE TABLE wordLists(
  category     VARCHAR(64),
  word         VARCHAR(255),

  PRIMARY KEY( category, word )
);

CREATE TABLE CatalogSet(
  catalogSetID INTEGER PRIMARY KEY ASC autoincrement,
  name         VARCHAR(255),
  description  VARCHAR(255),
  catalogType  VARCHAR(64),
  sortKey      INT NOT NULL
);

CREATE TABLE CatalogChapters(
	chapterID INTEGER PRIMARY KEY ASC autoincrement,
        catalogSetID INT NOT NULL, 
	chapter      VARCHAR(255),
        sortKey      INT NOT NULL
);
CREATE INDEX chapterIndx ON CatalogChapters( chapter );

CREATE TABLE Catalog (
	TemplID      INTEGER PRIMARY KEY ASC autoincrement,
	chapterID    INT NOT NULL  default 1,
	unitID       INT NOT NULL,
	Floskel      TEXT,
	Gewinn	     DECIMAL(6,2)        default 0,
	zeitbeitrag  TINYINT             default 1,
	enterDatum   DATETIME,
	modifyDatum  TIMESTAMP(14),
	Preisart     INT NOT NULL  default 1,
	EPreis       DECIMAL(10,2)       default 0
);
CREATE INDEX chapterIdIndx ON Catalog( chapterID );

CREATE TRIGGER insert_catalog_timeEnter AFTER  INSERT ON Catalog
BEGIN
  UPDATE Catalog SET enterDatum = DATETIME('NOW')  WHERE TemplID = new.TemplID;
END;
CREATE TRIGGER update_catalog_timeEnter AFTER UPDATE ON Catalog
BEGIN
  UPDATE Catalog SET modifyDatum = DATETIME('NOW')  WHERE TemplID = new.TemplID;
END;

UPDATE Catalog SET modifyDatum=enterDatum;

CREATE TABLE CalcTime (
	TCalcID       INTEGER PRIMARY KEY ASC autoincrement,
	TemplID       INT NOT NULL,

	name          VARCHAR(255),
	minutes	      INT default 0,
	percent       INT default 0,
	stdHourSet    INT default 0,
	allowGlobal   INT default 1,

	modDate	      TIMESTAMP(14)
);
CREATE INDEX calcTimeIndx ON CalcTime( TemplID );
CREATE TRIGGER update_calcTime_modifyDate AFTER UPDATE ON CalcTime
BEGIN
  UPDATE CalcTime SET modDate = DATETIME('NOW')  WHERE TCalcID = new.TCalcID;
END;


CREATE TABLE CalcFixed(
	FCalcID       INTEGER PRIMARY KEY ASC autoincrement,
	TemplID       INT NOT NULL,

	name          VARCHAR(255),
	amount        DECIMAL(10,2) default 1.0,
	price	      DECIMAL(10,2),
	percent       INT default 0,
	modDate	      TIMESTAMP(14)
);
CREATE INDEX calcFixedIndx ON CalcFixed( TemplID );
CREATE TRIGGER update_calcFixed_modifyDate AFTER UPDATE ON CalcFixed
BEGIN
  UPDATE CalcFixed SET modDate = DATETIME('NOW')  WHERE FCalcID = new.FCalcID;
END;


CREATE TABLE CalcMaterials(
	MCalcID       INTEGER PRIMARY KEY ASC autoincrement,
	TemplID       INT NOT NULL,
	name          VARCHAR(255),
	percent       INT default 0,
	modDate	      TIMESTAMP(14)
);
CREATE INDEX calcMatIndx ON CalcMaterials( TemplID );
CREATE TRIGGER update_calcMaterials_modifyDate AFTER UPDATE ON CalcMaterials
BEGIN
  UPDATE CalcMaterials SET modDate = DATETIME('NOW')  WHERE MCalcID = new.MCalcID;
END;

CREATE TABLE CalcMaterialDetails(
	MCalcDetailID INTEGER PRIMARY KEY ASC autoincrement,
	CalcID        INT NOT NULL,
	
	materialID    INT NOT NULL,
	amount 	      DECIMAL(10,2)
);
CREATE INDEX calcIdIndx ON CalcMaterialDetails( CalcID );

CREATE TABLE units(
	unitID       INTEGER PRIMARY KEY ASC autoincrement,
	unitShort    VARCHAR(255),
	unitLong     VARCHAR(255),
	unitPluShort VARCHAR(255),
	unitPluLong  VARCHAR(255)
);
CREATE INDEX unitShortIndx ON units( unitShort );


CREATE TABLE stockMaterial (
	matID        INTEGER PRIMARY KEY ASC autoincrement,
	chapterID    INT NOT NULL default 1,
	material     mediumtext,
	unitID       INT NOT NULL,
	perPack	     DECIMAL(10,2),
	priceIn	     DECIMAL(10,2),
	priceOut     DECIMAL(10,2),
	enterDate    DATETIME,
	modifyDate   TIMESTAMP(14)
);
CREATE INDEX matChapterIndx ON stockMaterial( chapterID );

CREATE TRIGGER insert_material_enterDate AFTER  INSERT ON stockMaterial
BEGIN
  UPDATE stockMaterial SET enterDate = DATETIME('NOW')  WHERE matID = new.matID;
END;
CREATE TRIGGER update_material_modifyDate AFTER UPDATE ON stockMaterial
BEGIN
  UPDATE stockMaterial SET modifyDate = DATETIME('NOW')  WHERE matID = new.matID;
END;


CREATE TABLE stdSaetze( 
	stdSaetzeID	INTEGER PRIMARY KEY ASC autoincrement,
	name            VARCHAR(255),
	price           DECIMAL(10,2),
	sortKey         int
);

CREATE TABLE document(
    docID             INTEGER PRIMARY KEY ASC autoincrement,
    ident             VARCHAR(32),
    docType           VARCHAR(255),
    docDescription    TEXT,
    clientID          VARCHAR(32),
    clientAddress     TEXT,
    salut             VARCHAR(255),
    goodbye           VARCHAR(128),
    lastModified      TIMESTAMP,
    date              DATE,
    pretext           TEXT,
    posttext          TEXT,
    country           VARCHAR(32),
    language          VARCHAR(32),
    projectLabel      VARCHAR(255)
);
CREATE INDEX identIndx ON document( ident );
CREATE INDEX clientIndx ON document( clientID );
CREATE TRIGGER update_document AFTER UPDATE ON document
BEGIN
  UPDATE document SET lastModified = DATETIME('NOW')  WHERE docID = new.docID;
END;


CREATE TABLE docposition(
    positionID        INTEGER PRIMARY KEY ASC autoincrement,
    docID             INT NOT NULL,
    ordNumber         INT NOT NULL,
    text              TEXT,
    postype           VARCHAR(64),
    amount            DECIMAL(10,2),
    unit              INT,
    price             DECIMAL(10,2),
    taxType           INT default 3
);
CREATE INDEX docIdIndx ON docposition( docID );
CREATE UNIQUE INDEX ordIndx ON docposition( docID, ordNumber );

CREATE TABLE archdocStates(
    stateID          INTEGER PRIMARY KEY ASC autoincrement,
    state            VARCHAR(32)
);

CREATE TABLE archdoc(
    archDocID         INTEGER PRIMARY KEY ASC autoincrement,
    ident             VARCHAR(32),
    docType           VARCHAR(255),
    docDescription    TEXT,
    clientAddress     TEXT,
    clientUid         VARCHAR(32),
    salut             VARCHAR(255),
    goodbye           VARCHAR(128),
    printDate         TIMESTAMP,
    date              DATE,
    pretext           TEXT,
    posttext          TEXT,
    country           VARCHAR(32),
    language          VARCHAR(32),
    projectLabel      VARCHAR(255),
    tax               DECIMAL(5,1),
    reducedTax        DECIMAL(5,1),
    state             int
);
CREATE INDEX archIdentIndx ON archdoc( ident );
CREATE TRIGGER update_archdoc AFTER UPDATE ON archdoc
BEGIN
  UPDATE archDoc SET printDate = DATETIME('NOW')  WHERE archDocID = new.archDocID;
END;


CREATE TABLE archdocpos(
    archPosID         INTEGER PRIMARY KEY ASC autoincrement,
    archDocID         INT NOT NULL,
    ordNumber         INT NOT NULL,
    kind              VARCHAR(64),
    postype           VARCHAR(64),
    text              TEXT,
    amount            DECIMAL(10,2),
    unit              VARCHAR(64),
    price             DECIMAL(10,2),
    overallPrice      DECIMAL(10,2),
    taxType           INT default 0
);
CREATE INDEX archDocIdIndx ON archdocpos( archDocID );
CREATE UNIQUE INDEX archOrdIndx ON archdocpos( archDocID, ordNumber );

CREATE TABLE kraftsystem(
    dbschemaversion  INT NOT NULL,
    updateUser       VARCHAR(256)
);

INSERT INTO kraftsystem ( dbschemaversion ) VALUES ( 1 );