Initial Commit
This commit is contained in:
238
database/perl/vendor/lib/DBI/Const/GetInfo/ANSI.pm
vendored
Normal file
238
database/perl/vendor/lib/DBI/Const/GetInfo/ANSI.pm
vendored
Normal file
@@ -0,0 +1,238 @@
|
||||
# $Id: ANSI.pm 8696 2007-01-24 23:12:38Z Tim $
|
||||
#
|
||||
# Copyright (c) 2002 Tim Bunce Ireland
|
||||
#
|
||||
# Constant data describing ANSI CLI info types and return values for the
|
||||
# SQLGetInfo() method of ODBC.
|
||||
#
|
||||
# You may distribute under the terms of either the GNU General Public
|
||||
# License or the Artistic License, as specified in the Perl README file.
|
||||
use strict;
|
||||
|
||||
package DBI::Const::GetInfo::ANSI;
|
||||
|
||||
our (%InfoTypes,%ReturnTypes,%ReturnValues,);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
DBI::Const::GetInfo::ANSI - ISO/IEC SQL/CLI Constants for GetInfo
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
The API for this module is private and subject to change.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Information requested by GetInfo().
|
||||
|
||||
See: A.1 C header file SQLCLI.H, Page 316, 317.
|
||||
|
||||
The API for this module is private and subject to change.
|
||||
|
||||
=head1 REFERENCES
|
||||
|
||||
ISO/IEC FCD 9075-3:200x Information technology - Database Languages -
|
||||
SQL - Part 3: Call-Level Interface (SQL/CLI)
|
||||
|
||||
SC32 N00744 = WG3:VIE-005 = H2-2002-007
|
||||
|
||||
Date: 2002-01-15
|
||||
|
||||
=cut
|
||||
|
||||
my
|
||||
$VERSION = "2.008697";
|
||||
|
||||
%InfoTypes =
|
||||
(
|
||||
SQL_ALTER_TABLE => 86
|
||||
, SQL_CATALOG_NAME => 10003
|
||||
, SQL_COLLATING_SEQUENCE => 10004
|
||||
, SQL_CURSOR_COMMIT_BEHAVIOR => 23
|
||||
, SQL_CURSOR_SENSITIVITY => 10001
|
||||
, SQL_DATA_SOURCE_NAME => 2
|
||||
, SQL_DATA_SOURCE_READ_ONLY => 25
|
||||
, SQL_DBMS_NAME => 17
|
||||
, SQL_DBMS_VERSION => 18
|
||||
, SQL_DEFAULT_TRANSACTION_ISOLATION => 26
|
||||
, SQL_DESCRIBE_PARAMETER => 10002
|
||||
, SQL_FETCH_DIRECTION => 8
|
||||
, SQL_GETDATA_EXTENSIONS => 81
|
||||
, SQL_IDENTIFIER_CASE => 28
|
||||
, SQL_INTEGRITY => 73
|
||||
, SQL_MAXIMUM_CATALOG_NAME_LENGTH => 34
|
||||
, SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 97
|
||||
, SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 99
|
||||
, SQL_MAXIMUM_COLUMNS_IN_SELECT => 100
|
||||
, SQL_MAXIMUM_COLUMNS_IN_TABLE => 101
|
||||
, SQL_MAXIMUM_COLUMN_NAME_LENGTH => 30
|
||||
, SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 1
|
||||
, SQL_MAXIMUM_CURSOR_NAME_LENGTH => 31
|
||||
, SQL_MAXIMUM_DRIVER_CONNECTIONS => 0
|
||||
, SQL_MAXIMUM_IDENTIFIER_LENGTH => 10005
|
||||
, SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 32
|
||||
, SQL_MAXIMUM_STMT_OCTETS => 20000
|
||||
, SQL_MAXIMUM_STMT_OCTETS_DATA => 20001
|
||||
, SQL_MAXIMUM_STMT_OCTETS_SCHEMA => 20002
|
||||
, SQL_MAXIMUM_TABLES_IN_SELECT => 106
|
||||
, SQL_MAXIMUM_TABLE_NAME_LENGTH => 35
|
||||
, SQL_MAXIMUM_USER_NAME_LENGTH => 107
|
||||
, SQL_NULL_COLLATION => 85
|
||||
, SQL_ORDER_BY_COLUMNS_IN_SELECT => 90
|
||||
, SQL_OUTER_JOIN_CAPABILITIES => 115
|
||||
, SQL_SCROLL_CONCURRENCY => 43
|
||||
, SQL_SEARCH_PATTERN_ESCAPE => 14
|
||||
, SQL_SERVER_NAME => 13
|
||||
, SQL_SPECIAL_CHARACTERS => 94
|
||||
, SQL_TRANSACTION_CAPABLE => 46
|
||||
, SQL_TRANSACTION_ISOLATION_OPTION => 72
|
||||
, SQL_USER_NAME => 47
|
||||
);
|
||||
|
||||
=head2 %ReturnTypes
|
||||
|
||||
See: Codes and data types for implementation information (Table 28), Page 85, 86.
|
||||
|
||||
Mapped to ODBC datatype names.
|
||||
|
||||
=cut
|
||||
|
||||
%ReturnTypes = # maxlen
|
||||
(
|
||||
SQL_ALTER_TABLE => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_CATALOG_NAME => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_COLLATING_SEQUENCE => 'SQLCHAR' # CHARACTER (254)
|
||||
, SQL_CURSOR_COMMIT_BEHAVIOR => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_CURSOR_SENSITIVITY => 'SQLUINTEGER' # INTEGER
|
||||
, SQL_DATA_SOURCE_NAME => 'SQLCHAR' # CHARACTER (128)
|
||||
, SQL_DATA_SOURCE_READ_ONLY => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_DBMS_NAME => 'SQLCHAR' # CHARACTER (254)
|
||||
, SQL_DBMS_VERSION => 'SQLCHAR' # CHARACTER (254)
|
||||
, SQL_DEFAULT_TRANSACTION_ISOLATION => 'SQLUINTEGER' # INTEGER
|
||||
, SQL_DESCRIBE_PARAMETER => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_FETCH_DIRECTION => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_GETDATA_EXTENSIONS => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_IDENTIFIER_CASE => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_INTEGRITY => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_MAXIMUM_CATALOG_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_COLUMNS_IN_SELECT => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_COLUMNS_IN_TABLE => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_COLUMN_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_CURSOR_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_DRIVER_CONNECTIONS => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_IDENTIFIER_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_STMT_OCTETS => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_STMT_OCTETS_DATA => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_STMT_OCTETS_SCHEMA => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_TABLES_IN_SELECT => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_TABLE_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_MAXIMUM_USER_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_NULL_COLLATION => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_ORDER_BY_COLUMNS_IN_SELECT => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_OUTER_JOIN_CAPABILITIES => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_SCROLL_CONCURRENCY => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_SEARCH_PATTERN_ESCAPE => 'SQLCHAR' # CHARACTER (1)
|
||||
, SQL_SERVER_NAME => 'SQLCHAR' # CHARACTER (128)
|
||||
, SQL_SPECIAL_CHARACTERS => 'SQLCHAR' # CHARACTER (254)
|
||||
, SQL_TRANSACTION_CAPABLE => 'SQLUSMALLINT' # SMALLINT
|
||||
, SQL_TRANSACTION_ISOLATION_OPTION => 'SQLUINTEGER bitmask' # INTEGER
|
||||
, SQL_USER_NAME => 'SQLCHAR' # CHARACTER (128)
|
||||
);
|
||||
|
||||
=head2 %ReturnValues
|
||||
|
||||
See: A.1 C header file SQLCLI.H, Page 317, 318.
|
||||
|
||||
=cut
|
||||
|
||||
$ReturnValues{SQL_ALTER_TABLE} =
|
||||
{
|
||||
SQL_AT_ADD_COLUMN => 0x00000001
|
||||
, SQL_AT_DROP_COLUMN => 0x00000002
|
||||
, SQL_AT_ALTER_COLUMN => 0x00000004
|
||||
, SQL_AT_ADD_CONSTRAINT => 0x00000008
|
||||
, SQL_AT_DROP_CONSTRAINT => 0x00000010
|
||||
};
|
||||
$ReturnValues{SQL_CURSOR_COMMIT_BEHAVIOR} =
|
||||
{
|
||||
SQL_CB_DELETE => 0
|
||||
, SQL_CB_CLOSE => 1
|
||||
, SQL_CB_PRESERVE => 2
|
||||
};
|
||||
$ReturnValues{SQL_FETCH_DIRECTION} =
|
||||
{
|
||||
SQL_FD_FETCH_NEXT => 0x00000001
|
||||
, SQL_FD_FETCH_FIRST => 0x00000002
|
||||
, SQL_FD_FETCH_LAST => 0x00000004
|
||||
, SQL_FD_FETCH_PRIOR => 0x00000008
|
||||
, SQL_FD_FETCH_ABSOLUTE => 0x00000010
|
||||
, SQL_FD_FETCH_RELATIVE => 0x00000020
|
||||
};
|
||||
$ReturnValues{SQL_GETDATA_EXTENSIONS} =
|
||||
{
|
||||
SQL_GD_ANY_COLUMN => 0x00000001
|
||||
, SQL_GD_ANY_ORDER => 0x00000002
|
||||
};
|
||||
$ReturnValues{SQL_IDENTIFIER_CASE} =
|
||||
{
|
||||
SQL_IC_UPPER => 1
|
||||
, SQL_IC_LOWER => 2
|
||||
, SQL_IC_SENSITIVE => 3
|
||||
, SQL_IC_MIXED => 4
|
||||
};
|
||||
$ReturnValues{SQL_NULL_COLLATION} =
|
||||
{
|
||||
SQL_NC_HIGH => 1
|
||||
, SQL_NC_LOW => 2
|
||||
};
|
||||
$ReturnValues{SQL_OUTER_JOIN_CAPABILITIES} =
|
||||
{
|
||||
SQL_OUTER_JOIN_LEFT => 0x00000001
|
||||
, SQL_OUTER_JOIN_RIGHT => 0x00000002
|
||||
, SQL_OUTER_JOIN_FULL => 0x00000004
|
||||
, SQL_OUTER_JOIN_NESTED => 0x00000008
|
||||
, SQL_OUTER_JOIN_NOT_ORDERED => 0x00000010
|
||||
, SQL_OUTER_JOIN_INNER => 0x00000020
|
||||
, SQL_OUTER_JOIN_ALL_COMPARISON_OPS => 0x00000040
|
||||
};
|
||||
$ReturnValues{SQL_SCROLL_CONCURRENCY} =
|
||||
{
|
||||
SQL_SCCO_READ_ONLY => 0x00000001
|
||||
, SQL_SCCO_LOCK => 0x00000002
|
||||
, SQL_SCCO_OPT_ROWVER => 0x00000004
|
||||
, SQL_SCCO_OPT_VALUES => 0x00000008
|
||||
};
|
||||
$ReturnValues{SQL_TRANSACTION_ACCESS_MODE} =
|
||||
{
|
||||
SQL_TRANSACTION_READ_ONLY => 0x00000001
|
||||
, SQL_TRANSACTION_READ_WRITE => 0x00000002
|
||||
};
|
||||
$ReturnValues{SQL_TRANSACTION_CAPABLE} =
|
||||
{
|
||||
SQL_TC_NONE => 0
|
||||
, SQL_TC_DML => 1
|
||||
, SQL_TC_ALL => 2
|
||||
, SQL_TC_DDL_COMMIT => 3
|
||||
, SQL_TC_DDL_IGNORE => 4
|
||||
};
|
||||
$ReturnValues{SQL_TRANSACTION_ISOLATION} =
|
||||
{
|
||||
SQL_TRANSACTION_READ_UNCOMMITTED => 0x00000001
|
||||
, SQL_TRANSACTION_READ_COMMITTED => 0x00000002
|
||||
, SQL_TRANSACTION_REPEATABLE_READ => 0x00000004
|
||||
, SQL_TRANSACTION_SERIALIZABLE => 0x00000008
|
||||
};
|
||||
|
||||
1;
|
||||
|
||||
=head1 TODO
|
||||
|
||||
Corrections, e.g.:
|
||||
|
||||
SQL_TRANSACTION_ISOLATION_OPTION vs. SQL_TRANSACTION_ISOLATION
|
||||
|
||||
=cut
|
||||
1363
database/perl/vendor/lib/DBI/Const/GetInfo/ODBC.pm
vendored
Normal file
1363
database/perl/vendor/lib/DBI/Const/GetInfo/ODBC.pm
vendored
Normal file
File diff suppressed because it is too large
Load Diff
104
database/perl/vendor/lib/DBI/Const/GetInfoReturn.pm
vendored
Normal file
104
database/perl/vendor/lib/DBI/Const/GetInfoReturn.pm
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
# $Id: GetInfoReturn.pm 8696 2007-01-24 23:12:38Z Tim $
|
||||
#
|
||||
# Copyright (c) 2002 Tim Bunce Ireland
|
||||
#
|
||||
# Constant data describing return values from the DBI getinfo function.
|
||||
#
|
||||
# You may distribute under the terms of either the GNU General Public
|
||||
# License or the Artistic License, as specified in the Perl README file.
|
||||
|
||||
package DBI::Const::GetInfoReturn;
|
||||
|
||||
use strict;
|
||||
|
||||
use Exporter ();
|
||||
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK %GetInfoReturnTypes %GetInfoReturnValues);
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(%GetInfoReturnTypes %GetInfoReturnValues);
|
||||
|
||||
my
|
||||
$VERSION = "2.008697";
|
||||
|
||||
=head1 NAME
|
||||
|
||||
DBI::Const::GetInfoReturn - Data and functions for describing GetInfo results
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
The interface to this module is undocumented and liable to change.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Data and functions for describing GetInfo results
|
||||
|
||||
=cut
|
||||
|
||||
use DBI::Const::GetInfoType;
|
||||
|
||||
use DBI::Const::GetInfo::ANSI ();
|
||||
use DBI::Const::GetInfo::ODBC ();
|
||||
|
||||
%GetInfoReturnTypes =
|
||||
(
|
||||
%DBI::Const::GetInfo::ANSI::ReturnTypes
|
||||
, %DBI::Const::GetInfo::ODBC::ReturnTypes
|
||||
);
|
||||
|
||||
%GetInfoReturnValues = ();
|
||||
{
|
||||
my $A = \%DBI::Const::GetInfo::ANSI::ReturnValues;
|
||||
my $O = \%DBI::Const::GetInfo::ODBC::ReturnValues;
|
||||
while ( my ($k, $v) = each %$A ) {
|
||||
my %h = ( exists $O->{$k} ) ? ( %$v, %{$O->{$k}} ) : %$v;
|
||||
$GetInfoReturnValues{$k} = \%h;
|
||||
}
|
||||
while ( my ($k, $v) = each %$O ) {
|
||||
next if exists $A->{$k};
|
||||
my %h = %$v;
|
||||
$GetInfoReturnValues{$k} = \%h;
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
sub Format {
|
||||
my $InfoType = shift;
|
||||
my $Value = shift;
|
||||
|
||||
return '' unless defined $Value;
|
||||
|
||||
my $ReturnType = $GetInfoReturnTypes{$InfoType};
|
||||
|
||||
return sprintf '0x%08X', $Value if $ReturnType eq 'SQLUINTEGER bitmask';
|
||||
return sprintf '0x%08X', $Value if $ReturnType eq 'SQLINTEGER bitmask';
|
||||
# return '"' . $Value . '"' if $ReturnType eq 'SQLCHAR';
|
||||
return $Value;
|
||||
}
|
||||
|
||||
|
||||
sub Explain {
|
||||
my $InfoType = shift;
|
||||
my $Value = shift;
|
||||
|
||||
return '' unless defined $Value;
|
||||
return '' unless exists $GetInfoReturnValues{$InfoType};
|
||||
|
||||
$Value = int $Value;
|
||||
my $ReturnType = $GetInfoReturnTypes{$InfoType};
|
||||
my %h = reverse %{$GetInfoReturnValues{$InfoType}};
|
||||
|
||||
if ( $ReturnType eq 'SQLUINTEGER bitmask'|| $ReturnType eq 'SQLINTEGER bitmask') {
|
||||
my @a = ();
|
||||
for my $k ( sort { $a <=> $b } keys %h ) {
|
||||
push @a, $h{$k} if $Value & $k;
|
||||
}
|
||||
return wantarray ? @a : join(' ', @a );
|
||||
}
|
||||
else {
|
||||
return $h{$Value} ||'?';
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
53
database/perl/vendor/lib/DBI/Const/GetInfoType.pm
vendored
Normal file
53
database/perl/vendor/lib/DBI/Const/GetInfoType.pm
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
# $Id: GetInfoType.pm 8696 2007-01-24 23:12:38Z Tim $
|
||||
#
|
||||
# Copyright (c) 2002 Tim Bunce Ireland
|
||||
#
|
||||
# Constant data describing info type codes for the DBI getinfo function.
|
||||
#
|
||||
# You may distribute under the terms of either the GNU General Public
|
||||
# License or the Artistic License, as specified in the Perl README file.
|
||||
|
||||
package DBI::Const::GetInfoType;
|
||||
|
||||
use strict;
|
||||
|
||||
use Exporter ();
|
||||
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK %GetInfoType);
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(%GetInfoType);
|
||||
|
||||
my
|
||||
$VERSION = "2.008697";
|
||||
|
||||
=head1 NAME
|
||||
|
||||
DBI::Const::GetInfoType - Data describing GetInfo type codes
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use DBI::Const::GetInfoType;
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Imports a %GetInfoType hash which maps names for GetInfo Type Codes
|
||||
into their corresponding numeric values. For example:
|
||||
|
||||
$database_version = $dbh->get_info( $GetInfoType{SQL_DBMS_VER} );
|
||||
|
||||
The interface to this module is new and nothing beyond what is
|
||||
written here is guaranteed.
|
||||
|
||||
=cut
|
||||
|
||||
use DBI::Const::GetInfo::ANSI (); # liable to change
|
||||
use DBI::Const::GetInfo::ODBC (); # liable to change
|
||||
|
||||
%GetInfoType =
|
||||
(
|
||||
%DBI::Const::GetInfo::ANSI::InfoTypes # liable to change
|
||||
, %DBI::Const::GetInfo::ODBC::InfoTypes # liable to change
|
||||
);
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user