kapilratnani / django_hana

[Discontinued] Django db backend for SAP HANA
BSD 3-Clause "New" or "Revised" License
20 stars 13 forks source link

Update/insert/read -10413, Illegal TIMESTAMP value #1

Closed george-quaye-sap-com closed 11 years ago

george-quaye-sap-com commented 11 years ago

Environment:

Request Method: POST Request URL: http://10.48.171.221:8000/admin/

Django Version: 1.4.2 Python Version: 2.7.3 Installed Applications: ('django_extensions', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'grappelli', 'django.contrib.admin', 'haystack', 'webapp') Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware')

Traceback: File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response

  1. response = callback(request, _callback_args, *_callback_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in wrapper
  2. return self.admin_view(view, cacheable)(_args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
  3. response = view_func(request, _args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
  4. response = view_func(request, _args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
  5. if not self.has_permission(request): File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in has_permission
  6. return request.user.is_active and request.user.is_staff File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py" in inner
  7. self._setup() File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py" in _setup
  8. self._wrapped = self._setupfunc() File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/middleware.py" in
  9. request.user = SimpleLazyObject(lambda: get_user(request)) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/middleware.py" in get_user
  10. request._cached_user = auth.get_user(request) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/init.py" in get_user
  11. user_id = request.session[SESSION_KEY] File "/usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/base.py" in getitem
  12. return self._session[key] File "/usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/base.py" in _get_session
  13. self._session_cache = self.load() File "/usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/db.py" in load
  14. expire_date__gt=timezone.now() File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py" in get
  15. return self.get_query_set().get(_args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in get
  16. num = len(clone) File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in len
  17. self._result_cache = list(self.iterator()) File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in iterator
  18. for row in compiler.results_iter(): File "/usr/local/lib/python2.7/dist-packages/django/db/backends/hana/compiler.py" in results_iter
  19. for rows in self.execute_sql(MULTI): File "/usr/local/lib/python2.7/dist-packages/django/db/backends/hana/compiler.py" in execute_sql
  20. cursor.execute(sql, params) File "/usr/local/lib/python2.7/dist-packages/django/db/backends/hana/base.py" in execute
  21. return CursorWrapper.execute(self,sql, params) File "/usr/local/lib/python2.7/dist-packages/django/db/backends/hana/base.py" in execute
  22. self.cursor.execute(self._replace_params(sql,len(params) if params else 0),params) File "/usr/local/lib/python2.7/dist-packages/hdbcli/dbapi.py" in execute
  23. ret = self.execute(operation, parameters) File "/usr/local/lib/python2.7/dist-packages/hdbcli/dbapi.py" in execute
  24. ret = self.__cursor.execute(operation, parameters=parameters, iscall=iscall)

Exception Type: Error at /admin/ Exception Value: (-10413, 'Illegal TIMESTAMP value for parameter/column (2)')

kapilratnani commented 11 years ago

Well, as i've mentioned in the log, HANA doesn't support Timezone info in Timestamp datatype. So, in settings.py set USE_TZ=False.(check in data types section of HANA sql ref) Still, i am truncating timezone at many places in the code.

george-quaye-sap-com commented 11 years ago

Set the value USE_TZ=False in settings.py... issue closed.

kapilratnani commented 11 years ago

From now onwards, even if the USE_TZ=True, Timezone info will be stripped off from the datetime object.