On Tue, May 10, 2022 at 06:30:47PM +0200, Alexander Burger wrote:
> oohh, I'm very sorry. I must give up here. This needs 20 pages of fixes and
> explanations ;)


- +Idx makes only sense on Strings
- +Idx indexes substrings. Is that always meaningful here?
- Do you really need so many indexes?

(class +APK +Entity)
# APK POC Package Database Class
(rel   apk (+Idx +String)) # APK Path
(rel   app (+Idx +String)) # APK Package
(rel   aid (+Idx +String)) # APK Application ID
(rel   ino (+Ref +Number)) # FS  Inode of APK on SharePoint filesystem (UUID)
(rel   flv (+Idx +String)) # APK Build Flavor
(rel   bty (+Idx +String)) # APK Build Type
(rel   vrn (+Ref +Number)) # APK VersionCode
(rel   vrs (+Idx +String)) # APK VersionName
(rel   gin (+Idx +String)) # APK GIT Info String
(rel   dbg (+Ref +Bool))   # APK has Debug Logging enabled
(rel   blt (+Ref +Number)) # APK BuildTime
(rel   bls (+Idx +String)) # APK BuildTimeString
(rel   ctm (+Ref +Number)) # APK Creation Time
(rel   mtm (+Idx +String)) # APK Modification Time
(rel   AB> (*Ref +Number)) # APK MinSdkVersion (Android ABI #)
(rel   AB< (*Ref +Number)) # APK MaxSdkVersion (Android ABI #)
(rel   AB@ (*Ref +Number)) # APK TargetSdkVersion (Android ABI #)
(rel   AB$ (*Ref +Number)) # APK CompileSdkVersion (Android ABI #)


and define a query :


(de apks ( Flv Ver Blt Abi Mtm )
 (if (or (not (bool Flv)) (not (str? Flv))
         (not (bool Ver)) (not (num? Ver))
         (not (bool Blt)) (not (num? Blt))
         (not (bool Abi)) (not (num? Abi))
     )
  (throw (pack "apks: Invalid Parameters: flv:" (sym Flv) " vrn:" (sym

->
   (unless (and (str? Flv) (num? Ver) (num? Blt) (num? Abi))
      (throw (pack "apks: Invalid Parameters: flv:" (sym Flv) " vrn:" (sym  
Ver) " Mtm:" (sym Mtm) " Abi:" (sym Abi)))


  (if (not (bool Mtm))

->
  (ifn Mtm


The rerst looks basically correct, Just the duplication
seems unnecessary to me. I see no obvous error, but I'm not
able to debug it.

   (symbols '(APK pico)
   (solve
    (quote
     @FLV Flv
     @VER (cons Ver)
     @BLT (cons Blt)
     @AB> (cons NIL Abi)
     @AB< (cons Abi)
     (select (@APK)
      ((flv +APK @FLV)
       (vrn +APK @VER)
       (blt +APK @BLT)
       (AB> +APK @AB>)
       (AB< +APK @AB<)
      )
      (same  @FLV @APK flv)
      (range @VER @APK vrn)
      (range @BLT @APK blt)
      (range @AB> @APK AB>)
      (range @AB< @APK AB<)
     )
    ) @APK
   ))
   (symbols '(APK pico)
   (solve
    (quote
     @FLV Flv
     @VER (cons Ver)
     @BLT (cons Blt)
     @AB> (cons NIL Abi)
     @AB< (cons Abi)
     @MTM (cons Mtm)
     (select (@APK)
      ( (flv +APK @FLV)
        (vrn +APK @VER)
        (blt +APK @BLT)
        (mtm +APK @MTM)
        (AB> +APK @AB>)
        (AB< +APK @AB<)
      )
      (same  @FLV @APK flv)
      (range @VER @APK vrn)
      (range @BLT @APK blt)
      (range @MTM @APK mtm)
      (range @AB> @APK AB>)
      (range @AB< @APK AB<)
     )
    ) @APK
   ))
  )
 )
)

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to