⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlite.dbtest

📁 SinFP是一种新的识别对方计算机操作系统类型的工具
💻 DBTEST
字号:
# Hej, Emacs, give us -*- perl -*- mode here!##   $Id: SQLite.dbtest,v 1.1 2002/02/19 17:19:57 matt Exp $## database specific definitions for a 'CSV' database#   This function generates a mapping of ANSI type names to#   database specific type names; it is called by TableDefinition().#sub AnsiTypeToDb ($;$) {    my ($type, $size) = @_;    my ($ret);    if ((lc $type) eq 'char'  ||  (lc $type) eq 'varchar') {	$size ||= 1;	return (uc $type) . " ($size)";    } elsif ((lc $type) eq 'blob'  ||  (lc $type) eq 'real'  ||	       (lc $type) eq 'integer') {	return uc $type;    } elsif ((lc $type) eq 'int') {	return 'INTEGER';    } else {	warn "Unknown type $type\n";	$ret = $type;    }    $ret;}##   This function generates a table definition based on an#   input list. The input list consists of references, each#   reference referring to a single column. The column#   reference consists of column name, type, size and a bitmask of#   certain flags, namely##       $COL_NULLABLE - true, if this column may contain NULL's#       $COL_KEY - true, if this column is part of the table's#           primary key##   Hopefully there's no big need for you to modify this function,#   if your database conforms to ANSI specifications.#sub TableDefinition ($@) {    my($tablename, @cols) = @_;    my($def);    #    #   Should be acceptable for most ANSI conformant databases;    #    #   msql 1 uses a non-ANSI definition of the primary key: A    #   column definition has the attribute "PRIMARY KEY". On    #   the other hand, msql 2 uses the ANSI fashion ...    #    my($col, @keys, @colDefs, $keyDef);    #    #   Count number of keys    #    @keys = ();    foreach $col (@cols) {	if ($$col[2] & $::COL_KEY) {	    push(@keys, $$col[0]);	}    }    foreach $col (@cols) {	my $colDef = $$col[0] . " " . AnsiTypeToDb($$col[1], $$col[2]);	if (!($$col[3] & $::COL_NULLABLE)) {	    $colDef .= " NOT NULL";	}	push(@colDefs, $colDef);    }    if (@keys) {	$keyDef = ", PRIMARY KEY (" . join(", ", @keys) . ")";    } else {	$keyDef = "";    }    $def = sprintf("CREATE TABLE %s (%s%s)", $tablename,		   join(", ", @colDefs), $keyDef);}##   This function generates a list of tables associated to a#   given DSN.#sub ListTables(@) {    my($dbh) = shift;    my(@tables);    @tables = $dbh->func('list_tables');    if ($dbh->errstr) {	die "Cannot create table list: " . $dbh->errstr;    }    @tables;}##   This function is called by DBD::pNET; given a hostname and a#   dsn without hostname, return a dsn for connecting to dsn at#   host.sub HostDsn ($$) {    my($hostname, $dsn) = @_;    "$dsn:$hostname";}##   Return a string for checking, whether a given column is NULL.#sub IsNull($) {    my($var) = @_;    "$var IS NULL";}##   Return TRUE, if database supports transactions#sub HaveTransactions () {    1;}if (! -d "output") {    mkdir "output", 0755;}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -