<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
  <meta name="Generator" content="Zarafa WebAccess v6.20.4-14107">
  <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
  <title>hu.dwim.rdbms.oracle-timestamp-with-timezone-local-time-bug</title>
  <style type="text/css">
      body
      {
        font-family: Arial, Verdana, Sans-Serif;
        font-size: 12px;
        padding: 5px 5px 5px 5px;
        margin: 0px;
        border-style: none;
        background-color: #ffffff;
      }

      p, ul, li
      {
        margin-top: 0px;
        margin-bottom: 0px;
      }
  </style>
</head>
<body>
<p><br />How do I handle such thing most efficiently? Should I report them at all?<br /><br />Did change the following in hu.dwim.rdbms/source/oracle/conversion.lisp<br />(dunno if this does more harm than good without unit tests but atleast the error is gone)<br /><br /><br />(def function make-timezone (hours minutes)<br />  (let ((offset-in-sec (* (+ (* 60 hours) minutes) 60)))<br />    (if (and (= minutes 0)<br />             (= hours 0))<br />        +utc-zone+<br />        (local-time::make-timezone<br />     :subzones `((,offset-in-sec nil "anonymous" nil nil))<br />     :name "anonymous"<br />     :loaded t))))<br /><br />to     <br /><br />(def function make-timezone-old (hours minutes)<br />  (let ((offset-in-sec (* (+ (* 60 hours) minutes) 60)))<br />    (if (and (= minutes 0)<br />             (= hours 0))<br />        +utc-zone+<br />    (local-time::make-timezone<br />     :subzones (make-array 1 :initial-contents<br />                   (list (local-time::make-subzone<br />                      :offset offset-in-sec)))<br />     :name "anonymous"<br />     :loaded t))))<br /><br /><br />to get rid of:     <br /><br />SYMORA> (with-symdb (execute [select * symtag]))<br />--TIME MARK 2010-11-04--<br />21:34 0           RDBMS DEBUG   About to BEGIN transaction in database #<ORACLE {100DD2F9B1}><br />21:34 0           RDBMS DEBUG   Executing "SELECT * FROM symtag"<br />STYLE-WARNING: Undefined alien: "OCIGetInstantClientPackageName"<br />21:34 0           RDBMS DEBUG   Connecting in transaction #<#<STANDARD-CLASS NIL {10033B8C31}> :begin-executed-p #t {1002DFA061}><br />21:34 0           RDBMS DEBUG   Logging on in transaction #<#<STANDARD-CLASS NIL {10033B8C31}> :begin-executed-p #t {1002DFA061}><br />21:34 0           RDBMS DEBUG   Preparing command: "SELECT * FROM symtag"<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_KEY" from buffer at index 0<br />21:34 0           RDBMS DEBUG   Fetched: "foo"<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_CREATION_DATE" from buffer at index 0<br />21:34 0           RDBMS DEBUG   Fetched: :NULL<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_KEY" from buffer at index 0<br />21:34 0           RDBMS DEBUG   Fetched: "foobar"<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_CREATION_DATE" from buffer at index 0<br />21:34 0           RDBMS DEBUG   Fetched: :NULL<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_KEY" from buffer at index 0<br />21:34 0           RDBMS DEBUG   Fetched: "foo11"<br />21:34 0           RDBMS DEBUG   Fetching "SYMTAG_CREATION_DATE" from buffer at index 0<br /><br /><br />--- *sbcl debug buffer*<br /><br />The value ((3600 NIL "anonymous" NIL NIL))<br />is not of type<br />  (SIMPLE-ARRAY T (*)).<br />   [Condition of type TYPE-ERROR]<br /><br />Restarts:<br /> 0: [TERMINATE-TRANSACTION] return (values) from the WITH-TRANSACTION block executing the current terminal action :COMMIT<br /> 1: [COMMIT-TRANSACTION] mark transaction for commit only and return (values) from the WITH-TRANSACTION block<br /> 2: [ROLLBACK-TRANSACTION] mark transaction for rollback only and return (values) from the WITH-TRANSACTION block<br /> 3: [RESTART-TRANSACTION] rollback the transaction by unwinding the stack and restart the WITH-TRANSACTION block in a new database transaction<br /> 4: [RETRY] Retry SLIME REPL evaluation request.<br /> 5: [*ABORT] Return to SLIME's top level.<br /> --more--<br /><br />Backtrace:<br />  0: (LOCAL-TIME::MAKE-TIMEZONE)[:EXTERNAL]<br />      Locals:<br />        SB-DEBUG::ARG-0 = 6<br />  1: (HU.DWIM.RDBMS.ORACLE::LOCAL-TIME-FROM-TIMESTAMP-TZ #.(SB-SYS:INT-SAP #X006918C0) #<unavailable argument>)<br />      Locals:<br />        SB-DEBUG::ARG-0 = #.(SB-SYS:INT-SAP #X006918C0)<br />        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE><br />  2: (HU.DWIM.RDBMS.ORACLE::FETCH-COLUMN-VALUE #<HU.DWIM.RDBMS.ORACLE::COLUMN-DESCRIPTOR {100B9E6761}> 0)<br />      Locals:<br />        SB-DEBUG::ARG-0 = #<HU.DWIM.RDBMS.ORACLE::COLUMN-DESCRIPTOR {100B9E6761}><br />        SB-DEBUG::ARG-1 = 0<br />  3: (CURRENT-ROW #<HU.DWIM.RDBMS.ORACLE::ORACLE-SEQUENTIAL-ACCESS-CURSOR {100B9E6E71}>)[:EXTERNAL]<br />  4: (FOR-EACH-ROW #<CLOSURE (LAMBDA #) {100B9E8979}> #<HU.DWIM.RDBMS.ORACLE::ORACLE-SEQUENTIAL-ACCESS-CURSOR {100B9E6E71}>)[:EXTERNAL]<br />  5: (COLLECT-ROWS #<HU.DWIM.RDBMS.ORACLE::ORACLE-SEQUENTIAL-ACCESS-CURSOR {100B9E6E71}>)[:EXTERNAL]<br />  6: (HU.DWIM.RDBMS.ORACLE::EXECUTE-PREPARED-STATEMENT ..)[:EXTERNAL]<br />  7: ((SB-PCL::FAST-METHOD HU.DWIM.RDBMS::EXECUTE-COMMAND (ORACLE HU.DWIM.RDBMS.ORACLE::ORACLE-TRANSACTION STRING)) ..)[:EXTERNAL]<br />  8: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1. SB-PCL::.ARG2. SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT. SB-PCL::.DFUN-MORE-COUNT.)) ..)<br />  9: (HU.DWIM.RDBMS::CALL-WITH-TRANSACTION* #<FUNCTION (LABELS HU.DWIM.RDBMS::WITH-TRANSACTION*-BODY) {10034E8619}>)[:EXTERNAL]<br /> 10: ((LAMBDA ()))<br /> 11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (WITH-SYMDB (EXECUTE (SQL #))) #<NULL-LEXENV>)<br /> --more--<br /> </p>

!DSPAM:4cd3227b48581611617599!

</body>
</html>