Does anyone know if it is possible to use named ar...
# squarelibraries
t
Does anyone know if it is possible to use named argument in
SQLDelight
statements but keep the type safety? It seems like using named arguments will result in all arguments being generated as `String`s Simple example: SQL Statement:
UPDATE UploadItem SET lastModifiedTimeStamp = ? WHERE id = ?
Will generate:
Copy code
fun updateUploadState(
  lastModifiedTimeStamp: Long,
  id: Long
)
Which is correct However when using named args:
UPDATE UploadItem SET lastModifiedTimeStamp = (:someOtherNameForLastModifiedTimeStamp || ' ?') WHERE id = (:someOtherName || ' ?')
Will generate:
Copy code
fun updateUploadState(
  someOtherNameForLastModifiedTimeStamp: String,
  someOtherName: String
)
n
i think sqldelight cannot infer a type from
(:someOtherNameForLastModifiedTimeStamp || ' ?')
if you just replace
?
with a named argument
:lastModifiedTimeStamp
then it works fine
1
t
Thank you! It wasn't clear from the docs 🙂