1
2
3 import sys
4 from spacewalk.server import rhnSQL
5 from spacewalk.server.importlib import backendOracle
6 from spacewalk.server.importlib.backendLib import DBstring
7
8 exitval = 0
9
10 rhnSQL.initDB()
11 q = rhnSQL.prepare("""select data_length
12 from user_tab_columns
13 where upper(table_name) = upper(:tname)
14 and upper(column_name) = upper(:cname)""")
15
16 backend = backendOracle.PostgresqlBackend()
17
18 for tn, tc in backend.tables.items():
19 for cn, cv in tc.getFields().items():
20 if isinstance(cv, DBstring):
21 q.execute(tname=tn, cname=cn)
22 row = q.fetchone_dict()
23 if not row or row['data_length'] != cv.limit:
24 print(("ERROR: database column %s.%s is %s chars long "
25 + "but defined as %s chars in backendOracle.py") % (
26 tn, cn, row['data_length'], cv.limit))
27 exitval = 1
28 else:
29 print("%s.%s = %d" % (tn, cn, row['data_length']))
30
31 sys.exit(exitval)
32