DBIx-Custom / t / common-oracle.t /
Newer Older
76 lines | 2.62kb
prepare oracle test
Yuki Kimoto authored on 2011-08-15
1
use strict;
2
use warnings;
3

            
4
use FindBin;
5
$ENV{DBIX_CUSTOM_TEST_RUN} = 1
6
  if -f "$FindBin::Bin/run/common-oracle.run";
7
$ENV{DBIX_CUSTOM_SKIP_MESSAGE} = 'oracle private test';
8

            
9
use DBIx::Custom;
10
{
11
    package DBIx::Custom;
12
    no warnings 'redefine';
13

            
14
    my $date_typename = 'CHAR(10)';
15
    my $datetime_typename = 'DATE';
16

            
17
    sub date_typename { lc 'CHAR' }
18
    sub datetime_typename { lc $datetime_typename }
19

            
20
    my $date_datatype = 91;
21
    my $datetime_datatype = 11;
22

            
23
    sub date_datatype { lc $date_datatype }
24
    sub datetime_datatype { lc $datetime_datatype }
25
    
26
    has datetime_suffix => '';
27

            
28
    has dsn => 'dbi:Oracle:host=localhost;port=1521;sid=XE';
29
    has user  => 'dbix_custom';
30
    has password => 'dbix_custom';
31
    has exclude_table => sub {
32

            
33
        return qr/^(
34
            pg_|column_|role_|view_|sql_
35
            |applicable_roles
36
            |check_constraints
37
            |columns
38
            |constraint_column_usage
39
            |constraint_table_usage
40
            |data_type_privileges
41
            |domain_constraints
42
            |domain_udt_usage
43
            |domains
44
            |element_types
45
            |enabled_roles
46
            |information_schema
47
            |information_schema_catalog_name
48
            |key_column_usage
49
            |parameters
50
            |referential_constraints
51
            |routine_privileges
52
            |routines
53
            |schemata
54
            |table_constraints
55
            |table_privileges
56
            |tables
57
            |triggered_update_columns
58
            |triggers
59
            |usage_privileges
60
            |views
61
        )/x
62
    };
63
    
64
    sub create_table1 { 'create table table1 (key1 varchar2(255), key2 varchar2(255));' }
65
    sub create_table1_2 {'create table table1 (key1 varchar2(255), key2 varchar2(255), '
66
     . 'key3 varchar2(255), key4 varchar2(255), key5 varchar2(255));' }
67
    sub create_table1_type { "create table table1 (key1 $date_typename, key2 $datetime_typename);" }
68
    sub create_table1_highperformance { "create table table1 (ab varchar2(255), bc varchar2(255), "
69
      . "ik varchar2(255), hi varchar2(255), ui varchar2(255), pq varchar2(255), dc varchar2(255));" }
70
    sub create_table2 { 'create table table2 (key1 varchar2(255), key3 varchar2(255));' }
71
    sub create_table2_2 { "create table table2 (key1 varchar2(255), key2 varchar2(255), key3 varchar2(255))" }
72
    sub create_table3 { "create table table3 (key1 varchar2(255), key2 varchar2(255), key3 varchar2(255))" }
73
    sub create_table_reserved { 'create table "table" ("select" varchar2(255), "update" varchar2(255))' }
74
}
75

            
76
require "$FindBin::Bin/common.t";