2025-03-15 20:26:58 +00:00
|
|
|
# vim: set et sta sw=4 ts=4 :
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
{.passL:"-lkuzu".}
|
|
|
|
|
|
|
|
|
|
when defined( futharkWrap ):
|
|
|
|
|
import futhark, os
|
|
|
|
|
|
|
|
|
|
importc:
|
2025-07-13 13:10:33 -07:00
|
|
|
outputPath currentSourcePath.parentDir / "kuzu" / "0.11.0.nim"
|
2025-03-15 20:26:58 +00:00
|
|
|
"kuzu.h"
|
|
|
|
|
else:
|
2025-07-13 13:10:33 -07:00
|
|
|
include "kuzu/0.11.0.nim"
|
2025-03-15 20:26:58 +00:00
|
|
|
|
|
|
|
|
import
|
2025-03-22 22:28:22 +00:00
|
|
|
std/strformat,
|
|
|
|
|
std/strutils
|
2025-03-15 20:26:58 +00:00
|
|
|
|
2025-03-22 22:28:22 +00:00
|
|
|
# Order very much matters here pre Nim 3.0 multi-pass compiling.
|
2025-03-15 20:26:58 +00:00
|
|
|
include
|
|
|
|
|
"kuzu/constants.nim",
|
|
|
|
|
"kuzu/types.nim",
|
|
|
|
|
"kuzu/config.nim",
|
|
|
|
|
"kuzu/database.nim",
|
|
|
|
|
"kuzu/connection.nim",
|
2025-03-22 22:28:22 +00:00
|
|
|
"kuzu/value.nim",
|
|
|
|
|
"kuzu/tuple.nim",
|
2025-03-15 20:26:58 +00:00
|
|
|
"kuzu/queries.nim"
|
|
|
|
|
|
2025-03-18 02:21:06 +00:00
|
|
|
|
|
|
|
|
proc kuzuVersionCompatible*(): bool =
|
|
|
|
|
## Returns true if the system installed Kuzu library
|
|
|
|
|
## is the expected version of this library wrapper.
|
2025-03-31 23:15:45 +00:00
|
|
|
result = KUZU_EXPECTED_LIBVERSION == $kuzuGetVersion()
|
2025-03-18 02:21:06 +00:00
|
|
|
|
|
|
|
|
|
2025-03-15 20:26:58 +00:00
|
|
|
when isMainModule:
|
|
|
|
|
echo "Nim-Kuzu version: ", KUZU_VERSION,
|
|
|
|
|
". Expected library version: ", KUZU_EXPECTED_LIBVERSION, "."
|
2025-03-31 23:15:45 +00:00
|
|
|
echo "Installed Kuzu library version ", kuzuGetVersion(),
|
|
|
|
|
" (storage version ", kuzuGetStorageVersion(), ")"
|
2025-03-18 02:21:06 +00:00
|
|
|
if kuzuVersionCompatible():
|
2025-03-15 20:26:58 +00:00
|
|
|
echo "Versions match!"
|
|
|
|
|
else:
|
|
|
|
|
echo "This library wraps a different version of Kuzu than what is installed."
|
|
|
|
|
echo "Behavior may be unexpected!"
|
|
|
|
|
|