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 +4 -4
- metadata +2 -7
- data/lib/constants.rb +0 -39
- data/lib/database.rb +0 -36
- data/lib/deereDB2cleaner.rb +0 -20
- data/lib/global.rb +0 -21
- data/lib/node.rb +0 -66
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e0b5348d6d42850157919683e689842cc1c3a85
|
4
|
+
data.tar.gz: f732075ce25e24cd92b134660658ac9f3e2380eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
data/lib/constants.rb
DELETED
@@ -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
|
data/lib/database.rb
DELETED
@@ -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
|
data/lib/deereDB2cleaner.rb
DELETED
@@ -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
|
data/lib/global.rb
DELETED
@@ -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
|
data/lib/node.rb
DELETED
@@ -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
|