neodatis.odb 第七篇 学习odb日志1
来源:互联网 发布:什么叫域名过期 编辑:程序博客网 时间:2024/05/22 13:17
odb研究日志
2008.5.2 开始分析源代码
ODB -
ODBAdapter-
LocalODB、RemoteODBClient、SameVMODBClient
IStorageEngine-
LocalStorageEngine
MockStorageEngine、ServerStorageEngie
StorageEngineAdapter
ClientStorageEngine
SameVmClientEngine
ODB odb=ODBFatory.open("mars.odb"); 打开一个odb数据库的流程分析。
Session
LocalSession
ServerSession
ClientSession
MockSession
MetaModel
SessionMetaModel
FileSystemInterface
IBufferedIO
BufferedIO
DefaultFileIO
MultiBufferedIO
MultiBufferedFileIO
IOFactory.getInstance
ObjectReader
ObjectWriter
IObjectIntrospector
LocalObjectIntrospector
ClientObejctIntrospector
ServerObjectIntrospector
Objects(继承Collection)
odb.store(sport) odb保存数据到数据库流程
LocalStorageEngine.internalStore(sport)
->ClassInfoList ClassIntrospector.internalIntrospect(sport)
->ClassInfoList addClasses->persistClass->objectWriter.writeClassInfoBody->writeAction persist
FileSystemInterface writeLong
->MultiBufferedIO.writeBytes
objectWriter.internalStoreObject
->insertNonNativeObject
-> writerNonNativeObejctInfo
2008.5.10
Objects objects=odb.getObjects(Sport.Class) 查询流程
2008.5.15
总结出保存流程
2008.5.17
总结出查询流程
2008.5.18
GenericQueryExecutor 查询条件处理器
2008.5.20 开始思考如何自己实现类似odb的面向对象数据库引擎,拟采用压缩包方式
2008.5.24 项目名称ojadb诞生,logo出台
2008.5.27 开始分析odb的文件,对保存下来的每个字节进行分析
2008.6.4 经过几天尝试,否定了zip方案,因为性能很差
2008.6.5 ojadb的存储方案有了第一稿
2008.7.14 ojadb的存储方案经过编码,进入测试。
2008.7.19 ojadb的存储方案第二稿出台,并通过编程存储和读取,验证无误。
2008.8.3 odb查询第二次分析
IQuery query=new CriteriaQuery(Player.Class,Where.equal("name","Henry");
ObjectReader.getObjectst
->IQueryExecuor ----CriteriaQueryExecutor.execute 没有索引时executeFullScan
匹配查询条件,利用oid做标识
matchObjectWithOid
->b=CriteriaQueryManger.match(q,map)->q.map->EqualVriterion.match(map) ----map.getAttributeValue(查询条件中的字段名)
if(b) ObjectReader.readNonNativeObjectInfoFromOid
- neodatis.odb 第七篇 学习odb日志1
- neodatis.odb 第四篇 查询
- neodatis.odb 第五篇 保存
- neodatis.odb 第二篇 一切都是比特
- neodatis.odb 第六篇 更新和删除
- neodatis.odb 第三篇 保存对象到文件的过程
- neodatis.odb 第一篇 存储对象的偏移地址
- 一个neodatis-odb.jar包使用的例子
- ODB Examples
- ODB Documentation
- odb访问
- ODB学习笔记之基础环境搭建
- 【零】ODB - C++ 持久层框架ODB
- odb操作excel文件
- OPNET odb 调试
- ODB Compiler Manual
- Installing ODB on UNIX
- C++ ORM ODB入门
- 一种屏蔽所有系统热键的方法
- 在Sql Server中查询一下Excel文件的时候出现问题:
- SQL语句导入导出大全
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之二--U-boot基础
- 一个Access数据库数据访问公共类
- neodatis.odb 第七篇 学习odb日志1
- 一个取分页sql函数
- gcc --sqlite
- 初学JAVA应关注的31个问题(上)
- 初学JAVA应关注的31个问题(下)
- google面试题及我的算法(2)——0~n之间1的个数(完美版)
- 使用Selenium进行验收测试
- SQl 语句是Excel中的数据导入到SQL Service数据库中
- NVIDIA芯片故障(G84和G86系列)影响到1800万台笔记本