亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? metakit-fileformat - metakit database system.mht

?? TCL的數據庫處理支撐庫及一些示例
?? MHT
?? 第 1 頁 / 共 3 頁
字號:
From: =?gb2312?B?08kgV2luZG93cyBJbnRlcm5ldCBFeHBsb3JlciA3ILGjtOY=?=
Subject: metakit-fileformat - Metakit Database System
Date: Fri, 29 Feb 2008 00:27:29 +0800
MIME-Version: 1.0
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.equi4.com/metakit/metakit-ff.html
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<! -- -*- tcl doctools -*-=0A=
   --><HTML><HEAD><TITLE>metakit-fileformat - Metakit Database =
System</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dgb2312"><! -- Generated from file 'metakit-ff.man' by =
tcllib/doctools with format 'html'=0A=
   --><! -- Copyright (c) 1996-2003 Jean Claude Wippler =
&lt;jcw@equi4.com&gt;   -- Copyright (c) 2003 Andreas Kupries =
&lt;andreas_kupries@users.sourceforge.net&gt;=0A=
   --><! -- CVS: $Id$ metakit-fileformat.n=0A=
   -->
<META content=3D"MSHTML 6.00.6000.16609" name=3DGENERATOR></HEAD>
<BODY>
<H1>metakit-fileformat(n) 1.0 "Metakit Database System"</H1><A =
name=3Dname>
<H2>NAME</H2>
<P>metakit-fileformat - Metakit File Format <! -- Copyright JCW for =
metakit, Copyright AK for this document=0A=
   --><! -- __________________________________________=0A=
   --><A=20
name=3Ddescription>
<H2>DESCRIPTION</H2>This document specifies the file format used by the =
metakit=20
database library for persistent storage of its databases. The same =
format is=20
also used for serialization and subsequent transfer of a database over =
some=20
communication system, like pipes and sockets.=20
<P>How the metakit library uses files in the specified format is outside =
of the=20
scope of this document, although in some sections, hints for specific =
uses might=20
be given.=20
<P>To ensure an unambiguous use of all terms inside of this document and =
when=20
discussing its contents a glossary was created. See section <A=20
href=3D"http://www.equi4.com/metakit/metakit-ff.html#glossary">GLOSSARY</=
A> at the=20
end.=20
<P>It was decided to specify the format in the form of a grammar in =
Extended=20
Backus-Naur Form (EBNF) augmented by free-form text to capture the=20
context-sensitive parts of the language. It is assumed that the reader =
of this=20
document is familiar with EBNF. <! -- =
__________________________________________=0A=
   --><A name=3Dbackground>
<H2>BACKGROUND</H2>The background for this specification is =
<EM>metakit</EM> (<A=20
href=3D"http://www.equi4.com/metakit">http://www.equi4.com/metakit</A>), =
a=20
flexible database system developed by Jean-Claude Wippler (<A=20
href=3D"mailto:jcw@equi4.com">mailto:jcw@equi4.com</A>).=20
<P>In contrast to most other systems which handle their data row-wise it =
manages=20
the data in a column-oriented way, i.e. all data for a single column is =
handled=20
together. This characteristic is reflected in the file format too.=20
<P>What would be called tables in other relational database systems are =
known as=20
<EM>views</EM> in Metakit. Views consist of <EM>columns</EM>, which =
store=20
specific pieces of data in <EM>cells</EM>. The cells at the same =
row-index in=20
all columns of a view are called a <EM>row</EM>.=20
<P>Another difference is metakit's ability to define <EM>subview</EM> =
columns,=20
which are columns where the data in each cell is a complete view in its =
own=20
right, although they are sharing the same structural definition. <! --   =
 -- 	Note: I am told that metakit allows heterogeneous subview columns,  =
 -- 	where each cell can have at least one of several possible   -- 	=
structures, but currently lack information on those details. I   -- 	=
especially do not have the information on how this ability is   -- 	=
reflected in the file format. ... Another possibility is that   -- 	each =
cell stores not only the view itself, but also its   -- 	definition.   =
-- =0A=
   --><! -- __________________________________________=0A=
   --><A=20
name=3Dtypedefinitions>
<H2>TYPE DEFINITIONS</H2>Metakit supports the following six types for =
its=20
columns. The key in the list below is the character used by metakit as =
indicator=20
for that type. See section <A=20
href=3D"http://www.equi4.com/metakit/metakit-ff.html#structuredefinition"=
>STRUCTURE=20
DEFINITION</A> for the place in which these characters are used.=20
<DL>
  <DT><STRONG>S</STRONG>
  <DD>All entries in a column of this type contain strings. <BR><BR>
  <DT><STRONG>I</STRONG>
  <DD>All entries in a column of this type contain integer numbers =
requiring at=20
  most 32 bits of storage space. All entries will use the same number of =
bits to=20
  store their data. <BR><BR>
  <DT><STRONG>F</STRONG>
  <DD>All entries in a column of this type contain single precision =
floating=20
  point numbers, each taking up 4 bytes (32 bits) of space. <BR><BR>
  <DT><STRONG>D</STRONG>
  <DD>All entries in a column of this type contain double precision =
floating=20
  point numbers, each taking up 8 bytes (64 bits) of space. <BR><BR>
  <DT><STRONG>B</STRONG>
  <DD>All entries in a column of this type contain arbitrary binary data =
of=20
  arbitrary length. There is no bit-packing, the data is measured in =
bytes.=20
  <BR><BR>
  <DT><STRONG>L</STRONG>
  <DD>All entries in a column of this type contain large integer =
numbers, each=20
  taking up 8 bytes (64 bits) of space. </DD></DL><! -- =
__________________________________________=0A=
   --><A=20
name=3Dcolumnmapping>
<H2>COLUMN MAPPING</H2>When metakit stores column data into a file or=20
serialization it places them into one or more <EM>itemvectors</EM>, the =
physical=20
containers for the data. How many itemvectors are required is dependent =
on the=20
type of the column, and on the data contained in it.=20
<P>This section describes only the basic mapping required to create the =
table of=20
contents (See <STRONG>TableOfContents</STRONG>), and none of the=20
<EM>secondary</EM> itemvectors indirectly reachable through the =
<EM>primary</EM>=20
itemvectors of a column listed in the table of contents.=20
<DL>
  <DT><STRONG>I</STRONG>, <STRONG>L</STRONG>, <STRONG>F</STRONG>,=20
  <STRONG>D</STRONG>
  <DD>A single primary itemvector is used to store all column data. =
<BR><BR>
  <DT><STRONG>S</STRONG>, <STRONG>B</STRONG>
  <DD>Depending on the size of the string/binary data stored in the =
entries of a=20
  column either two or three primary itemvectors are used to store the =
column=20
  data. In addition secondary itemvectors may be reached through these, =
holding=20
  the actual string/binary data. </DD></DL>The exact contents of each =
itemvector=20
are described in the upcoming grammar. See <STRONG>IVecData</STRONG> and =
its=20
variants. <! -- __________________________________________=0A=
   --><A=20
name=3Dvariablesizeddata>
<H2>VARIABLE SIZED DATA</H2>One of the consequences of using a =
column-wise=20
representation for views is that for any insertion, deletion, or change =
of a row=20
the system has to relocate and copy all itemvectors for all the columns =
in the=20
view. This is not so big a problem for data of a fixed size, like for =
the types=20
<STRONG>I</STRONG>, <STRONG>F</STRONG>, <STRONG>D</STRONG>, and=20
<STRONG>L</STRONG>. For them this operation is only invoked when =
inserting or=20
deleting row. Changing the value of a cell invokes only the relocation =
and=20
copying of the itemvectors for one column, and they tend to be =
relatively small.=20

<P>This situation changes when data of varying and arbitrary length is =
involved,=20
be it strings or just binary data (types <STRONG>S</STRONG> and=20
<STRONG>B</STRONG>). For them the simple method of storing all the data =
in one=20
itemvector and the sizes of the items in a second scales badly as even =
minuscule=20
changes cause the copying of large amount of data.=20
<P>To evade this trap the file format uses a slightly more complex =
method.=20
Instead of only two itemvectors it employs three. The first two are the =
same=20
ones as for the simple method, with a small change. While the first =
itemvector=20
contains the sizes for all items, the second itemvector contains only =
the data=20
for the items with a size &gt; 0. Items whose size is recored as zero =
are not=20
stored in the second itemvector, but are <EM>indirect</EM>ly reachable =
through=20
the third itemvector, a catalog. Each of the third itemvector's items =
records=20
the location of another itemvector in the file on the one hand, and =
information=20
determining to which row in the column the item belongs to. In other =
words, how=20
to interleave the items reachable through the catalog with the items in =
the=20
first two itemvectors to reconstruct their proper order at the logical =
level of=20
the column.=20
<P>With the above structure in place any writer of a database is now =
free in his=20
decision where to actually place the variable sized data of a cell when =
writing=20
to the file. Namely either directly into the second itemvector, or into =
a block=20
of its own with the location of that block recorded in the catalog =
vector. By=20
storing smaller data directly and larger data indirectly the performance =
impact=20
of the large data is reduced considerably, because now only the =
itemvector=20
containing the catalog has to be copied for changes, whereas the large =
data=20
blocks often can be left in the location initially given to them.=20
<P>The relevant symbols of the grammar are =
<STRONG>IVecCatalogData</STRONG> and=20
<STRONG>VariableMapping</STRONG>. See section <A=20
href=3D"http://www.equi4.com/metakit/metakit-ff.html#formatgrammar">FORMA=
T=20
GRAMMAR</A> for their definition.=20
<P>
<P>
<TABLE>
  <TBODY>
  <TR>
    <TD bgColor=3Dblack>&nbsp;</TD>
    <TD><PRE class=3Dsample>  For the example let us assume that we have =
items 0 and 3 and 6 all
  having small amounts of data, items 1 and 4 are empty, and 2 is a
  larger memo item. Then the situation would be:

  Column 0, the data: concatenated contents of items 0, 3, and 6.

  Column 1, the sizes: sizes for entries 0, 3, and 6, the rest zeroes.

  Column 2, the memos:
    2 as byte-packed integer, meaning skip 2 rows
    the size of the data in row 2, as byte-packed integer
    the pointer to the data in row 2, as byte-packed integer
</PRE></TD></TR></TBODY></TABLE></P><! -- =
__________________________________________=0A=
   --><A=20
name=3Dlexicalunits>
<H2>LEXICAL UNITS</H2>The lexical units of the grammar used here are are =
the=20
fundamental pieces making up a metakit file or serialization. This unit =
is the=20
<EM>byte</EM>, containing 8 <EM>bits</EM>. <! -- =
__________________________________________=0A=
   --><A name=3Dformatgrammar>
<H2>FORMAT GRAMMAR</H2>The grammar is written in a bottom up format. =
This means=20
that the more basic elements are specified first, and the specification =
of the=20
complete database is the last element.=20
<DL>
  <DT><STRONG>Word</STRONG>
  <DD>::=3D byte byte <BR><BR>A 16-bit word consists of two bytes. The =
endianess=20
  of words is variable. When reading, the metakit library determines the =
actual=20
  endianess from the marker in the <STRONG>Header</STRONG>. When writing =
the=20
  metakit library uses the native endianess of the host on which it is =
running.=20
  <BR><BR>
  <DT><STRONG>Long</STRONG>
  <DD>::=3D byte byte byte byte <BR><BR>A 32-bit long word consists of =
four bytes=20
  (or two words). The endianess of long words is variable. When reading, =
the=20
  metakit library determines the actual endianess from the marker in the =

  <STRONG>Header</STRONG>. When writing the metakit library uses the =
native=20
  endianess of the host on which it is running. <BR><BR>
  <DT><STRONG>bpInt</STRONG>
  <DD>::=3D [ bpiSignByte ] { bpiDataByte } bpiStopByte <BR><BR>The name =
is a=20
  shortcut for byte-packed integer. It is a notation for storing =
arbitrarily=20
  large integer numbers in a very compact way. Note that any number is =
always=20
  stored in the most compact way possible. This means that leading zeros =
are=20
  always stripped down as much as possible. In other words, no instance =
of=20
  <STRONG>bpInt</STRONG> will contain a <STRONG>bpiDataByte</STRONG> of =
value=20

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成a人| 国产精品18久久久久久久网站| 日韩精品免费专区| 国产精品91一区二区| 精品1区2区3区| 国产精品情趣视频| 国产一区中文字幕| 91精品国产综合久久精品图片 | 亚洲在线中文字幕| 国产精品综合二区| 日韩一区二区三区四区| 亚洲福利一二三区| 一本一本大道香蕉久在线精品| 久久这里只有精品首页| 蜜桃一区二区三区四区| 欧美日韩第一区日日骚| 一区二区三区在线视频播放| av激情亚洲男人天堂| 国产欧美综合色| 国产黄色91视频| 国产视频一区在线观看| 久久激情五月激情| 日韩美女在线视频| 国产不卡视频一区二区三区| 欧美va天堂va视频va在线| 午夜久久电影网| 在线不卡欧美精品一区二区三区| 一区二区三区四区在线免费观看| 成人av在线资源| 一区在线观看视频| 99re这里只有精品首页| 亚洲欧美aⅴ...| 在线观看国产精品网站| 香蕉av福利精品导航| 6080国产精品一区二区| 捆绑变态av一区二区三区| 日韩免费看网站| 国产精品亚洲专一区二区三区| 久久一夜天堂av一区二区三区| 国产麻豆精品95视频| 欧美极品xxx| 色综合色综合色综合| 亚洲影视资源网| 91精品国产色综合久久ai换脸| 久久精品99国产精品日本| 久久精品这里都是精品| jizzjizzjizz欧美| 亚洲国产精品一区二区www| 欧美高清www午色夜在线视频| 毛片一区二区三区| 欧美激情综合在线| 欧洲亚洲精品在线| 美日韩一区二区三区| 国产人久久人人人人爽| 91黄色在线观看| 久久国内精品视频| 亚洲色图视频网站| 欧美日韩高清影院| 国产一区二区三区在线看麻豆| 国产精品久久久久久久久免费樱桃| 日本乱码高清不卡字幕| 久久精品免费看| 中文字幕日本乱码精品影院| 8x8x8国产精品| youjizz国产精品| 性做久久久久久免费观看欧美| 久久精品综合网| 欧美精品自拍偷拍动漫精品| 国产精品一级二级三级| 亚洲一区二区在线视频| 久久女同精品一区二区| 欧美三级日韩三级国产三级| 国产精品一区二区男女羞羞无遮挡| 亚洲欧美区自拍先锋| 欧美sm美女调教| 色av综合在线| 成人永久aaa| 粉嫩一区二区三区性色av| 一区二区三区日韩精品| 久久久久久久久久美女| 欧美日韩高清一区二区| 北条麻妃一区二区三区| 伦理电影国产精品| 亚洲一区二区欧美激情| 国产精品黄色在线观看| 久久久久久一二三区| 欧美日韩一本到| 97久久超碰国产精品| 国产麻豆视频精品| 日韩国产欧美视频| 一区二区三区四区在线| 中文字幕精品在线不卡| 精品电影一区二区| 欧美一区二区三区系列电影| 欧美午夜精品久久久久久超碰| 粉嫩高潮美女一区二区三区| 狠狠色狠狠色综合| 老司机精品视频线观看86 | 欧美怡红院视频| 99在线精品视频| 丁香婷婷深情五月亚洲| 国产美女一区二区| 麻豆成人久久精品二区三区红 | 一区二区三区高清| 中文字幕在线观看不卡| 国产精品电影一区二区| 国产精品亲子乱子伦xxxx裸| 国产日产亚洲精品系列| 久久久精品日韩欧美| 日本一区二区三区国色天香| 2020日本不卡一区二区视频| 久久先锋资源网| 久久人人爽爽爽人久久久| 久久夜色精品国产噜噜av | 国产精品白丝jk白祙喷水网站| 精品综合久久久久久8888| 另类小说色综合网站| 韩国成人精品a∨在线观看| 国产一区二区91| 国产成人av电影免费在线观看| 国产91精品久久久久久久网曝门| 国产91丝袜在线观看| av在线不卡电影| 色婷婷精品久久二区二区蜜臂av| 日本高清不卡一区| 欧美久久久久久久久| 日韩一二三区不卡| 国产欧美日韩麻豆91| 国产精品传媒入口麻豆| 亚洲人成精品久久久久| 亚洲成精国产精品女| 九九视频精品免费| 国产99精品国产| 一本一本大道香蕉久在线精品| 欧美日韩大陆一区二区| 日韩三级在线观看| 中文字幕欧美日韩一区| 亚洲电影在线免费观看| 久久超碰97人人做人人爱| av电影在线观看一区| 欧美日韩成人在线| 久久一区二区三区四区| 亚洲精品国产品国语在线app| 日本不卡视频一二三区| 国产成人h网站| 欧美做爰猛烈大尺度电影无法无天| 欧美一卡二卡三卡四卡| 国产精品色哟哟| 日韩精品每日更新| 99精品欧美一区| 日韩精品一区二区三区在线 | 99精品欧美一区二区三区小说| 欧美日韩久久一区二区| 国产欧美视频在线观看| 日本女人一区二区三区| 欧美日韩综合色| 国产偷国产偷亚洲高清人白洁| 亚洲综合免费观看高清完整版在线 | 日韩午夜激情视频| 亚洲三级视频在线观看| 秋霞av亚洲一区二区三| 色欧美乱欧美15图片| 欧美精品一区二区三区很污很色的| ●精品国产综合乱码久久久久| 乱一区二区av| 欧美日韩视频第一区| 国产精品卡一卡二卡三| 久88久久88久久久| 精品视频色一区| 亚洲欧美日韩中文字幕一区二区三区| 裸体一区二区三区| 欧美在线免费观看亚洲| 国产精品久久久一本精品| 国产精品影视在线观看| 欧美一区二区三区白人| 亚洲自拍偷拍av| 99国产精品视频免费观看| 国产亚洲精品福利| 国内精品久久久久影院色| 91麻豆精品91久久久久久清纯 | 国产精品国产精品国产专区不蜜| 久久9热精品视频| 欧美高清hd18日本| 亚洲自拍偷拍麻豆| 91久久线看在观草草青青| 国产精品视频yy9299一区| 精品一区二区三区日韩| 日韩欧美亚洲一区二区| 欧美a一区二区| 欧美日韩国产一二三| 午夜a成v人精品| 91精品国产综合久久香蕉麻豆| 亚洲成人一二三| 欧美顶级少妇做爰| 日韩精品乱码免费| 精品国产一区二区三区av性色| 久久99久久99小草精品免视看| 日韩一级二级三级精品视频| 麻豆精品新av中文字幕| 欧美成人r级一区二区三区|