deereDB2cleaner 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee2f422950f795768ae452db3255c1f1c92cb081
4
- data.tar.gz: d2350e271f588968232bb36851b4a4ebd1aee0a4
3
+ metadata.gz: 3e0b5348d6d42850157919683e689842cc1c3a85
4
+ data.tar.gz: f732075ce25e24cd92b134660658ac9f3e2380eb
5
5
  SHA512:
6
- metadata.gz: 07d073ec1549d21b359b20dfb14af4557fe8cbe614f60528835bbe73cd36f990c03ad767c51c8babf57f38ceb54cffa65a6a533a3f166a129484737d4ae88715
7
- data.tar.gz: 71c8836df1822dad5836fd1cbaae6d62af0f1efd371e8bfb7b05c89dfc2d9d5ef53afd2e6dc1a465fde0bd270ff4db84ec662e54d36a51243c5471294e8ab5d7
6
+ metadata.gz: ea2afcfeab951298a0ebba36e3709d70c8d0403e8fba368b1e71bb43a562ffd1fd8cd9b4a818612cb134256341531ad1c8354c9579d2fdc4986b84de37539c83
7
+ data.tar.gz: 6322827589069e632157830096fa10db2ebf131d620b3afbaad19276badc9c54cbe2385ebf5b4d94b5013b05e8e0ad344dbf138c59f989f98b542c6ce6eac132
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deereDB2cleaner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - david hunt
@@ -15,12 +15,7 @@ email: n/a
15
15
  executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
- files:
19
- - lib/constants.rb
20
- - lib/database.rb
21
- - lib/deereDB2cleaner.rb
22
- - lib/global.rb
23
- - lib/node.rb
18
+ files: []
24
19
  homepage: http://rubygems.org/gems/deereDB2cleaner
25
20
  licenses:
26
21
  - MIT
@@ -1,39 +0,0 @@
1
- module Constants
2
-
3
- USER = 'ap90405'
4
- PASSWORD = 'jdlink05'
5
- URL = 'jdbc:db2://db236d.dx.deere.com:5148/DB236'
6
- GLOBAL_SCHEMA = 'U90EDMT'
7
-
8
- NODE_SCHEMAS = "select distinct creator as SCHEMA from sysibm.systables where (owner LIKE 'J900%')
9
- AND owner NOT LIKE 'J90006T' AND TYPE = 'T' AND COLCOUNT > 1"
10
-
11
- NODE_FIELDS = "select distinct TBCREATOR, name,tbname from sysibm.syscolumns where TBCREATOR LIKE 'J900%'
12
- and TBCREATOR NOT LIKE 'J90006T' AND COLNO > 1 and (name = 'MACH_ID' or name = 'DVC_ID')"
13
-
14
- NODE_QUERIES = [
15
- 'delete FROM {S}.fts_chunk WHERE fts_tm_id IN (SELECT fts_tm_id FROM {S}.FTS_TM where DVC_ID > {X})',
16
- 'delete from {S}.MSRMT_DATA_VAL where mach_trace_id in (select mach_trace_id FROM {S}.MACH_TRACE_LOG where MACH_ID > {X})',
17
- 'delete FROM {S}.EQIP_CELL_MODEM_STAT WHERE EQIP_CALL_IN_INFO_ID IN (SELECT EQIP_CALL_IN_INFO_ID FROM {S}.EQIP_CALL_IN_INFO where MACH_ID > {X})',
18
- 'delete FROM {S}.EQIP_ENGN_PWR_STAT WHERE EQIP_CALL_IN_INFO_ID IN (SELECT EQIP_CALL_IN_INFO_ID FROM {S}.EQIP_CALL_IN_INFO where MACH_ID > {X})'
19
- ]
20
-
21
- GLOBAL_QUERIES = [
22
- 'DELETE FROM {S}.CS_DVC_INFO WHERE DVC_ID > {X}',
23
- 'DELETE FROM {S}.TRM_VER_HIST WHERE DVC_ID > {X}',
24
- 'DELETE FROM {S}.HDWR_PKG_GTWY_XREF WHERE HDWR_PKG_ID > {X}',
25
- 'DELETE from {S}.COMM_ST WHERE comm_gtwy_id > {X}',
26
- 'DELETE FROM {S}.COMM_STAT_HIST WHERE DVC_ID > {X}',
27
- 'DELETE FROM {S}.COMM_GTWY WHERE COMM_GTWY_ID > {X}',
28
- 'DELETE FROM {S}.MACH_CO_SHARING WHERE RLTN_ID > {X}',
29
- 'DELETE FROM {S}.MACH_CO WHERE MACH_ID > {X}',
30
- 'DELETE FROM {S}.MACH_HDWR_PKG WHERE MACH_ID > {X}',
31
- 'DELETE FROM {S}.MACH_INFO WHERE MACH_ID > {X}',
32
- 'DELETE FROM {S}.HDWR_PKG_CO_XREF WHERE HDWR_PKG_ID > {X}',
33
- 'DELETE FROM {S}.HDWR_PKG_DVC_XREF WHERE DVC_ID > {X}',
34
- 'DELETE FROM {S}.HDWR_PKG WHERE ID > {X}',
35
- 'DELETE FROM {S}.TRM_SECURE_INFO WHERE DVC_ID > {X}',
36
- 'DELETE FROM {S}.TRM_INFO WHERE DVC_ID > {X}'
37
- ]
38
-
39
- end
@@ -1,36 +0,0 @@
1
- require 'constants'
2
-
3
- class Database
4
- extend Constants
5
-
6
- attr_accessor :connection
7
-
8
- def create_connection
9
- begin
10
- java.lang.Class.forName('com.ibm.db2.jcc.DB2Driver', true, java.lang.Thread.currentThread.getContextClassLoader)
11
- @connection = java.sql.DriverManager.getConnection(Constants::URL, Constants::USER, Constants::PASSWORD);
12
- rescue Exception => e
13
- puts "connection could not be made: #{e}"
14
- end
15
- end
16
-
17
- def clean_query(query, schema, num_to_clean)
18
- query = query.gsub('{X}', num_to_clean.to_s)
19
- query = query.gsub('{S}', schema)
20
- return query
21
- end
22
-
23
- def execute(query)
24
- begin
25
- statement = @connection.create_statement
26
- statement.execute(query)
27
- rescue Exception => e
28
- puts "#{query}: #{e}"
29
- ensure
30
- if statement
31
- statement.close
32
- end
33
- end
34
- end
35
-
36
- end
@@ -1,20 +0,0 @@
1
- require 'constants'
2
- require 'node'
3
- require 'global'
4
-
5
- class DeereDB2cleaner
6
- extend Constants
7
-
8
- attr_accessor :node, :global, :connection
9
-
10
- def initialize(num_to_clean)
11
- @node = Node.new(num_to_clean)
12
- @global = Global.new(num_to_clean)
13
- end
14
-
15
- def clean
16
- @node.clean
17
- @global.clean
18
- end
19
-
20
- end
@@ -1,21 +0,0 @@
1
- require 'constants'
2
- require 'database'
3
-
4
- class Global < Database
5
- extend Constants
6
-
7
- attr_accessor :connection, :num_to_clean
8
-
9
- def initialize(num_to_clean)
10
- @num_to_clean = num_to_clean
11
- @connection = create_connection
12
- end
13
-
14
- def clean
15
- Constants::GLOBAL_QUERIES.each { |query|
16
- query = clean_query(query, Constants::GLOBAL_SCHEMA, @num_to_clean)
17
- execute(query)
18
- }
19
- end
20
-
21
- end
@@ -1,66 +0,0 @@
1
- require 'constants'
2
- require 'database'
3
-
4
- class Node < Database
5
- extend Constants
6
-
7
- attr_accessor :connection, :num_to_clean
8
-
9
- def initialize(num_to_clean)
10
- @num_to_clean = num_to_clean
11
- @connection = create_connection
12
- end
13
-
14
- def clean
15
- node_schemas.each { |schema| clean_node_queries(schema)}
16
- clean_all_tables
17
- end
18
-
19
- private
20
-
21
- def node_schemas
22
- schemas = []
23
- begin
24
- statement = @connection.create_statement
25
- rs = statement.execute_query(Constants::NODE_SCHEMAS)
26
- schemas << rs.getString('SCHEMA') while rs.next()
27
- return schemas
28
- rescue
29
- puts 'error executing query'
30
- ensure
31
- if rs
32
- rs.close
33
- end
34
- end
35
- end
36
-
37
- def clean_node_queries(schema)
38
- Constants::NODE_QUERIES.each {|query|
39
- query = clean_query(query, schema, @num_to_clean)
40
- execute(query)
41
- }
42
- end
43
-
44
- def clean_all_tables
45
- begin
46
- statement = @connection.create_statement
47
- rs = statement.execute_query(Constants::NODE_FIELDS)
48
- clean_table(rs.getString('tbcreator'), rs.getString('tbname'), rs.getString('name')) while rs.next()
49
- rescue
50
- puts 'error collecting node tables'
51
- ensure
52
- if rs
53
- rs.close
54
- end
55
- if statement
56
- statement.close
57
- end
58
- end
59
- end
60
-
61
- def clean_table(schema, table, column)
62
- execute("DELETE FROM #{schema}.#{table} where #{column} > #{@num_to_clean}")
63
- end
64
-
65
-
66
- end