HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
upgrade-helper Namespace Reference

Functions

def getCmdParams ()
 #

Sample of execution:

.

More...
 
def getDBTasksWrapper (configName)
 
def getTableNamesList (response, oldTableNamePart, newTableNamePart)
 
def extractRequest (fileName)
 
def makeSql (rawRequest, tableName, tableNamePart)
 

Variables

string APP_NAME = 'upgrade-helper'
 
 exit_code = APP_CONSTS.EXIT_SUCCESS
 
 dbName
 
 partTableName
 
 tdbName
 
 fileName
 
 configName
 
def wrapper = getDBTasksWrapper(configName)
 
string sql = 'SHOW TABLES;'
 
def response = wrapper.customRequest(sql, dbName)
 
 rawRequest
 
 tableNamePart
 
def tableNames = getTableNamesList(response, partTableName, tableNamePart)
 

Function Documentation

◆ extractRequest()

def upgrade-helper.extractRequest (   fileName)

Definition at line 114 of file upgrade-helper.py.

114 def extractRequest(fileName):
115  rawRequest = ''
116  tableNamePart = ''
117 
118  f = open(fileName, 'r')
119  rawRequest = f.read()
120  f.close()
121 
122  words = rawRequest.split()
123  for word in words:
124  if word.count('%') > 1:
125  tableNamePart = word[:word.find('%')]
126  break
127 
128  for elem in tableNamePart:
129  if isalpha(elem):
130  tableNamePart = tableNamePart[tableNamePart.find(elem):]
131  break
132 
133  return rawRequest, tableNamePart
134 
135 
136 # #Make SQL request
137 #
138 # @param rawRequest - raw request
139 # @param tableName - table name
140 # @param tableNamePart - part of table name
141 # @return SQL request
def extractRequest(fileName)

◆ getCmdParams()

def upgrade-helper.getCmdParams ( )

#

Sample of execution:

.

/upgrade-helper.py -d=dc_attributes -p=att_ -t=dc_attributes -f=/home/hce/update_data.sql -c=../ini/db-task.ini #

For sample update_data.sql content string:

alter table att_SITE_ID% MODIFY column Value longblob NOT NULL;

#

Definition at line 50 of file upgrade-helper.py.

50 def getCmdParams():
51  app = foundation.CementApp(APP_NAME)
52  app.setup()
53  app.add_arg('-d', '--db', action='store', metavar='use_database_name_for_show_tables', help='use database name for getting site_id')
54  app.add_arg('-p', '--ptn', action='store', metavar='part_table_name', help='part of table_name')
55  app.add_arg('-t', '--tdb', action='store', metavar='use_database_name_for_execution', help='use database name for execution')
56  app.add_arg('-f', '--file', action='store', metavar='input_file_name', help='input file name with sql request')
57  app.add_arg('-c', '--config', action='store', metavar='config_file_name', help='config ini-file', required=True)
58  app.run()
59 
60  dbName = app.pargs.db
61  partTableName = app.pargs.ptn
62  tdbName = app.pargs.tdb
63  fileName = app.pargs.file
64  configName = app.pargs.config
65 
66  return dbName, partTableName, tdbName, fileName, configName
67 
68 
69 # # Get db task wrapper
70 #
71 # @param configName - config file name
72 # @return wrapper instance
def getCmdParams()
# Sample of execution:.

◆ getDBTasksWrapper()

def upgrade-helper.getDBTasksWrapper (   configName)

Definition at line 73 of file upgrade-helper.py.

73 def getDBTasksWrapper(configName):
74  # variable for result value
75  wrapper = None
76  try:
77  config = ConfigParser.ConfigParser()
78  config.optionxform = str
79 
80  readOk = config.read(configName)
81  if len(readOk) == 0:
82  raise Exception("Wrong config file name '" + str(configName) + "'")
83 
84  wrapper = DBTasksWrapper(config)
85  except Exception, err:
86  raise Exception('Get DBTaskWrapper: ' + str(err))
87 
88  return wrapper
89 
90 
91 # #Get table name list
92 #
93 # @param response - response after sql request
94 # @param oldTableNamePart - mandatory part of old table names
95 # @param newTableNamePart - mandatory part of new table names
96 # @return list of names
def getDBTasksWrapper(configName)

◆ getTableNamesList()

def upgrade-helper.getTableNamesList (   response,
  oldTableNamePart,
  newTableNamePart 
)

Definition at line 97 of file upgrade-helper.py.

97 def getTableNamesList(response, oldTableNamePart, newTableNamePart):
98  result = []
99  if isinstance(response, tuple):
100  for elem in response:
101  if len(elem) > 0:
102  if elem[0].find(oldTableNamePart) > -1:
103  name = copy.deepcopy(elem[0])
104  name = name.replace(oldTableNamePart, newTableNamePart)
105  result.append(name)
106 
107  return result
108 
109 
110 # #Extract request
111 #
112 # @param fileName - input file name for extract
113 # @return request, tableNamePart
def getTableNamesList(response, oldTableNamePart, newTableNamePart)

◆ makeSql()

def upgrade-helper.makeSql (   rawRequest,
  tableName,
  tableNamePart 
)

Definition at line 142 of file upgrade-helper.py.

142 def makeSql(rawRequest, tableName, tableNamePart):
143  sql = ''
144  words = []
145  for word in rawRequest.split():
146  if word.find(tableNamePart) > -1:
147  words.append(tableName)
148  else:
149  words.append(word)
150 
151  sql = ' '.join(words)
152 
153  return sql
154 
155 
Definition: join.py:1
def makeSql(rawRequest, tableName, tableNamePart)

Variable Documentation

◆ APP_NAME

string upgrade-helper.APP_NAME = 'upgrade-helper'

Definition at line 34 of file upgrade-helper.py.

◆ configName

upgrade-helper.configName

Definition at line 159 of file upgrade-helper.py.

◆ dbName

upgrade-helper.dbName

Definition at line 159 of file upgrade-helper.py.

◆ exit_code

upgrade-helper.exit_code = APP_CONSTS.EXIT_SUCCESS

Definition at line 157 of file upgrade-helper.py.

◆ fileName

upgrade-helper.fileName

Definition at line 159 of file upgrade-helper.py.

◆ partTableName

upgrade-helper.partTableName

Definition at line 159 of file upgrade-helper.py.

◆ rawRequest

upgrade-helper.rawRequest

Definition at line 165 of file upgrade-helper.py.

◆ response

def upgrade-helper.response = wrapper.customRequest(sql, dbName)

Definition at line 164 of file upgrade-helper.py.

◆ sql

def upgrade-helper.sql = 'SHOW TABLES;'

Definition at line 163 of file upgrade-helper.py.

◆ tableNamePart

upgrade-helper.tableNamePart

Definition at line 165 of file upgrade-helper.py.

◆ tableNames

def upgrade-helper.tableNames = getTableNamesList(response, partTableName, tableNamePart)

Definition at line 166 of file upgrade-helper.py.

◆ tdbName

upgrade-helper.tdbName

Definition at line 159 of file upgrade-helper.py.

◆ wrapper

def upgrade-helper.wrapper = getDBTasksWrapper(configName)

Definition at line 160 of file upgrade-helper.py.