groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Billy Buzzard <billy.buzz...@bnsflogistics.com>
Subject Getting Extra Record and Shouldn't
Date Tue, 14 Nov 2017 18:51:44 GMT
Help!  Running the follow code which should insert just one record, but when I look at the
database I see two record and I don't understand how I created the second record.  Here's
the code:

                private static toDatabase(List recs) {

                                println "recs.size=${recs?.size()}"

                                def NameIn
                                def SizeIn
                                def LastModIn
                                def HostIn
                                def AppIn
                                def EndPtIn

                                def NameOut
                                def SizeOut
                                def LastModOut
                                def HostOut
                                def AppOut
                                def EndPtOut

                                def Action

                                def flds

                                def sql
                                def result

                                def count = 0


                                try {

                                                recs = ["XYZ,AFH3AJ8XCCGZBPW04836,8321280,2017-11-12
16:32:45.215,DPIJ3C5FV7,JE61P2M0G,ENM99E920R2SD0R,A2P2GO3NYI5U4F4G3HU1,7305184,2017-11-12
16:32:45.215,MNF9FT5E55,L6L1J9RVS,3RYUPAQJLVKGJO1,Drop"]

                                                def cmd = "{call uspRecordBreadcrumb(?,?,?,?,?,?,?,?,?,?,?,?,?)}"
                                                result = sql.withBatch(20,cmd) { ps ->

                                                                recs.each{ rec ->
                                                                                flds = rec.split(/,/)

                                                                                NameIn = "${flds[1]}".toString()
                                                                                SizeIn = "${flds[2]}".toString()
                                                                                LastModIn
= "${flds[3]}".toString()
                                                                                HostIn = 
"${flds[4]}".toString()
                                                                                AppIn = "${flds[5]}".toString()
                                                                                EndPtIn =
 "${flds[6]}".toString()

                                                                                NameOut =
"${flds[7]}".toString()
                                                                                SizeOut =
"${flds[8]}".toString()
                                                                                LastModOut
= "${flds[9]}".toString()
                                                                                HostOut =
 "${flds[10]}".toString()
                                                                                AppOut = "${flds[11]}".toString()
                                                                                EndPtOut =
 "${flds[12]}".toString()

                                                                                Action = "${flds[13]}".toString()

                                                                                LastModIn
?: SDF.format(0)
                                                                                LastModOut
?:  SDF.format(0)
                                                                                SizeIn ?:
0
                                                                                SizeOut ?:
0

                                                                                try {
                                                                                ps.addBatch(NameIn,SizeIn,LastModIn,AppIn,HostIn,EndPtIn,NameOut,SizeOut,LastModOut,AppOut,HostOut,EndPtOut,Action)
                                                                                         
      count++

                                                                                } catch (BatchUpdateException
bue) {
                                                                                         
      def updateCounts = bue.updateCounts
                                                                                         
      updateCounts.eachWithIndex { retval,idx ->
                                                                                         
                      if(retval<0) {
                                                                                         
                                      println "$idx. ${recs[idx]}"
                                                                                         
                      }
                                                                                         
      }
                                                                                         
      println "updateCounts=$updateCounts"
                                                                                }
                                                                }
                                                }

                                } catch (Exception ex) {
                                                ex.printStackTrace()
                                } finally {
                                                sql.close()
                                }
                }


This is what I see in the database:

ID            Name    Size        LastModified     EntryDateTime
147590  A_FH3AJ8XCCGZBPW04836         8321280                2017-11-12 16:32:45.217     
         2017-11-14 12:46:08.523
147591  A2P2GO3NYI5U4F4G3HU1           7305184                2017-11-12 16:32:45.217    
          2017-11-14 12:46:08.523


Mime
View raw message