DBIx-Custom / t / common-sqlserver.t /
Newer Older
428 lines | 12.484kb
added SQL Server test
Yuki Kimoto authored on 2011-08-14
1
use strict;
2
use warnings;
3

            
4
use FindBin;
test cleanup
Yuki Kimoto authored on 2011-08-15
5
use lib "$FindBin::Bin/common";
added SQL Server test
Yuki Kimoto authored on 2011-08-14
6
$ENV{DBIX_CUSTOM_TEST_RUN} = 1
prepare oracle test
Yuki Kimoto authored on 2011-08-15
7
  if -f "$FindBin::Bin/run/common-sqlserver.run";
8
$ENV{DBIX_CUSTOM_SKIP_MESSAGE} = 'sqlserver private test';
added SQL Server test
Yuki Kimoto authored on 2011-08-14
9

            
10
use DBIx::Custom;
11
{
cleanup
Yuki Kimoto authored on 2012-01-20
12
  package DBIx::Custom;
13
  no warnings 'redefine';
added SQL Server test
Yuki Kimoto authored on 2011-08-14
14

            
cleanup
Yuki Kimoto authored on 2012-01-20
15
  my $table1 = 'table1';
16
  my $table2 = 'table2';
17
  my $table2_alias = 'table2_alias';
18
  my $table3 = 'table3';
19
  my $key1 = 'key1';
20
  my $key2 = 'key2';
21
  my $key3 = 'key3';
22
  my $key4 = 'key4';
23
  my $key5 = 'key5';
24
  my $key6 = 'key6';
25
  my $key7 = 'key7';
26
  my $key8 = 'key8';
27
  my $key9 = 'key9';
28
  my $key10 = 'key10';
29
  
30
  has table1 => $table1;
31
  has table2 => $table2;
32
  has table2_alias => $table2_alias;
33
  has table3 => $table3;
34
  has key1 => $key1;
35
  has key2 => $key2;
36
  has key3 => $key3;
37
  has key4 => $key4;
38
  has key5 => $key5;
39
  has key6 => $key6;
40
  has key7 => $key7;
41
  has key8 => $key8;
42
  has key9 => $key9;
43
  has key10 => $key10;
finished sqlserver test clea...
Yuki Kimoto authored on 2011-08-15
44

            
cleanup
Yuki Kimoto authored on 2012-01-20
45
  my $date_typename = 'date';
46
  my $datetime_typename = 'datetime';
added SQL Server test
Yuki Kimoto authored on 2011-08-14
47

            
cleanup
Yuki Kimoto authored on 2012-01-20
48
  sub date_typename { lc $date_typename }
49
  sub datetime_typename { lc $datetime_typename }
added SQL Server test
Yuki Kimoto authored on 2011-08-14
50

            
cleanup
Yuki Kimoto authored on 2012-01-20
51
  my $date_datatype = -9;
52
  my $datetime_datatype = 93;
added SQL Server test
Yuki Kimoto authored on 2011-08-14
53

            
cleanup
Yuki Kimoto authored on 2012-01-20
54
  sub date_datatype { lc $date_datatype }
55
  sub datetime_datatype { lc $datetime_datatype }
fixed SQL Server tests
Yuki Kimoto authored on 2011-08-14
56

            
cleanup
Yuki Kimoto authored on 2012-01-20
57
  has exclude_table => sub {
58
      return qr/^(
59
        CHECK_CONSTRAINTS
60
        |COLUMN_DOMAIN_USAGE
61
        |COLUMN_PRIVILEGES
62
        |COLUMNS
63
        |CONSTRAINT_COLUMN_USAGE
64
        |CONSTRAINT_TABLE_USAGE
65
        |DOMAIN_CONSTRAINTS
66
        |DOMAINS
67
        |KEY_COLUMN_USAGE
68
        |PARAMETERS
69
        |REFERENTIAL_CONSTRAINTS
70
        |ROUTINE_COLUMNS
71
        |ROUTINES
72
        |SCHEMATA
73
        |TABLE_CONSTRAINTS
74
        |TABLE_PRIVILEGES
75
        |TABLES
76
        |VIEW_COLUMN_USAGE
77
        |VIEW_TABLE_USAGE
78
        |VIEWS
79
        |all_columns
80
        |all_objects
81
        |all_parameters
82
        |all_sql_modules
83
        |all_views
84
        |allocation_units
85
        |assemblies
86
        |assembly_files
87
        |assembly_modules
88
        |assembly_references
89
        |assembly_types
90
        |asymmetric_keys
91
        |backup_devices
92
        |certificates
93
        |change_tracking_databases
94
        |change_tracking_tables
95
        |check_constraints
96
        |column_type_usages
97
        |column_xml_schema_collection_usages
98
        |columns
99
        |computed_columns
100
        |configurations
101
        |conversation_endpoints
102
        |conversation_groups
103
        |conversation_priorities
104
        |credentials
105
        |crypt_properties
106
        |cryptographic_providers
107
        |data_spaces
108
        |database_audit_specification_details
109
        |database_audit_specifications
110
        |database_files
111
        |database_mirroring
112
        |database_mirroring_endpoints
113
        |database_permissions
114
        |database_principal_aliases
115
        |database_principals
116
        |database_recovery_status
117
        |database_role_members
118
        |databases
119
        |default_constraints
120
        |destination_data_spaces
121
        |dm_audit_actions
122
        |dm_audit_class_type_map
123
        |dm_broker_activated_tasks
124
        |dm_broker_connections
125
        |dm_broker_forwarded_messages
126
        |dm_broker_queue_monitors
127
        |dm_cdc_errors
128
        |dm_cdc_log_scan_sessions
129
        |dm_clr_appdomains
130
        |dm_clr_loaded_assemblies
131
        |dm_clr_properties
132
        |dm_clr_tasks
133
        |dm_cryptographic_provider_properties
134
        |dm_database_encryption_keys
135
        |dm_db_file_space_usage
136
        |dm_db_index_usage_stats
137
        |dm_db_mirroring_auto_page_repair
138
        |dm_db_mirroring_connections
139
        |dm_db_mirroring_past_actions
140
        |dm_db_missing_index_details
141
        |dm_db_missing_index_group_stats
142
        |dm_db_missing_index_groups
143
        |dm_db_partition_stats
144
        |dm_db_persisted_sku_features
145
        |dm_db_script_level
146
        |dm_db_session_space_usage
147
        |dm_db_task_space_usage
148
        |dm_exec_background_job_queue
149
        |dm_exec_background_job_queue_stats
150
        |dm_exec_cached_plans
151
        |dm_exec_connections
152
        |dm_exec_procedure_stats
153
        |dm_exec_query_memory_grants
154
        |dm_exec_query_optimizer_info
155
        |dm_exec_query_resource_semaphores
156
        |dm_exec_query_stats
157
        |dm_exec_query_transformation_stats
158
        |dm_exec_requests
159
        |dm_exec_sessions
160
        |dm_exec_trigger_stats
161
        |dm_filestream_file_io_handles
162
        |dm_filestream_file_io_requests
163
        |dm_fts_active_catalogs
164
        |dm_fts_fdhosts
165
        |dm_fts_index_population
166
        |dm_fts_memory_buffers
167
        |dm_fts_memory_pools
168
        |dm_fts_outstanding_batches
169
        |dm_fts_population_ranges
170
        |dm_io_backup_tapes
171
        |dm_io_cluster_shared_drives
172
        |dm_io_pending_io_requests
173
        |dm_os_buffer_descriptors
174
        |dm_os_child_instances
175
        |dm_os_cluster_nodes
176
        |dm_os_dispatcher_pools
177
        |dm_os_dispatchers
178
        |dm_os_hosts
179
        |dm_os_latch_stats
180
        |dm_os_loaded_modules
181
        |dm_os_memory_allocations
182
        |dm_os_memory_brokers
183
        |dm_os_memory_cache_clock_hands
184
        |dm_os_memory_cache_counters
185
        |dm_os_memory_cache_entries
186
        |dm_os_memory_cache_hash_tables
187
        |dm_os_memory_clerks
188
        |dm_os_memory_node_access_stats
189
        |dm_os_memory_nodes
190
        |dm_os_memory_objects
191
        |dm_os_memory_pools
192
        |dm_os_nodes
193
        |dm_os_performance_counters
194
        |dm_os_process_memory
195
        |dm_os_ring_buffers
196
        |dm_os_schedulers
197
        |dm_os_spinlock_stats
198
        |dm_os_stacks
199
        |dm_os_sublatches
200
        |dm_os_sys_info
201
        |dm_os_sys_memory
202
        |dm_os_tasks
203
        |dm_os_threads
204
        |dm_os_virtual_address_dump
205
        |dm_os_wait_stats
206
        |dm_os_waiting_tasks
207
        |dm_os_worker_local_storage
208
        |dm_os_workers
209
        |dm_qn_subscriptions
210
        |dm_repl_articles
211
        |dm_repl_schemas
212
        |dm_repl_tranhash
213
        |dm_repl_traninfo
214
        |dm_resource_governor_configuration
215
        |dm_resource_governor_resource_pools
216
        |dm_resource_governor_workload_groups
217
        |dm_server_audit_status
218
        |dm_tran_active_snapshot_database_transactions
219
        |dm_tran_active_transactions
220
        |dm_tran_commit_table
221
        |dm_tran_current_snapshot
222
        |dm_tran_current_transaction
223
        |dm_tran_database_transactions
224
        |dm_tran_locks
225
        |dm_tran_session_transactions
226
        |dm_tran_top_version_generators
227
        |dm_tran_transactions_snapshot
228
        |dm_tran_version_store
229
        |dm_xe_map_values
230
        |dm_xe_object_columns
231
        |dm_xe_objects
232
        |dm_xe_packages
233
        |dm_xe_session_event_actions
234
        |dm_xe_session_events
235
        |dm_xe_session_object_columns
236
        |dm_xe_session_targets
237
        |dm_xe_sessions
238
        |endpoint_webmethods
239
        |endpoints
240
        |event_notification_event_types
241
        |event_notifications
242
        |events
243
        |extended_procedures
244
        |extended_properties
245
        |filegroups
246
        |foreign_key_columns
247
        |foreign_keys
248
        |fulltext_catalogs
249
        |fulltext_document_types
250
        |fulltext_index_catalog_usages
251
        |fulltext_index_columns
252
        |fulltext_index_fragments
253
        |fulltext_indexes
254
        |fulltext_languages
255
        |fulltext_stoplists
256
        |fulltext_stopwords
257
        |fulltext_system_stopwords
258
        |function_order_columns
259
        |http_endpoints
260
        |identity_columns
261
        |index_columns
262
        |indexes
263
        |internal_tables
264
        |key_constraints
265
        |key_encryptions
266
        |linked_logins
267
        |login_token
268
        |master_files
269
        |master_key_passwords
270
        |message_type_xml_schema_collection_usages
271
        |messages
272
        |module_assembly_usages
273
        |numbered_procedure_parameters
274
        |numbered_procedures
275
        |objects
276
        |openkeys
277
        |parameter_type_usages
278
        |parameter_xml_schema_collection_usages
279
        |parameters
280
        |partition_functions
281
        |partition_parameters
282
        |partition_range_values
283
        |partition_schemes
284
        |partitions
285
        |plan_guides
286
        |procedures
287
        |remote_logins
288
        |remote_service_bindings
289
        |resource_governor_configuration
290
        |resource_governor_resource_pools
291
        |resource_governor_workload_groups
292
        |routes
293
        |schemas
294
        |securable_classes
295
        |server_assembly_modules
296
        |server_audit_specification_details
297
        |server_audit_specifications
298
        |server_audits
299
        |server_event_notifications
300
        |server_event_session_actions
301
        |server_event_session_events
302
        |server_event_session_fields
303
        |server_event_session_targets
304
        |server_event_sessions
305
        |server_events
306
        |server_file_audits
307
        |server_permissions
308
        |server_principal_credentials
309
        |server_principals
310
        |server_role_members
311
        |server_sql_modules
312
        |server_trigger_events
313
        |server_triggers
314
        |servers
315
        |service_broker_endpoints
316
        |service_contract_message_usages
317
        |service_contract_usages
318
        |service_contracts
319
        |service_message_types
320
        |service_queue_usages
321
        |service_queues
322
        |services
323
        |soap_endpoints
324
        |spatial_index_tessellations
325
        |spatial_indexes
326
        |spatial_reference_systems
327
        |sql_dependencies
328
        |sql_logins
329
        |sql_modules
330
        |stats
331
        |stats_columns
332
        |symmetric_keys
333
        |synonyms
334
        |syscacheobjects
335
        |syscharsets
336
        |syscolumns
337
        |syscomments
338
        |sysconfigures
339
        |sysconstraints
340
        |syscurconfigs
341
        |syscursorcolumns
342
        |syscursorrefs
343
        |syscursors
344
        |syscursortables
345
        |sysdatabases
346
        |sysdepends
347
        |sysdevices
348
        |sysfilegroups
349
        |sysfiles
350
        |sysforeignkeys
351
        |sysfulltextcatalogs
352
        |sysindexes
353
        |sysindexkeys
354
        |syslanguages
355
        |syslockinfo
356
        |syslogins
357
        |sysmembers
358
        |sysmessages
359
        |sysobjects
360
        |sysoledbusers
361
        |sysopentapes
362
        |sysperfinfo
363
        |syspermissions
364
        |sysprocesses
365
        |sysprotects
366
        |sysreferences
367
        |sysremotelogins
368
        |sysservers
369
        |system_columns
370
        |system_components_surface_area_configuration
371
        |system_objects
372
        |system_parameters
373
        |system_sql_modules
374
        |system_views
375
        |systypes
376
        |sysusers
377
        |table_types
378
        |tables
379
        |tcp_endpoints
380
        |trace_categories
381
        |trace_columns
382
        |trace_event_bindings
383
        |trace_events
384
        |trace_subclass_values
385
        |traces
386
        |transmission_queue
387
        |trigger_event_types
388
        |trigger_events
389
        |triggers
390
        |type_assembly_usages
391
        |types
392
        |user_token
393
        |via_endpoints
394
        |views
395
        |xml_indexes
396
        |xml_schema_attributes
397
        |xml_schema_collections
398
        |xml_schema_component_placements
399
        |xml_schema_components
400
        |xml_schema_elements
401
        |xml_schema_facets
402
        |xml_schema_model_groups
403
        |xml_schema_namespaces
404
        |xml_schema_types
405
        |xml_schema_wildcard_namespaces
406
        |xml_schema_wildcards
407
      )/x
408
  };
fixex [] reserved_word_quote...
Yuki Kimoto authored on 2011-08-14
409

            
cleanup
Yuki Kimoto authored on 2012-01-20
410
  my $dsn = "dbi:ODBC:driver={SQL Server};Server={localhost\\SQLEXPRESS};"
411
    . "Trusted_Connection=No;AutoTranslate=No;Database=dbix_custom;";
412
  has dsn => $dsn;
413
  has user  => 'dbix_custom';
414
  has password => 'dbix_custom';
415
  
416
  sub create_table1 { "create table $table1 ($key1 varchar(255), $key2 varchar(255))" }
417
  sub create_table1_2 {"create table $table1 ($key1 varchar(255), $key2 varchar(255), "
418
   . "$key3 varchar(255), $key4 varchar(255), $key5 varchar(255))" }
419
  sub create_table1_type { "create table $table1 ($key1 $date_typename, $key2 $datetime_typename)" }
420
  sub create_table1_highperformance { "create table $table1 ($key1 varchar(255), $key2 varchar(255), "
421
    . "$key3 varchar(255), $key4 varchar(255), $key5 varchar(255), $key6 varchar(255), $key7 varchar(255))" }
422
  sub create_table2 { "create table $table2 ($key1 varchar(255), $key3 varchar(255))" }
423
  sub create_table2_2 { "create table $table2 ($key1 varchar(255), $key2 varchar(255), $key3 varchar(255))" }
424
  sub create_table3 { "create table $table3 ($key1 varchar(255), $key2 varchar(255), $key3 varchar(255))" }
425
  sub create_table_reserved { 'create table "table" ("select" varchar(255), "update" varchar(255))' }
added SQL Server test
Yuki Kimoto authored on 2011-08-14
426
}
427

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