CS143-Project-2
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:CS143 Project 2
CS143-Project-2
===============
May 31, 2012 by Jonathan Nguy
 - Seems like everything works with other SqlEngine.cc (xlarge not tested, which is height of 3)
 - WHERE works with things such a =, <, >, <>. 
 	- Probably have to test other cases.
 - ALSO: TAKE OUT printf's USED FOR DEBUGGING.
 
May 30, 2012 by Jonathan Nguy
 - Fixed a bug in load() with "WITH INDEX", which was seg faulting when testing.
 - Completely redefined BTreeNode.cc, nodes are correct.
 	- Should've tested this sooner :'(
 - Implemented BTreeIndex.cc's insert() function. (Not sure if > 2 height works.)
 	- Only "xlarge.del" creates a tree with height > 2.
 	- xsmall, small, medium, large all work nicely, I believe.
 - Added test cases
 - BTreeNode.cc still has all my debugging outputs.
 - To test, run: ./clean.sh; ./temp.sh
 	- Edit the temp.sql file if you need to.
 
May 29, 2012 by Xin Wei
 - Implemented select + WITH INDEX option

May 28, 2012 by Jonathan Nguy
 - Tried to implement insert
	- Though, I didn't use the double link lists (kind of unsure what I could've done)
 - Have NOT tested, but compiles
 - QUESTION: Does locate use the functions from BTreeNode.cc?
	- Are we supposed to? I think that would make the most sense.
	
May 26, 2012 by Jonathan Nguy
 - Reworked typecasting into memcpy's
 - Read through code to make sure it logically made sense
 	- Most/All look good

May 21, 2012 by Jonathan Nguy
 - Retried to implement with other data structures.
 - Implemented all functions with said structures, including:
 	- BTLeafNode::getKeyCount()
 	- BTLeafNode::insert
 	- BTLeafNode::insertAndSplit
 	- BTLeafNode::locate
 	- BTLeafNode::readEntry
 	- BTLeafNode::getNextNodePtr() // unsure
 	- BTLeafNode::setNextNodePtr // unsure
 	
 	- BTNonLeafNode::getKeyCount()
 	- BTNonLeafNode::insert
 	- BTNonLeafNode::insertAndSplit
 	- BTNonLeafNode::locateChildPtr
 	- BTNonLeafNode::initializeRoot

 - Still need to fix possible errors
 - Compiles correctly
 - Added private struct NonLeaf (contains a key and a pointer to the next pid).
 	- Design is similar to the picture on the assignment page
 - Added private variable sizeMax, which is
 	- Maximum leaf entries (for leafNode)
 	- Maximum nonLeaf structs.
 
May 21, 2012 By Xin Wei
 - Fixed memory errors and typos
 - Implemented BTNonLeafNode::Insert
 - Started on BTreeIndex.h
	- Added char bufferArr[PageFile::PAGE_SIZE] for buffer in Header (global variable, makes life easier)
	- Added int height; to keep track of height (needed to determine for leafNode)
	- Added char method to keep track of mode (needed for close)
 - For BTreeIndex.cc
	- Implemented the Open Method
	- Implemented the Close Method

May 19, 2012 By Xin Wei
 - Fixed a few bugs and typos.
 - Implemented BTLeafNode::insert (ohy took me hours!)
 - Implemented BTNonLeafNode::GetKeyCount()
 - Implemented BTNonLeafNode::locatechildptr

May 16 2012 By Xin Wei
 - Added psuedocode for BtLeafNode::insert
 - Added constructor declaration to BTreeNode.h for both BTLeafNode and BtNonLeafNode
 - Added private members sizeRec and sizeTot (for the size of each record/slot, and the total size)
	to both BtLeafNode and BtNonLeafNode
 - Implemented the following functions:
 	- BTLeafNode::BTLeafNode()
	- BtLeafNode::Read
	- BtLeafNode::Write
	- BtLeafNode::GetKeyCount
		// Not 100% sure about my implementation
	- BtLeafNode::locate
	- BtLeafNode::readEntry
	- BtLeafNode::getNextNodePtr
	- BtNonLeafNode::BTNonLeafNode()
	- BtNonLeafNode::read
	- BtNonLeafNode::write
	- BtNonLeafNode::initializeRoot
		//Not 100% sure about my implementation


 - Still need to implement
	- BTLeafNode::insert
	- BtLeafNode::insertAndSplit
	- BtLeafNode::setNextNodePtr
	- BtNonLeafNode::getKeyCount	
		// If the above BtLeafNode::getKeyCount implementation is right, can just copy and paste
	- BtNonLeafNode::insert
	- BtNonLeafNode::insertAndSplit
	- BtNonLeafNode::loocateChildPtr
		// Can copy and paste from BtLeafNode::locate and modify

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。