From a598ca1fcb9d171b5c5f0b65f19c373f3d2749ed Mon Sep 17 00:00:00 2001 From: Alexia23 Date: Mon, 12 Jan 2015 00:47:37 +0800 Subject: [PATCH] test file --- DBMS/DBMS/create.txt | 17 +++++++++++++++++ DBMS/DBMS/dbManage.cpp | 5 +++++ DBMS/DBMS/orderDB/_sysFile | Bin 149 -> 0 bytes DBMS/DBMS/orderDB/publisher | Bin 8192 -> 0 bytes DBMS/DBMS/wq_parser.cpp | 3 +++ DBMS/DBMS/wq_parser.h | 1 + 6 files changed, 26 insertions(+) create mode 100644 DBMS/DBMS/create.txt delete mode 100644 DBMS/DBMS/orderDB/_sysFile delete mode 100644 DBMS/DBMS/orderDB/publisher diff --git a/DBMS/DBMS/create.txt b/DBMS/DBMS/create.txt new file mode 100644 index 0000000..1a68012 --- /dev/null +++ b/DBMS/DBMS/create.txt @@ -0,0 +1,17 @@ +CREATE DATABASE orderDB; +USE orderDB; + +CREATE TABLE publisher ( + id int(10) NOT NULL, + name varchar(100) NOT NULL, + nation varchar(3), + PRIMARY KEY (id) +); + +INSERT INTO publisher VALUES + (100008,'Oxbow Books Limited','USA'); + INSERT INTO publisher VALUES + (100009,'Oxbow Books Limited','USA'); +DELETE FROM publisher WHERE id = 100008; +UPDATE publisher SET nation = 'CNA' , name = 'wangqing' WHERE id = 100009; + diff --git a/DBMS/DBMS/dbManage.cpp b/DBMS/DBMS/dbManage.cpp index 6440b79..e0fbe94 100644 --- a/DBMS/DBMS/dbManage.cpp +++ b/DBMS/DBMS/dbManage.cpp @@ -189,6 +189,10 @@ bool DBManager::deleteRecord(string tableName,BYTE **Value,string *colName,BYTE SysObject* table = sysManager.findTable(tableName); if (table == NULL) return true; + vector sysColumns = sysManager.getTableAttr(tableName); + string* colNames = new string[sysColumns.size()]; + for (int i = 0; i < sysColumns.size(); i++) + colNames[i] = sysColumns[i]->name; TYPE_ID pageid = 0; Node* dataPage = readPage(table->id, pageid); TYPE_OFFSET recordLength = sysManager.getRecordLength(tableName); @@ -226,6 +230,7 @@ bool DBManager::deleteRecord(string tableName,BYTE **Value,string *colName,BYTE if (deleteFlag == true) { cout << "delete onedata pageid: " << pageid << "offset: " << offset << endl; deleteData(table, pageid, offset*recordLength, recordLength); + printRecord(tableName,sysColumns.size(),colNames, offset,pageid); //cout << "continue" << endl; } } diff --git a/DBMS/DBMS/orderDB/_sysFile b/DBMS/DBMS/orderDB/_sysFile deleted file mode 100644 index 3d9813633ea1a8a27fbf95eec01827254ab4e0e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmZQ%U??a}%E>IwNG)Q(2ACNb88TC_$-u?rSb%Dn81fQxQ{iHm4EYoWHU?&(s*=q7 PJWOeb2%|hRLpB2dXYL9L diff --git a/DBMS/DBMS/orderDB/publisher b/DBMS/DBMS/orderDB/publisher deleted file mode 100644 index 0c15b0d0b7fa8c5cf839cf1cd60c108cae8bdf8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 zcmeIuQ3^mn0EFRj60U+*@gN5v+BUI?;skOOPPuXi%ELbgm}x%g$r0+@1F6^=w?>I` z{TyX>uuIqax1*|zz1Q{Zt@UUoI~sktm*%nFK0zM>2q1s}0tg_000IagfB*srAb commands) { } return true; } +bool parser::parserSelect(vector commands){ + return true; +} bool parser::parserUpdate(vector commands) { cout<< "********************start parser update*************************" << endl; //without condition, update all diff --git a/DBMS/DBMS/wq_parser.h b/DBMS/DBMS/wq_parser.h index 63b9e58..3bb0b75 100644 --- a/DBMS/DBMS/wq_parser.h +++ b/DBMS/DBMS/wq_parser.h @@ -40,6 +40,7 @@ class parser{ bool parserDesc(vector commands); bool parserDelete(vector commands); bool parserUpdate(vector commands); + bool parserSelect(vector commands); bool parserShowTable(vector commands); bool parserCreateColumn(vector columnInfo, tableColumn* columnInfos); bool parserUse(vector commands);