亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩精品中午字幕| 亚洲午夜影视影院在线观看| 亚洲黄一区二区三区| 免费在线观看精品| 色狠狠av一区二区三区| 欧美精品一区二区在线观看| 一区二区三区四区不卡视频| 国产伦理精品不卡| 日韩一区二区在线免费观看| 一区二区日韩电影| 国产91综合网| 欧美tk—视频vk| 爽好多水快深点欧美视频| 一本到高清视频免费精品| 久久综合久久综合久久| 视频一区在线视频| 欧美视频一区二区在线观看| 中文字幕一区二区三区不卡在线| 久久超级碰视频| 欧洲精品在线观看| 日韩毛片视频在线看| 国产成人小视频| 久久久久久久综合日本| 国内精品免费**视频| 精品国产乱码久久久久久夜甘婷婷| 天堂av在线一区| 欧美日韩国产综合一区二区| 夜夜夜精品看看| 欧美日韩中文字幕一区二区| 一级特黄大欧美久久久| 欧美精品久久99| 亚洲免费观看视频| 99re8在线精品视频免费播放| 欧美国产日韩亚洲一区| 国产凹凸在线观看一区二区 | 国产美女在线精品| 精品国产欧美一区二区| 国内国产精品久久| 国产亚洲精品bt天堂精选| 国产91丝袜在线播放| 中文字幕av一区二区三区免费看| 成人综合在线网站| 中文字幕日韩欧美一区二区三区| 99久久99久久精品免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 99久久婷婷国产综合精品电影| 国产精品高潮久久久久无| 91视频91自| 图片区小说区国产精品视频| 91精品久久久久久久99蜜桃| 国产麻豆午夜三级精品| 国产精品久久久久7777按摩 | 国产精品久久久久久妇女6080| 成人国产精品视频| 亚洲一二三四在线观看| 日韩午夜三级在线| 大尺度一区二区| 亚洲已满18点击进入久久| 欧美一区二区二区| 国产91精品久久久久久久网曝门 | 精品福利二区三区| 国产成人日日夜夜| 亚洲国产日日夜夜| www成人在线观看| 91麻豆123| 国产一区二区三区在线观看精品| 国产精品成人在线观看| 91麻豆精品国产91久久久久久久久 | 国产午夜亚洲精品羞羞网站| 色久综合一二码| 韩国欧美国产一区| 亚洲欧美日韩国产手机在线 | 毛片不卡一区二区| 国产精品毛片a∨一区二区三区| 欧美日韩精品专区| 成人一道本在线| 污片在线观看一区二区| 国产精品毛片无遮挡高清| 欧美片在线播放| 99久久国产综合色|国产精品| 日韩电影免费在线观看网站| 日本一区二区在线不卡| 日韩一区二区不卡| 91色|porny| 成人自拍视频在线| 美脚の诱脚舐め脚责91 | 欧美精品电影在线播放| www.色综合.com| 黄页视频在线91| 三级精品在线观看| 亚洲精品欧美专区| 久久精品网站免费观看| 日韩欧美高清在线| 51精品视频一区二区三区| av网站一区二区三区| 国产高清精品在线| 久久精品国产精品亚洲精品| 亚洲国产中文字幕| 亚洲激情六月丁香| 亚洲欧美国产高清| 日韩理论片在线| 国产精品入口麻豆九色| 久久久91精品国产一区二区三区| 日韩精品一区国产麻豆| 777亚洲妇女| 欧美日本免费一区二区三区| 欧美羞羞免费网站| 91免费在线看| 91免费国产在线| 99久久精品国产麻豆演员表| 成人av午夜影院| 92精品国产成人观看免费| 波多野结衣中文字幕一区| 岛国精品一区二区| 不卡的看片网站| 一本色道亚洲精品aⅴ| 色综合色综合色综合| 99久久亚洲一区二区三区青草| 99国内精品久久| 91高清视频免费看| 欧美网站大全在线观看| 91 com成人网| 欧美成人免费网站| 国产亚洲一二三区| 18成人在线观看| 亚洲无线码一区二区三区| 亚洲在线视频免费观看| 丝袜美腿一区二区三区| 伦理电影国产精品| 国产黑丝在线一区二区三区| 成人国产精品免费观看视频| 在线亚洲欧美专区二区| 在线播放中文一区| 日韩欧美精品在线视频| 中文字幕免费不卡| 一区二区三区鲁丝不卡| 日韩激情中文字幕| 国产主播一区二区| 91小视频在线观看| 日韩午夜电影在线观看| 国产网站一区二区三区| 亚洲精品视频在线| 看片网站欧美日韩| 成人激情免费网站| 欧美日韩一区精品| 精品久久久久久久一区二区蜜臀| 国产精品美女久久久久av爽李琼| 午夜视频在线观看一区| 狠狠色2019综合网| 一本大道久久a久久精品综合| 欧美精品一级二级| 国产三级三级三级精品8ⅰ区| 一区二区三区四区国产精品| 精油按摩中文字幕久久| 色综合久久综合网| 久久婷婷久久一区二区三区| 一区二区三区欧美日韩| 激情综合色综合久久| 欧美在线|欧美| 久久夜色精品国产欧美乱极品| 亚洲免费在线电影| 国产精品综合视频| 91麻豆精品国产91久久久更新时间| 国产视频一区在线播放| 日韩成人免费在线| 91免费视频网址| 久久精品无码一区二区三区| 日韩av网站在线观看| 色婷婷精品大视频在线蜜桃视频| www精品美女久久久tv| 亚洲国产日韩a在线播放| jvid福利写真一区二区三区| 久久夜色精品一区| 日韩av中文字幕一区二区| 色婷婷激情综合| 亚洲成人第一页| 国产精品综合久久| 性做久久久久久免费观看| 国产一二三精品| 欧美一区二区在线播放| 一区二区三区蜜桃| 不卡的av在线| 欧美国产精品一区| 国产成人av福利| 欧美精品一区二区三区在线| 日本欧美久久久久免费播放网| 欧美午夜片在线观看| 1区2区3区欧美| 成人动漫视频在线| 国产清纯白嫩初高生在线观看91| 麻豆一区二区99久久久久| 欧美日韩1区2区| 香蕉久久一区二区不卡无毒影院 | 精品久久人人做人人爽| 天堂蜜桃91精品| 7777女厕盗摄久久久| 亚洲一级在线观看| 欧美午夜精品免费| 日韩中文字幕不卡| 欧美一区二区三区四区久久|