Thanks Henry,

I will keep looking after I try your datatype suggestions.



On Thu, Dec 19, 2019 at 12:55 PM Henry Rich <henryhr...@gmail.com> wrote:

> As of 9.01
>
> seq=. (#pos)#<:1.0
>
> produces a float result, because of the 1.0.  In earlier versions 1.0
> produced boolean and the <: created int.
>
> Now you can get int by changing the 1.0 to 1 (that will be boolean, then
> converted to int), or more simply with
>
> seq=. (#pos)#00
>
> because 00 is always int.
>
>
> I don't see how the assignment could fail.  Is it perhaps failing
> instead in the first line of the try., where it is passing the wrong
> type to the DLL?
>
> Henry Rich
>
>
>
> On 12/19/2019 2:47 PM, John Baker wrote:
> > I have a J application that scans directories of TAB delimited CSV files
> > created
> > by a Python program that downloads image metadata from
> > https://conceptcontrol.smugmug.com/
> > The J app consolidates all the CSV data into one compact sqlite database.
> >
> > This application is complicated so I expected issues with moving to 9.01.
> > The app didn't
> > run in 9.01 failing on sqlite insert statements.  I tried again today
> > aiming to find out why things
> > work in 8.07 but fail in 9.01.
> >
> > The app fails in the following loop and it appears to have nothing to do
> > with sqlite or the sqlite addon.
> > Something strange is happening in the 9.01 for loop. The problem
> manifests
> > in the line:
> >
> > seq=. (#pos)#<:1.0 NB. insure integer datatype (does not work in 9.01 -
> > produces floating instead of integer)
> >
> >
> > NB. insert galleries one at a time - allows better debugging
> >
> > idg=. ThumbName i. AlbumName
> >
> > tab=. 'ThumbnailGallery'
> >
> > cln=. 0 {"1 sqldict__dt tab
> >
> >
> > for_gal. ~.AlbumName do.
> >
> >
> > pos=. I. gal=AlbumName
> >
> > idGal=. pos { idg
> >
> > idThb=. pos { LocalThumbID
> >
> >
> > seq=. (#pos)#<:1.0 NB. insure integer datatype
> >
> >
> > NB. insert gallery data
> >
> > try. rc=. sqlinsert__dt tab;cln;<idGal;idThb;seq catcht. rc=. _1 end.
> >
> >
> > if. 0 ~: rc do. smoutput 'failure inserting -> ',(4 s: gal),' trying next
> > gallery ...' end.
> >
> >
> > end.
> >
> >   The assignment
> >
> > seq=. (#pos)#<:1.0 NB. insure integer datatype
> >
> >
> > seems to break out of the loop - after running this line in 9.01 seq is
> not
> > set and shows
> >
> > as a value error in 9.01 - it works fine in 8.07
> >
> >
> > There may be some side effect of running sqlite addon verbs in a for
> loop.
> >
> >
> > I will keep investigating and see if I can code a work around but there
> are
> > issues for sqlite addon apps in J 9.01
> >
> >
> > John Baker
> >
> >
> >
> >
> >
> >
> >
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>


-- 
John D. Baker
bakerj...@gmail.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to