Hi, This patch fix problem in rhn-satellite-exporter on Postgre: When we are trying to export dump with options --start-date and/or --end-date with Postgre backend these dates have only day precision, but with Oracle backend they have second precision.
On Postgre DATE is represented as day only and the time information is striped. We want to represent these dates as TIMESTAMP so we can preserve time and have second precision. Honza Brázdil
--- exporter/exportLib.py.old 2011-05-09 08:57:22.000000000 -0400 +++ exporter/exportLib.py 2011-05-09 08:57:27.000000000 -0400 @@ -311,8 +311,8 @@ select package_id as id from rhnChannelPackage rcp where rcp.channel_id = :channel_id - and rcp.modified >= TO_Date(:lower_limit, 'YYYYMMDDHH24MISS') - and rcp.modified <= TO_Date(:upper_limit, 'YYYYMMDDHH24MISS') + and rcp.modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and rcp.modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """) _query_get_package_ids_by_rhndate_limits = rhnSQL.Statement(""" @@ -320,8 +320,8 @@ from rhnPackage rp, rhnChannelPackage rcp where rcp.channel_id = :channel_id and rcp.package_id = rp.id - and rp.last_modified >= TO_Date(:lower_limit, 'YYYYMMDDHH24MISS') - and rp.last_modified <= TO_Date(:upper_limit, 'YYYYMMDDHH24MISS') + and rp.last_modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and rp.last_modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """) @@ -375,14 +375,14 @@ _query__get_errata_ids_by_limits = rhnSQL.Statement(""" %s - and ce.modified >= TO_Date(:lower_limit, 'YYYYMMDDHH24MISS') - and ce.modified <= TO_Date(:upper_limit, 'YYYYMMDDHH24MISS') + and ce.modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and ce.modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """ % _query__get_errata_ids) _query__get_errata_ids_by_rhnlimits = rhnSQL.Statement(""" %s - and e.last_modified >= TO_Date(:lower_limit, 'YYYYMMDDHH24MISS') - and e.last_modified <= TO_Date(:upper_limit, 'YYYYMMDDHH24MISS') + and e.last_modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and e.last_modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """ % _query__get_errata_ids) def _get_errata_ids(self): @@ -399,14 +399,14 @@ _query_get_kickstartable_trees_by_rhnlimits = rhnSQL.Statement(""" %s - and kt.last_modified >= TO_DATE(:lower_limit, 'YYYYMMDDHH24MISS') - and kt.last_modified <= TO_DATE(:upper_limit, 'YYYYMMDDHH24MISS') + and kt.last_modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and kt.last_modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """ % _query_get_kickstartable_trees) _query_get_kickstartable_trees_by_limits = rhnSQL.Statement(""" %s - and kt.modified >= TO_DATE(:lower_limit, 'YYYYMMDDHH24MISS') - and kt.modified <= TO_DATE(:upper_limit, 'YYYYMMDDHH24MISS') + and kt.modified >= TO_TIMESTAMP(:lower_limit, 'YYYYMMDDHH24MISS') + and kt.modified <= TO_TIMESTAMP(:upper_limit, 'YYYYMMDDHH24MISS') """ % _query_get_kickstartable_trees) def _get_kickstartable_trees(self):
--- disk_dumper/iss.py.old 2011-05-09 08:58:35.000000000 -0400 +++ disk_dumper/iss.py 2011-05-09 08:59:41.000000000 -0400 @@ -250,13 +250,13 @@ if self.start_date: if self.use_rhn_date: query += """ - and rp.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and rp.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and rp.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and rp.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ else: query += """ - and rcp.modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and rcp.modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and rcp.modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and rcp.modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ self.brpm_query = rhnSQL.Statement(query) brpm_data = rhnSQL.prepare(self.brpm_query) @@ -287,13 +287,13 @@ if self.start_date: if self.use_rhn_date: query += """ - and rp.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and rp.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and rp.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and rp.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ else: query += """ - and rcp.modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and rcp.modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and rcp.modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and rcp.modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ self.package_query = rhnSQL.Statement(query) package_data = rhnSQL.prepare(self.package_query) @@ -328,13 +328,13 @@ if self.start_date: if self.use_rhn_date: query += """ - where ps.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and ps.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + where ps.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and ps.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ else: query += """ - where ps.modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and ps.modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + where ps.modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and ps.modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ self.source_package_query = rhnSQL.Statement(query) source_package_data = rhnSQL.prepare(self.source_package_query) @@ -366,13 +366,13 @@ if self.start_date: if self.use_rhn_date: query += """ - and e.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and e.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and e.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and e.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ else: query += """ - and ce.modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and ce.modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and ce.modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and ce.modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ self.errata_query = rhnSQL.Statement(query) errata_data = rhnSQL.prepare(self.errata_query) @@ -403,14 +403,14 @@ if self.start_date: if self.use_rhn_date: query += """ - and kt.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and kt.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and kt.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and kt.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') and kt.org_id is Null """ else: query += """ - and kt.modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and kt.modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and kt.modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and kt.modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') and kt.org_id is Null """ self.kickstart_trees_query = rhnSQL.Statement(query) @@ -447,8 +447,8 @@ """ if self.start_date: query += """ - and rkt.last_modified >= TO_DATE(:start_date, 'YYYYMMDDHH24MISS') - and rkt.last_modified <= TO_DATE(:end_date, 'YYYYMMDDHH24MISS') + and rkt.last_modified >= TO_TIMESTAMP(:start_date, 'YYYYMMDDHH24MISS') + and rkt.last_modified <= TO_TIMESTAMP(:end_date, 'YYYYMMDDHH24MISS') """ self.kickstart_files_query = rhnSQL.Statement(query) kickstart_files = rhnSQL.prepare(self.kickstart_files_query)
_______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel