On Mon, Mar 07, 2011 at 02:28:48PM +0100, Michael Calmer wrote:
> Hello,
> 
> the attached patch set implements updateinfo to errata import in spacewalk-
> repo-sync.

[...]

> diff --git a/backend/satellite_tools/reposync.py 
> b/backend/satellite_tools/reposync.py
> index 2fc46a0..ee3be6e 100644
> --- a/backend/satellite_tools/reposync.py
> +++ b/backend/satellite_tools/reposync.py

[...]

> -from spacewalk.server.importlib.importLib import IncompletePackage
> +from spacewalk.common.rhn_mpm import InvalidPackageError
> +from spacewalk.server.importlib.importLib import IncompletePackage, Erratum, 
> Checksum, Bug, Keyword
> +from spacewalk.server.importlib.backendOracle import OracleBackend

[...]

> +
> +      backend = OracleBackend()
> +      backend.init()
> +      importer = ErrataImport(batch, backend)
> +      importer.run()

Michael,

this fails on PostgreSQL database backend with traceback

Traceback (most recent call last):
  File "/usr/bin/spacewalk-repo-sync", line 69, in <module>
    sys.exit(abs(main() or 0))
  File "/usr/bin/spacewalk-repo-sync", line 63, in main
    sync.main()
  File 
"/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/reposync.py", line 
111, in main
    self.import_updates(plugin, url)
  File 
"/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/reposync.py", line 
146, in import_updates
    self.upload_updates(notices)
  File 
"/usr/lib/python2.6/site-packages/spacewalk/satellite_tools/reposync.py", line 
296, in upload_updates
    backend.init()
  File 
"/usr/lib/python2.6/site-packages/spacewalk/server/importlib/backendOracle.py", 
line 573, in init
    self.setDateFormat("YYYY-MM-DD HH24:MI:SS")
  File 
"/usr/lib/python2.6/site-packages/spacewalk/server/importlib/backend.py", line 
80, in setDateFormat
    sth.execute()
  File "/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/sql_base.py", 
line 163, in execute
    return apply(self._execute_wrapper, (self._execute, ) + p, kw)
  File 
"/usr/lib/python2.6/site-packages/spacewalk/server/rhnSQL/driver_postgresql.py",
 line 268, in _execute_wrapper
    raise rhnSQL.SQLStatementPrepareError(0, str(e), self.sql)
spacewalk.server.rhnSQL.sql_base.SQLStatementPrepareError: ('syntax error at or 
near "session"\nLINE 1: alter session set nls_date_format =\'YYYY-MM-DD 
HH24:MI:SS\'\n              ^\n', 0, "alter session set nls_date_format 
='YYYY-MM-DD HH24:MI:SS'")

You shouldn't need to explicitly use OracleBackend. Instead, we
now have the SQLBackend, see commit

        7d5ed504e7e809fdcc7c82f8b5e82c37279200dd

where it was introduced. So I assume something like (untested)

--- satellite_tools/reposync.py.orig    2011-03-09 05:36:51.000000000 -0500
+++ satellite_tools/reposync.py 2011-03-10 06:05:32.213461147 -0500
@@ -288,8 +288,7 @@
         if not error:
           batch.append(e)
 
-      backend = OracleBackend()
-      backend.init()
+      backend = SQLBackend()
       importer = ErrataImport(batch, backend)
       importer.run()
       self.regen = True

could do the trick.

-- 
Jan Pazdziora
Principal Software Engineer, Satellite Engineering, Red Hat

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to