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

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

?? myldbconst.pas

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit MYLDBConst;

interface

{$I MYLDBVer.inc}

uses  SysUtils, MYLDBSecurity;

{$I MYLDBErrorL.inc}
{$I MYLDBErrorA.inc}
{$I MYLDBErrorG.inc}

const MYLDBVersion = 5.18;
      MYLDBVersionText = '';
      MYLDBSignature = 'MYLDB1';

      MYLDBDiskSignature2 = 'DATABASE'; // 8 chars
      MYLDBDiskSignature1 = 'MYLDB0LE'; // 8 chars

      MYLDBDiskPageSignature = 'MYLDBP';
      MYLDBMemoryDatabaseName = 'MEMORY';
      MYLDBTemporaryDatabaseName = 'TEMP';
      MYLDBTemporaryIndexName = 'TEMPORARY_INDEX_';
      MYLDBTemporaryTableName = 'TEMPORARY_TABLE_';
      MYLDBExpressionFieldName = 'Expr';
      MYLDBDatabaseFileExtension = '.dat';

const
      SOnNeedRepair = 'Database file was not correctly closed last time. Do you want to repair it?';
      SOnNeedConvert = 'Database file you are opening is of old format. It will be converted to the current MYLDBolute Database format now. It is recommended to make a backup of the database before continuing.';

      SRepairDialogMessage = 'Repairing Database...';
      SCompactingDialogMessage = 'Compacting Database...';
      SChangePasswordDialogMessage = 'Changing Database Password...';
      SChangeDatabaseSettingsDialogMessage = 'Changing Database Settings...';
      SCopyTableDialogMessage = 'Copy Table...';
      SImportTableDialogMessage = 'Import Table...';
      SExportTableDialogMessage = 'Export Table...';
      SRestructureTableDialogMessage = 'Restructure Table...';
      SBatchMoveDialogMessage = 'Batch Moving...';
      SAborted = 'Terminated by User.';
      SBatchMove = 'Batch Move...';
      SMYLDBFuncStart = '%s start';
      SMYLDBFuncEnd = '%s end';

//------------------------------------------------------------------------------
// disk consts
//------------------------------------------------------------------------------

 const DefaultPageSize = 4096;
 const DefaultExtentPageCount = 8;
 const DefaultCryptoAgorithm = craRijndael_128;

 const DefaultMaxSessionCount = 500;

 //const DefaultDBHeaderReserved = 0;
 //const DefaultLockedBytesReserved = 0;
 //const DefaultLockedBytesCount = 2;
 const DefaultRetryCount = 20;
 const DefaultDelayMS = 50;
 const OffsetToFreeSpaceManagerLockByte = 2;
 const OffsetToTablesLockByte = 3;
 const OffsetToDBHeaderLockByte = 4;

 const WriteChangesStarted = 1;
 const WriteChangesFinished = 2;
 // Maximum number of LockTypes
 const MYLDBMaxLockTypes = 6;

 // locking retries, delays
 const LockTablesRetries = 4500;
 const LockTablesDelay = 20;
 const DBHeaderLockRetries = 4500;
 const DBHeaderLockDelay = 20;
 const LockLastObjectIDRetries = 4500;
 const LockLastObjectIDDelay = 20;
 const ConnectSessionLockRetries = 4500;
 const ConnectSessionLockDelay = 20;
 const DisconnectSessionLockRetries = 4500;
 const DisconnectSessionLockDelay = 20;
 const OpenTableLockRetries = 50;
 const OpenTableLockDelay = 100;
 const RecordLockRetries = 15;
 const RecordLockDelay = 100;
 const EditRecordTableLockRetries = 900;
 const EditRecordTableLockDelay = 100;
 const DeleteRecordTableLockRetries = 900;
 const DeleteRecordTableLockDelay = 100;
 const PostRecordTableLockRetries = 2250;
 const PostRecordTableLockDelay = 40;
 const GetRecordTableLockRetries = 2250;
 const GetRecordTableLockDelay = 40;
 const CreateBlobStreamTableLockRetries = 2250;
 const CreateBlobStreamTableLockDelay = 40;
 const SearchTableLockRetries = 2250;
 const SearchTableLockDelay = 40;
 const BatchUpdateTableLockRetries = 1125;
 const BatchUpdateTableLockDelay = 80;
 const BatchUpdateTableIfFailedRetries = 15;
 const BatchUpdateTableIfFailedDelay = 100;
 const SelectTrialTableLockRetries = 2;
 const SelectTrialTableLockDelay = 20;
 const SelectTablesLockRetries = 900;
 const SelectTablesLockDelay = 100;
 const CommitTablesLockRetries = 900;
 const CommitTablesLockDelay = 100;
 const RangeTablesLockRetries = 900;
 const RangeTablesLockDelay = 100;

 // unlocking retries, delays
 const TableUnlockRetries = 4500;
 const TableUnlockDelay = 20;
 const RecordUnlockRetries = 4500;
 const RecordUnlockDelay = 20;

 // reopen file on lost connection retries, delays
 const ReopenDatabaseFileRetries = 3;
 const ReopenDatabaseFileDelay = 1000;

 // System First Pages
 const
        //MYLDBFirstPageNoEAM = 0;
        //MYLDBFirstPageNoPFS = 1;
        MYLDBFirstPageNoSystemDirectory = 2;

 // Page Types
 const
        ptUnknown =              0;
        ptEmpty =                1;
        ptEAM =                  2;
        ptPFS =                  3;
        ptFileSystemDirectory =  4;
        ptActiveSessionList =    5;
        ptTableList =            6;
        ptTableLocksFile =       7;
        ptTableMetaDataFile =    8;
        ptTableMostUpdatedFile = 9;
        ptTableRecord =          10;
        ptTableBlob =            11;
        ptTableIndex =           12;

        ptLastType =             12;
        ptAnyPage =              $FF;

 MYLDBPageTypeNames: array [0..ptLastType] of String = (
        'Unknown Page',
        'Empty Page',
        'EAM Page',
        'PFS Page',
        'FileSystemDirectory Page',
        'ActiveSessionList Page',
        'TableList Page',
        'TableLocks Page',
        'TableMetaData Page',
        'TableMostUpdated Page',
        'TableRecord Page',
        'TableBlob Page',
        'TableIndex Page'
        );

 MYLDB_PAGE_IS_FREE = 0;
 MYLDB_PAGE_IS_FULL = 1;

 MYLDB_EXTENT_IS_FREE = 0;          // 00
 MYLDB_EXTENT_IS_PARTIAL_USED = 1;  // 01
 MYLDB_EXTENT_IS_FULL = 3;          // 11


 // Invalid ID - returned by find methods in case if object was not found
 const MAX_NAME_LENGTH = 255;
 const INVALID_ID8 = Int64(-1);
 const INVALID_ID4 = Integer(-1);
 const OBJECTID_IS_NULL = Integer(-1);
 const INVALID_PAGE_NO = Integer(-1);
 const INVALID_OBJECT_ID = INVALID_ID4;
 const INVALID_PAGE_RECORD_NO = $FFFF;
 const INVALID_PAGE_ITEM_NO = $FFFF;

 // DateTime Const
 const TIME_IS_NULL = 0;//MaxInt;
{$WARNINGS OFF}
 const DATE_IS_NULL: Integer = $80000000;
{$WARNINGS ON}
 const MILSECS_IN_DAY = 24*60*60*1000;

 // indexed only first 20 chars in string fields
 DEFAULT_MAX_INDEXED_SIZE = 20;
 DEFAULT_BLOB_TO_STRING_FIELD_SIZE = 4096;
 DEFAULT_TABLE_MEMORY_BLOB_FILE_SIZE = 1024*1024;


 // BTree
 const BTreeNullFlagSize = 1;
 const BTreeKeyIsNull    = #1;
 const BTreeKeyIsNotNull = #0;

 const INVALID_SESSION_ID = Integer(-1);
 const SYSTEM_SESSION_ID = Integer(-2);
 const MIN_SESSION_ID = Integer(-2);

 // error codes

 const MYLDB_ERR_OK = 0;
 const MYLDB_ERR_INSERT_RECORD = -1;
 const MYLDB_ERR_UPDATE_RECORD = -2;
 const MYLDB_ERR_DELETE_RECORD = -3;
 const MYLDB_ERR_UPDATE_RECORD_MODIFIED = -4;
 const MYLDB_ERR_DELETE_RECORD_MODIFIED = -5;
 const MYLDB_ERR_UPDATE_RECORD_DELETED = -6;
 const MYLDB_ERR_DELETE_RECORD_DELETED = -7;

 const MYLDB_ERR_CONSTRAINT_VIOLATED = -8;
 const MYLDB_ERR_UPDATE_RECORD_PROHIBITED = -9;
 const MYLDB_ERR_DELETE_RECORD_PROHIBITED = -10;
 const MYLDB_ERR_CANCEL_PROHIBITED = -11;

 const MYLDB_ERR_RECORD_LOCKED = -12;
 const MYLDB_ERR_TABLE_LOCKED = -13;


 // ASC, DESC, CASE INSENSITIVITY constants
 const MYLDB_ASC = 'ASC';
       MYLDB_DESC = 'DESC';
       MYLDB_NO_CASE = 'NO_CASE';
       MYLDB_CASE = 'CASE';

 // Auto generation object names
 const
       AutoNameSymbol = '$';
       AutoNameSequenceAutoIncPrefix = 'Autoinc';
       AutoNameConstraintNotNullPrefix = 'C_NotNull';
       AutoNameConstraintCheckPrefix = 'C_Check';
       AutoNameConstraintPKPreffix = 'C_PK';
       AutoNameConstraintUniquePreffix = 'C_Unique';

 // encryption
 const MYLDB_CONTROL_BLOCK_SIZE = 256;

 // page.state
 const DELETED_PAGE_STATE = MaxInt;
 const INVALID_PAGE_STATE = MaxInt-1;
 const LAST_VALID_PAGE_STATE = MaxInt-2;


type
  TReservedWord =
  (
   rwMYLDBOLUTE
   ,rwACTION
   ,rwADD
   ,rwALL
   ,rwALLOCATE
   ,rwALTER
   ,rwAND
   ,rwANY
   ,rwARE
   ,rwAS
   ,rwASC
   ,rwASSERTION
   ,rwAT
   ,rwAUTHORIZATION
   ,rwAVG
   ,rwBEGIN
   ,rwBETWEEN
   ,rwBIT
   ,rwBIT_LENGTH
   ,rwBOTH
   ,rwBY
   ,rwCASCADE
   ,rwCASCADED
   ,rwCASE
   ,rwCAST
   ,rwCATALOG
   ,rwCHAR
   ,rwCHARACTER
   ,rwCHAR_LENGTH
   ,rwCHARACTER_LENGTH
   ,rwCHECK
   ,rwCLOSE
   ,rwCOALESCE
   ,rwCOLLATE
   ,rwCOLLATION
   ,rwCOLUMN
   ,rwCOMMIT
   ,rwCONNECT
   ,rwCONNECTION
   ,rwCONSTRAINT
   ,rwCONSTRAINTS
   ,rwCONTINUE
   ,rwCONVERT
   ,rwCORRESPONDING
   ,rwCOUNT
   ,rwCREATE
   ,rwCROSS
   ,rwCURRENT
   ,rwCURRENT_DATE
   ,rwCURRENT_TIME
   ,rwCURRENT_TIMESTAMP
   ,rwCURRENT_USER
   ,rwCURSOR
   ,rwDATE
   ,rwDAY
   ,rwDEALLOCATE
   ,rwDEC
   ,rwDECIMAL
   ,rwDECLARE
   ,rwDEFAULT
   ,rwDEFERRABLE
   ,rwDEFERRED
   ,rwDELETE
   ,rwDESC
   ,rwDESCRIBE
   ,rwDESCRIPTOR
   ,rwDIAGNOSTICS
   ,rwDISCONNECT
   ,rwDISTINCT
   ,rwDOMAIN
   ,rwDOUBLE
   ,rwDROP
   ,rwELSE
   ,rwEND
   ,rwEND_EXEC
   ,rwESCAPE
   ,rwEXCEPT
   ,rwEXCEPTION
   ,rwEXEC
   ,rwEXECUTE
   ,rwEXISTS
   ,rwEXTERNAL
   ,rwEXTRACT
   ,rwFALSE
   ,rwFETCH
   ,rwFIRST
   ,rwFLOAT
   ,rwFOR
   ,rwFOREIGN
   ,rwFOUND
   ,rwFROM
   ,rwFULL
   ,rwGET
   ,rwGLOBAL
   ,rwGO
   ,rwGOTO
   ,rwGRANT
   ,rwGROUP
   ,rwHAVING
   ,rwHOUR
   ,rwIDENTITY
   ,rwIMMEDIATE
   ,rwIN
   ,rwINDICATOR
   ,rwINITIALLY
   ,rwINNER
   ,rwINPUT
   ,rwINSENSITIVE
   ,rwINSERT
   ,rwINT
   ,rwINTEGER
   ,rwINTERSECT
   ,rwINTERVAL
   ,rwINTO
   ,rwIS
   ,rwISOLATION
   ,rwJOIN
   ,rwKEY
   ,rwLANGUAGE
   ,rwLAST
   ,rwLEADING
   ,rwLEFT
   ,rwLEVEL
   ,rwLIKE
   ,rwLOCAL
   ,rwLOWER
   ,rwMATCH
   ,rwMAX
   ,rwMEMORY
   ,rwMIN
   ,rwMINUS
   ,rwMINUTE
   ,rwMODULE
   ,rwMONTH
   ,rwNAMES
   ,rwNATIONAL
   ,rwNATURAL
   ,rwNCHAR
   ,rwNEXT
   ,rwNO
   ,rwNOT
   ,rwNULL
   ,rwNULLIF
   ,rwNUMERIC
   ,rwOCTET_LENGTH
   ,rwOF
   ,rwON
   ,rwONLY
   ,rwOPEN
   ,rwOPTION
   ,rwOR
   ,rwORDER
   ,rwOUTER
   ,rwOUTPUT
   ,rwOVERLAPS
   ,rwPAD
   ,rwPARTIAL
   ,rwPOSITION
   ,rwPRECISION
   ,rwPREPARE
   ,rwPRESERVE
   ,rwPRIMARY
   ,rwPRIOR
   ,rwPRIVILEGES
   ,rwPROCEDURE
   ,rwPUBLIC
   ,rwREAD
   ,rwREAL
   ,rwREFERENCES
   ,rwRELATIVE
   ,rwRESTRICT
   ,rwREVOKE
   ,rwRIGHT
   ,rwROLLBACK
   ,rwROWS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区不卡| 一区二区三区丝袜| 国产一区二区三区四区五区美女 | 成人高清免费在线播放| 亚洲国产精品成人综合| 99麻豆久久久国产精品免费| 中文字幕一区在线观看| 在线一区二区三区| 亚洲国产欧美在线人成| 91精品中文字幕一区二区三区| 视频在线观看一区| 精品国产91久久久久久久妲己| 国产激情视频一区二区在线观看| 国产欧美日韩卡一| 91精品福利在线| 麻豆精品精品国产自在97香蕉| 精品嫩草影院久久| 97久久超碰精品国产| 亚洲va欧美va人人爽午夜 | 91在线小视频| 午夜私人影院久久久久| 欧美变态口味重另类| 国产成人99久久亚洲综合精品| 亚洲久草在线视频| 精品精品国产高清一毛片一天堂| 国产suv一区二区三区88区| 亚洲免费看黄网站| 欧美电影免费观看高清完整版在线| 国产在线不卡一区| 亚洲美女免费在线| 久久网这里都是精品| 色婷婷香蕉在线一区二区| 蜜臀久久久99精品久久久久久| 久久久精品国产99久久精品芒果| 91亚洲国产成人精品一区二区三 | 成人欧美一区二区三区| 91精品国产欧美一区二区成人 | 亚洲男女毛片无遮挡| 日韩一区二区在线看片| 99r国产精品| 蜜桃视频一区二区| 亚洲综合男人的天堂| 国产亚洲一区字幕| 欧美精品国产精品| 国产高清精品网站| 日韩电影免费一区| 亚洲另类一区二区| 国产精品免费看片| 精品91自产拍在线观看一区| 欧美三级电影网| 91免费国产在线| 国内精品伊人久久久久av影院 | 日韩无一区二区| 色综合久久久久| 国产精品一区在线| 五月综合激情婷婷六月色窝| 亚洲欧美偷拍另类a∨色屁股| 精品国产91洋老外米糕| 欧美伦理影视网| 欧美三级在线看| 欧美自拍丝袜亚洲| 99re成人在线| 北条麻妃一区二区三区| 国产一区二区91| 日本免费新一区视频| 亚洲成人动漫在线免费观看| 亚洲日本va在线观看| 亚洲欧洲日本在线| 国产欧美日韩在线看| 26uuu精品一区二区| 91精品国产91久久久久久一区二区| 色综合久久综合中文综合网| 99精品偷自拍| 99精品热视频| 色综合天天综合网国产成人综合天| 国产不卡视频在线观看| 国产美女精品在线| 国产成人免费9x9x人网站视频| 国产一区在线不卡| 国产a久久麻豆| 成人高清在线视频| 99久久99久久精品免费看蜜桃| av电影天堂一区二区在线| 9人人澡人人爽人人精品| 波多野结衣欧美| 99这里只有精品| 91国偷自产一区二区三区成为亚洲经典| 99久免费精品视频在线观看| 91女厕偷拍女厕偷拍高清| 色狠狠色噜噜噜综合网| 欧美视频在线一区二区三区 | 久久久国产综合精品女国产盗摄| 久久久一区二区三区捆绑**| 亚洲国产精品黑人久久久| 国产欧美日韩卡一| 亚洲免费av网站| 亚洲国产精品一区二区www在线| 日韩精品91亚洲二区在线观看| 美女国产一区二区| 国产乱子伦视频一区二区三区| 丰满白嫩尤物一区二区| 色噜噜狠狠成人中文综合| 91精品欧美久久久久久动漫| 精品欧美一区二区在线观看| 国产欧美视频一区二区| 一区二区在线观看不卡| 日韩av中文字幕一区二区| 国产一区二区福利视频| 一本久久精品一区二区| 欧美精品自拍偷拍动漫精品| 久久精品亚洲乱码伦伦中文| 一区二区成人在线| 国内国产精品久久| 91免费视频网| 久久综合九色综合97_久久久| 最新日韩av在线| 日本欧美韩国一区三区| 成人app软件下载大全免费| 免费av网站大全久久| 久久久不卡网国产精品二区| 欧美日韩亚洲综合一区二区三区 | 久久久蜜臀国产一区二区| 欧美韩国日本不卡| 午夜在线成人av| av影院午夜一区| 欧美亚洲禁片免费| 国产亚洲va综合人人澡精品| 亚洲国产精品一区二区www在线| 国产麻豆一精品一av一免费 | 粉嫩aⅴ一区二区三区四区 | 成人丝袜高跟foot| 欧美日韩夫妻久久| 亚洲色图欧美偷拍| 极品尤物av久久免费看| 欧美在线看片a免费观看| 国产无遮挡一区二区三区毛片日本| 亚洲自拍欧美精品| 丰满放荡岳乱妇91ww| 日韩午夜在线观看| 亚洲国产一区二区a毛片| 丁香激情综合五月| 日韩欧美亚洲国产另类| 亚洲成人先锋电影| 99久久777色| 国产女人18水真多18精品一级做| 日本三级亚洲精品| 欧美日韩国产小视频| 亚洲三级在线免费| 99久久伊人久久99| 亚洲国产精品av| 国产suv精品一区二区6| 精品国产免费一区二区三区香蕉| 午夜精品免费在线| 欧美在线免费观看视频| 亚洲另类春色国产| 色婷婷亚洲婷婷| 亚洲色图在线播放| 色综合咪咪久久| 亚洲狠狠丁香婷婷综合久久久| 成人成人成人在线视频| 国产亚洲成av人在线观看导航| 久久99久国产精品黄毛片色诱| 欧美一区日本一区韩国一区| 五月综合激情婷婷六月色窝| 欧美色图12p| 亚洲v中文字幕| 欧美日韩精品久久久| 亚洲不卡一区二区三区| 欧美精品第一页| 日韩vs国产vs欧美| 欧美mv日韩mv国产网站| 久久精品国产亚洲a| 久久综合精品国产一区二区三区 | 日韩av一区二区三区四区| 精品婷婷伊人一区三区三| 亚洲国产成人porn| 欧美疯狂做受xxxx富婆| 日韩在线卡一卡二| 欧美不卡123| 成人一道本在线| 中文字幕字幕中文在线中不卡视频| 成人不卡免费av| 亚洲精品免费电影| 欧美日韩另类国产亚洲欧美一级| 亚洲国产精品久久人人爱| 7878成人国产在线观看| 狠狠狠色丁香婷婷综合久久五月| 欧美va在线播放| 丁香激情综合国产| 亚洲大型综合色站| 精品少妇一区二区三区日产乱码| 国产美女av一区二区三区| 日韩一区日韩二区| 欧美日韩国产美女| 国产一区二区三区在线观看免费视频 | 五月婷婷另类国产| 日韩精品最新网址| 99国产精品国产精品久久| 午夜影视日本亚洲欧洲精品| 精品国产成人系列|