📄 mkconsts
字号:
DB_VERIFY_FATAL => DEFINE, DB_VRFY_FLAGMASK => DEFINE, # enum db_recops DB_TXN_ABORT => '3.1.14', DB_TXN_BACKWARD_ROLL => '3.1.14', DB_TXN_FORWARD_ROLL => '3.1.14', DB_TXN_OPENFILES => '3.1.14', ######### # 3.2.9 ######### DBC_COMPENSATE => IGNORE, DB_ALREADY_ABORTED => DEFINE, DB_AM_VERIFYING => IGNORE, DB_CDB_ALLDB => DEFINE, DB_CONSUME_WAIT => DEFINE, DB_ENV_CDB_ALLDB => DEFINE, DB_EXTENT => DEFINE, DB_JAVA_CALLBACK => DEFINE, DB_JOINENV => DEFINE, DB_LOCK_SWITCH => DEFINE, DB_MPOOL_EXTENT => DEFINE, DB_REGION_MAGIC => DEFINE, DB_VERIFY => DEFINE, # enum db_lockmode_t DB_LOCK_WAIT => IGNORE, # 3.2.9 ######### # 3.3.11 ######### DBC_DIRTY_READ => IGNORE, DBC_MULTIPLE => IGNORE, DBC_MULTIPLE_KEY => IGNORE, DB_AM_DIRTY => IGNORE, DB_AM_SECONDARY => IGNORE, DB_COMMIT => DEFINE, DB_DBT_APPMALLOC => IGNORE, DB_DIRTY_READ => DEFINE, DB_DONOTINDEX => DEFINE, DB_ENV_PANIC_OK => DEFINE, DB_ENV_RPCCLIENT_GIVEN => DEFINE, DB_FAST_STAT => DEFINE, DB_LOCK_MAXLOCKS => DEFINE, DB_LOCK_MINLOCKS => DEFINE, DB_LOCK_MINWRITE => DEFINE, DB_MULTIPLE => DEFINE, DB_MULTIPLE_KEY => DEFINE, DB_PAGE_NOTFOUND => DEFINE, DB_RPC_SERVERPROG => DEFINE, DB_RPC_SERVERVERS => DEFINE, DB_SECONDARY_BAD => DEFINE, DB_SURPRISE_KID => DEFINE, DB_TEST_POSTDESTROY => DEFINE, DB_TEST_PREDESTROY => DEFINE, DB_UPDATE_SECONDARY => DEFINE, DB_XIDDATASIZE => DEFINE, # enum db_recops DB_TXN_POPENFILES => '3.3.11', # enum db_lockop_t DB_LOCK_UPGRADE_WRITE => '3.3.11', # enum db_lockmode_t DB_LOCK_DIRTY => IGNORE, # 3.3.11 DB_LOCK_WWRITE => IGNORE, # 3.3.11 ######### # 4.0.14 ######### DB_APPLY_LOGREG => DEFINE, DB_CL_WRITER => DEFINE, DB_EID_BROADCAST => DEFINE, DB_EID_INVALID => DEFINE, DB_ENV_NOLOCKING => DEFINE, DB_ENV_NOPANIC => DEFINE, DB_ENV_REGION_INIT => DEFINE, DB_ENV_REP_CLIENT => DEFINE, DB_ENV_REP_LOGSONLY => DEFINE, DB_ENV_REP_MASTER => DEFINE, DB_ENV_YIELDCPU => DEFINE, DB_GET_BOTH_RANGE => DEFINE, DB_LOCK_EXPIRE => DEFINE, DB_LOCK_FREE_LOCKER => DEFINE, DB_LOCK_SET_TIMEOUT => DEFINE, DB_LOGC_BUF_SIZE => DEFINE, DB_LOG_DISK => DEFINE, DB_LOG_LOCKED => DEFINE, DB_LOG_SILENT_ERR => DEFINE, DB_NOLOCKING => DEFINE, DB_NOPANIC => DEFINE, DB_PANIC_ENVIRONMENT => DEFINE, DB_REP_CLIENT => DEFINE, DB_REP_DUPMASTER => DEFINE, DB_REP_HOLDELECTION => DEFINE, DB_REP_LOGSONLY => DEFINE, DB_REP_MASTER => DEFINE, DB_REP_NEWMASTER => DEFINE, DB_REP_NEWSITE => DEFINE, DB_REP_OUTDATED => DEFINE, DB_REP_PERMANENT => DEFINE, DB_REP_UNAVAIL => DEFINE, DB_SET_LOCK_TIMEOUT => DEFINE, DB_SET_TXN_NOW => DEFINE, DB_SET_TXN_TIMEOUT => DEFINE, DB_STAT_CLEAR => DEFINE, DB_TIMEOUT => DEFINE, DB_VERB_REPLICATION => DEFINE, DB_YIELDCPU => DEFINE, MP_FLUSH => IGNORE, MP_OPEN_CALLED => IGNORE, MP_READONLY => IGNORE, MP_UPGRADE => IGNORE, MP_UPGRADE_FAIL => IGNORE, TXN_CHILDCOMMIT => IGNORE, TXN_COMPENSATE => IGNORE, TXN_DIRTY_READ => IGNORE, TXN_LOCKTIMEOUT => IGNORE, TXN_MALLOC => IGNORE, TXN_NOSYNC => IGNORE, TXN_NOWAIT => IGNORE, TXN_SYNC => IGNORE, # enum db_recops DB_TXN_APPLY => '4.0.14', # enum db_lockop_t DB_LOCK_GET_TIMEOUT => '4.0.14', DB_LOCK_PUT_READ => '4.0.14', DB_LOCK_TIMEOUT => '4.0.14', # enum db_status_t DB_LSTAT_EXPIRED => IGNORE, # 4.0.14 ######### # 4.1.24 ######### DBC_OWN_LID => IGNORE, DB_AM_CHKSUM => IGNORE, DB_AM_CL_WRITER => IGNORE, DB_AM_COMPENSATE => IGNORE, DB_AM_CREATED => IGNORE, DB_AM_CREATED_MSTR => IGNORE, DB_AM_DBM_ERROR => IGNORE, DB_AM_DELIMITER => IGNORE, DB_AM_ENCRYPT => IGNORE, DB_AM_FIXEDLEN => IGNORE, DB_AM_IN_RENAME => IGNORE, DB_AM_OPEN_CALLED => IGNORE, DB_AM_PAD => IGNORE, DB_AM_RECNUM => IGNORE, DB_AM_RENUMBER => IGNORE, DB_AM_REVSPLITOFF => IGNORE, DB_AM_SNAPSHOT => IGNORE, DB_AUTO_COMMIT => DEFINE, DB_CHKSUM_SHA1 => DEFINE, DB_DIRECT => DEFINE, DB_DIRECT_DB => DEFINE, DB_DIRECT_LOG => DEFINE, DB_ENCRYPT => DEFINE, DB_ENCRYPT_AES => DEFINE, DB_ENV_AUTO_COMMIT => DEFINE, DB_ENV_DIRECT_DB => DEFINE, DB_ENV_DIRECT_LOG => DEFINE, DB_ENV_FATAL => DEFINE, DB_ENV_OVERWRITE => DEFINE, DB_ENV_TXN_WRITE_NOSYNC => DEFINE, DB_HANDLE_LOCK => DEFINE, DB_LOCK_NOTEXIST => DEFINE, DB_LOCK_REMOVE => DEFINE, DB_NOCOPY => DEFINE, DB_OVERWRITE => DEFINE, DB_PERMANENT => DEFINE, DB_PRINTABLE => DEFINE, DB_RENAMEMAGIC => DEFINE, DB_TEST_ELECTINIT => DEFINE, DB_TEST_ELECTSEND => DEFINE, DB_TEST_ELECTVOTE1 => DEFINE, DB_TEST_ELECTVOTE2 => DEFINE, DB_TEST_ELECTWAIT1 => DEFINE, DB_TEST_ELECTWAIT2 => DEFINE, DB_TEST_SUBDB_LOCKS => DEFINE, DB_TXN_LOCK => DEFINE, DB_TXN_WRITE_NOSYNC => DEFINE, DB_WRITEOPEN => DEFINE, DB_WRNOSYNC => DEFINE, _DB_EXT_PROT_IN_ => IGNORE, # enum db_lockop_t DB_LOCK_TRADE => '4.1.24', # enum db_status_t DB_LSTAT_NOTEXIST => IGNORE, # 4.1.24 # enum DB_CACHE_PRIORITY DB_PRIORITY_VERY_LOW => '4.1.24', DB_PRIORITY_LOW => '4.1.24', DB_PRIORITY_DEFAULT => '4.1.24', DB_PRIORITY_HIGH => '4.1.24', DB_PRIORITY_VERY_HIGH => '4.1.24', # enum db_recops DB_TXN_BACKWARD_ALLOC => '4.1.24', DB_TXN_PRINT => '4.1.24', ######### # 4.2.50 ######### DB_AM_NOT_DURABLE => IGNORE, DB_AM_REPLICATION => IGNORE, DB_ARCH_REMOVE => DEFINE, DB_CHKSUM => DEFINE, DB_ENV_LOG_AUTOREMOVE => DEFINE, DB_ENV_TIME_NOTGRANTED => DEFINE, DB_ENV_TXN_NOT_DURABLE => DEFINE, DB_FILEOPEN => DEFINE, DB_INIT_REP => DEFINE, DB_LOG_AUTOREMOVE => DEFINE, DB_LOG_CHKPNT => DEFINE, DB_LOG_COMMIT => DEFINE, DB_LOG_NOCOPY => DEFINE, DB_LOG_NOT_DURABLE => DEFINE, DB_LOG_PERM => DEFINE, DB_LOG_WRNOSYNC => DEFINE, DB_MPOOL_NOFILE => DEFINE, DB_MPOOL_UNLINK => DEFINE, DB_NO_AUTO_COMMIT => DEFINE, DB_REP_CREATE => DEFINE, DB_REP_HANDLE_DEAD => DEFINE, DB_REP_ISPERM => DEFINE, DB_REP_NOBUFFER => DEFINE, DB_REP_NOTPERM => DEFINE, DB_RPCCLIENT => DEFINE, DB_TIME_NOTGRANTED => DEFINE, DB_TXN_NOT_DURABLE => DEFINE, DB_debug_FLAG => DEFINE, DB_user_BEGIN => DEFINE, MP_FILEID_SET => IGNORE, TXN_RESTORED => IGNORE, ######### # 4.3.21 ######### DBC_DEGREE_2 => IGNORE, DB_AM_INORDER => IGNORE, DB_BUFFER_SMALL => DEFINE, DB_DEGREE_2 => DEFINE, DB_DSYNC_LOG => DEFINE, DB_DURABLE_UNKNOWN => DEFINE, DB_ENV_DSYNC_LOG => DEFINE, DB_ENV_LOG_INMEMORY => DEFINE, DB_INORDER => DEFINE, DB_LOCK_ABORT => DEFINE, DB_LOCK_MAXWRITE => DEFINE, DB_LOG_BUFFER_FULL => DEFINE, DB_LOG_INMEMORY => DEFINE, DB_LOG_RESEND => DEFINE, DB_MPOOL_FREE => DEFINE, DB_REP_EGENCHG => DEFINE, DB_REP_LOGREADY => DEFINE, DB_REP_PAGEDONE => DEFINE, DB_REP_STARTUPDONE => DEFINE, DB_SEQUENCE_VERSION => DEFINE, DB_SEQ_DEC => DEFINE, DB_SEQ_INC => DEFINE, DB_SEQ_RANGE_SET => DEFINE, DB_SEQ_WRAP => DEFINE, DB_STAT_ALL => DEFINE, DB_STAT_LOCK_CONF => DEFINE, DB_STAT_LOCK_LOCKERS => DEFINE, DB_STAT_LOCK_OBJECTS => DEFINE, DB_STAT_LOCK_PARAMS => DEFINE, DB_STAT_MEMP_HASH => DEFINE, DB_STAT_SUBSYSTEM => DEFINE, DB_UNREF => DEFINE, DB_VERSION_MISMATCH => DEFINE, TXN_DEADLOCK => IGNORE, TXN_DEGREE_2 => IGNORE, ######### # 4.3.28 ######### DB_SEQUENCE_OLDVER => DEFINE, ######### # 4.4.9 ######### DBC_READ_COMMITTED => IGNORE, DBC_READ_UNCOMMITTED => IGNORE, DB_AM_READ_UNCOMMITTED => IGNORE, DB_ASSOC_IMMUTABLE_KEY => DEFINE, DB_COMPACT_FLAGS => DEFINE, DB_FREELIST_ONLY => DEFINE, DB_FREE_SPACE => DEFINE, DB_IMMUTABLE_KEY => DEFINE, DB_MUTEX_ALLOCATED => DEFINE, DB_MUTEX_LOGICAL_LOCK => DEFINE, DB_MUTEX_SELF_BLOCK => DEFINE, DB_MUTEX_THREAD => DEFINE, DB_READ_COMMITTED => DEFINE, DB_READ_UNCOMMITTED => DEFINE, DB_REGISTER => DEFINE, DB_REP_ANYWHERE => DEFINE, DB_REP_BULKOVF => DEFINE, DB_REP_IGNORE => DEFINE, DB_REP_LOCKOUT => DEFINE, DB_REP_REREQUEST => DEFINE, DB_SEQ_WRAPPED => DEFINE, DB_VERB_REGISTER => DEFINE, REP_CONF_AUTOINIT => DEFINE, REP_CONF_BULK => DEFINE, REP_CONF_DELAYCLIENT => DEFINE, REP_CONF_NOWAIT => DEFINE, TXN_READ_COMMITTED => IGNORE, TXN_READ_UNCOMMITTED => IGNORE, TXN_SYNC_FLAGS => IGNORE, TXN_WRITE_NOSYNC => IGNORE, # enum db_lockmode_t DB_LOCK_READ_UNCOMMITTED => IGNORE, # 4.4.9 ) ;sub enum_Macro{ my $str = shift ; my ($major, $minor, $patch) = split /\./, $str ; my $macro = "#if (DB_VERSION_MAJOR > $major) || \\\n" . " (DB_VERSION_MAJOR == $major && DB_VERSION_MINOR > $minor) || \\\n" . " (DB_VERSION_MAJOR == $major && DB_VERSION_MINOR == $minor && \\\n" . " DB_VERSION_PATCH >= $patch)\n" ; return $macro;}sub OutputXS{ my @names = () ; foreach my $key (sort keys %constants) { my $val = $constants{$key} ; next if $val eq IGNORE; if ($val eq STRING) { push @names, { name => $key, type => "PV" } } elsif ($val eq DEFINE) { push @names, $key } else { push @names, { name => $key, macro => [enum_Macro($val), "#endif\n"] } } } warn "Updating constants.xs & constants.h...\n"; WriteConstants( NAME => BerkeleyDB, NAMES => \@names, C_FILE => 'constants.h', XS_FILE => 'constants.xs', ) ;}sub OutputPM{ my $filename = 'BerkeleyDB.pm'; warn "Updating $filename...\n"; open IN, "<$filename" || die "Cannot open $filename: $!\n"; open OUT, ">$filename.tmp" || die "Cannot open $filename.tmp: $!\n"; my $START = '@EXPORT = qw(' ; my $START_re = quotemeta $START ; my $END = ');'; my $END_re = quotemeta $END ; # skip to the @EXPORT declaration OUTER: while (<IN>) { if ( /^\s*$START_re/ ) { # skip to the end marker. while (<IN>) { last OUTER if /^\s*$END_re/ } } print OUT ; } print OUT "$START\n"; foreach my $key (sort keys %constants) { next if $constants{$key} eq IGNORE; print OUT "\t$key\n"; } print OUT "\t$END\n"; while (<IN>) { print OUT ; } close IN; close OUT; rename $filename, "$filename.bak" || die "Cannot rename $filename: $!\n" ; rename "$filename.tmp", $filename || die "Cannot rename $filename.tmp: $!\n" ;}OutputXS() ;OutputPM() ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -