📄 isam0005.tst
字号:
############################################################################### PBL - Program Base Library, Copyright Peter Graf#### This file is part of PBL - The Program Base Library.## PBL is free software.#### This program is free software; you can redistribute it and/or modify## it under the terms of the GNU General Public License as published by## the Free Software Foundation; either version 2 of the License, or## (at your option) any later version.#### This program is distributed in the hope that it will be useful,## but WITHOUT ANY WARRANTY; without even the implied warranty of## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the## GNU General Public License for more details.#### You should have received a copy of the GNU General Public License## along with this program; if not, write to the Free Software## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA#### For more information on the Program Base Library or Peter Graf,## please see: http://mission.base.com/.#### ISAM file implementation test case, this test case is set up for## a regression test of the ISAM library, don't change it unless you## know what you are doing!#### Usage:#### 1. Build the pbliftst executable. make all## 2. Create the sub directory isamtest. mkdir isamtest## 3. Clear the sub directory isamtest. rm imamtest/*## 4. Run the test frame on this file. pbliftst ISAM0005.TST## 5. Compare ISAM0005.TST and pbliftst.log diff ISAM0005.TST pbliftst.log#### There should be no differences reported, if so your build of the## PBL library is most likely ok!################################################################################# Test case 5#### Create a file with 2000000 records,## and then do some lookup requests#### !!!!! NOTE !!!! Test needs 700 Megabytes of disc space##open isamtest/0005main 0005key0,0005dup1,0005key2 1# pblIsamOpen( isamtest/0005main, 3, 1 )# ok!#### read the first record##get 0 FIRST# pblIsamGet( 4, 0 )# rc -1, pbl_errno 1003, errno 0ndelete 2500000# pblIsamDelete( 2500000 records )# i 0, rc -1, pbl_errno 1041, errno 0#### Insert a lot of records##ninsert 2000000 key0,duplicatekey1,loooooooooooooooooooooongerkey2 dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa# pblIsamInsert( 1, ,key00,duplicatekey10,loooooooooooooooooooooongerkey20, 54, dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, 61 )# inserted 2000000 records, rc 0get -1 FIRST# pblIsamGet( 4, -1 )# keylen 0, key datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 5, key key00get -1 PREV# pblIsamGet( 3, -1 )# rc -1, pbl_errno 1003, errno 0datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 5, key key00get -1 NEXT# pblIsamGet( 2, -1 )# keylen 0, key datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 5, key key01get -1 THIS# pblIsamGet( 1, -1 )# keylen 0, key datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 5, key key01get -1 LAST# pblIsamGet( 5, -1 )# keylen 0, key datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 11, key key01999999get -1 NEXT# pblIsamGet( 2, -1 )# rc -1, pbl_errno 1003, errno 0datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 11, key key01999999get -1 PREV# pblIsamGet( 3, -1 )# keylen 0, key datalen# pblIsamReadDatalen( currentrecord )# datalen 61readkey 0# pblIsamReadKey( currentrecord, 0 )# keylen 11, key key01999998get 0 FIRST# pblIsamGet( 4, 0 )# keylen 5, key key00get 0 PREV# pblIsamGet( 3, 0 )# rc -1, pbl_errno 1003, errno 0get 0 NEXT# pblIsamGet( 2, 0 )# keylen 5, key key01get 0 NEXT# pblIsamGet( 2, 0 )# keylen 6, key key010get 0 LAST# pblIsamGet( 5, 0 )# keylen 10, key key0999999get 0 NEXT# pblIsamGet( 2, 0 )# rc -1, pbl_errno 1003, errno 0get 0 PREV# pblIsamGet( 3, 0 )# keylen 10, key key0999998get 0 PREV# pblIsamGet( 3, 0 )# keylen 10, key key0999997get 1 FIRST# pblIsamGet( 4, 1 )# keylen 14, key duplicatekey10get 1 PREV# pblIsamGet( 3, 1 )# rc -1, pbl_errno 1003, errno 0get 1 NEXT# pblIsamGet( 2, 1 )# keylen 14, key duplicatekey11get 1 NEXT# pblIsamGet( 2, 1 )# keylen 15, key duplicatekey110get 1 LAST# pblIsamGet( 5, 1 )# keylen 19, key duplicatekey1999999get 1 NEXT# pblIsamGet( 2, 1 )# rc -1, pbl_errno 1003, errno 0get 1 PREV# pblIsamGet( 3, 1 )# keylen 19, key duplicatekey1999998get 1 PREV# pblIsamGet( 3, 1 )# keylen 19, key duplicatekey1999997get 2 FIRST# pblIsamGet( 4, 2 )# keylen 32, key loooooooooooooooooooooongerkey20get 2 PREV# pblIsamGet( 3, 2 )# rc -1, pbl_errno 1003, errno 0get 2 NEXT# pblIsamGet( 2, 2 )# keylen 32, key loooooooooooooooooooooongerkey21get 2 NEXT# pblIsamGet( 2, 2 )# keylen 33, key loooooooooooooooooooooongerkey210get 2 LAST# pblIsamGet( 5, 2 )# keylen 37, key loooooooooooooooooooooongerkey2999999get 2 NEXT# pblIsamGet( 2, 2 )# rc -1, pbl_errno 1003, errno 0get 2 PREV# pblIsamGet( 3, 2 )# keylen 37, key loooooooooooooooooooooongerkey2999998get 2 PREV# pblIsamGet( 3, 2 )# keylen 37, key loooooooooooooooooooooongerkey2999997#### do some finds in the middle of the file##find 0 key02 LT# pblIsamFind( LT, key02, 5 )# keylen 11, key key01999999get 0 PREV# pblIsamGet( 3, 0 )# keylen 11, key key01999998get 0 NEXT# pblIsamGet( 2, 0 )# keylen 11, key key01999999get 0 NEXT# pblIsamGet( 2, 0 )# keylen 5, key key02get 0 NEXT# pblIsamGet( 2, 0 )# keylen 6, key key020find 0 key02 LE# pblIsamFind( LE, key02, 5 )# keylen 5, key key02find 0 key02 FI# pblIsamFind( FI, key02, 5 )# keylen 5, key key02find 0 key02 EQ# pblIsamFind( EQ, key02, 5 )# keylen 5, key key02find 0 key02 LA# pblIsamFind( LA, key02, 5 )# keylen 5, key key02find 0 key02 GE# pblIsamFind( GE, key02, 5 )# keylen 5, key key02find 0 key02 GT# pblIsamFind( GT, key02, 5 )# keylen 6, key key020find 1 duplicatekey12 LT# pblIsamFind( LT, duplicatekey12, 14 )# keylen 20, key duplicatekey11999999get 1 PREV# pblIsamGet( 3, 1 )# keylen 20, key duplicatekey11999998get 1 NEXT# pblIsamGet( 2, 1 )# keylen 20, key duplicatekey11999999get 1 NEXT# pblIsamGet( 2, 1 )# keylen 14, key duplicatekey12get 1 NEXT# pblIsamGet( 2, 1 )# keylen 15, key duplicatekey120find 1 duplicatekey12 LE# pblIsamFind( LE, duplicatekey12, 14 )# keylen 14, key duplicatekey12find 1 duplicatekey12 FI# pblIsamFind( FI, duplicatekey12, 14 )# keylen 14, key duplicatekey12find 1 duplicatekey12 EQ# pblIsamFind( EQ, duplicatekey12, 14 )# keylen 14, key duplicatekey12find 1 duplicatekey12 LA# pblIsamFind( LA, duplicatekey12, 14 )# keylen 14, key duplicatekey12find 1 duplicatekey12 GE# pblIsamFind( GE, duplicatekey12, 14 )# keylen 14, key duplicatekey12find 1 duplicatekey12 GT# pblIsamFind( GT, duplicatekey12, 14 )# keylen 15, key duplicatekey120find 2 loooooooooooooooooooooongerkey22 LT# pblIsamFind( LT, loooooooooooooooooooooongerkey22, 32 )# keylen 38, key loooooooooooooooooooooongerkey21999999get 2 PREV# pblIsamGet( 3, 2 )# keylen 38, key loooooooooooooooooooooongerkey21999998get 2 NEXT# pblIsamGet( 2, 2 )# keylen 38, key loooooooooooooooooooooongerkey21999999get 2 NEXT# pblIsamGet( 2, 2 )# keylen 32, key loooooooooooooooooooooongerkey22get 2 NEXT# pblIsamGet( 2, 2 )# keylen 33, key loooooooooooooooooooooongerkey220find 2 loooooooooooooooooooooongerkey22 LE# pblIsamFind( LE, loooooooooooooooooooooongerkey22, 32 )# keylen 32, key loooooooooooooooooooooongerkey22find 2 loooooooooooooooooooooongerkey22 FI# pblIsamFind( FI, loooooooooooooooooooooongerkey22, 32 )# keylen 32, key loooooooooooooooooooooongerkey22find 2 loooooooooooooooooooooongerkey22 EQ# pblIsamFind( EQ, loooooooooooooooooooooongerkey22, 32 )# keylen 32, key loooooooooooooooooooooongerkey22find 2 loooooooooooooooooooooongerkey22 LA# pblIsamFind( LA, loooooooooooooooooooooongerkey22, 32 )# keylen 32, key loooooooooooooooooooooongerkey22find 2 loooooooooooooooooooooongerkey22 GE# pblIsamFind( GE, loooooooooooooooooooooongerkey22, 32 )# keylen 32, key loooooooooooooooooooooongerkey22find 2 loooooooooooooooooooooongerkey22 GT# pblIsamFind( GT, loooooooooooooooooooooongerkey22, 32 )# keylen 33, key loooooooooooooooooooooongerkey220#### More finds at the start of the file##find 0 key00 LT# pblIsamFind( LT, key00, 5 )# rc -1, pbl_errno 1003, errno 0find 0 key00 LE# pblIsamFind( LE, key00, 5 )# keylen 5, key key00find 0 key00 FI# pblIsamFind( FI, key00, 5 )# keylen 5, key key00get 0 PREV# pblIsamGet( 3, 0 )# rc -1, pbl_errno 1003, errno 0close# pblIsamClose( 1 )# rc 0quit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -