All pastes #150181 Raw Edit

Unnamed

public text v1 · immutable
#150181 ·published 2006-08-26 16:40 UTC
rendered paste body
 Database filesystem:
	#Contains directory information:
	Directory DB : CREATE TABLE Dir(Id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, Path TEXT, Parent INTEGER)
							INSERT INTO "Dir" VALUES(1,'/',NULL);
							INSERT INTO "Dir" VALUES(2,'/Test Directory',1);
							INSERT INTO "Dir" VALUES(3,''/Test Directory/Subdirectory',2);
			#We store "FullPath" so we can do Select * from dir where fullpath='dirname';
							
	#Contains information about file names, and which directory they are in
	File DB			:	CREATE TABLE File(Id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, Path TEXT, Size INTEGER, Dir INTEGER)
							INSERT INTO "File" VALUES(1,'/Test Directory/FileA.ext',0,2);
							INSERT INTO "File" VALUES(2,'/Test Directory/Subdirectory/FileB.ext',0,3);
			#Store full path so we can do select * from dir where name="wherever"
			#For readdir we will need to use basename() on all parameters.
			
	#Contains information on which blocks belong to which file.
							CREATE TABLE Block(File INTEGER, Block INTEGER, Location INTEGER)
							INSERT INTO "Block" VALUES(1,2,0);
							INSERT INTO "Block" VALUES(1,3,1024);
							INSERT INTO "Block" VALUES(1,4,2048);
							CREATE TABLE XATTR(File INTEGER, Name TEXT, Data BLOB)
							INSERT INTO "XATTR" VALUES(1,"-Internal-Symlink",TRUE);
							INSERT INTO "XATTR" VALUES(1,"-Internal-Bits",022);
							
	#Contains information on which blocks are contained in a file.
	Block DB		:	CREATE TABLE BlockData(id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, Data BLOB, DataChecksum INTEGER, Compressed INTEGER)
							INSERT INTO "BlockData" Values(1,<raw data of block>,<checksum of data block after compression>,<compression "id"?, NULL for no compression)