Relative paths are a must. I don't think I ever use non-relative paths.
Say you have a folder structure like this:
sql/
tables/
foo.sql
bar.sql
main.sql
And the contents of main.sql are something like this: @@tables/foo.sql
@@tables/foo.sql
Then you can run main.sql via: usql -f sql/main.sqlIf script file resolution is not relative pathed to the parent, it gets very fragile as you must invoke the parent from a specific location, or, you have to hard code full pathes in your scripts (arguably even uglier).