implement and test sql db accessor

This commit is contained in:
2024-08-27 19:27:52 -05:00
parent e6947e714d
commit fe06a95c98
24 changed files with 745 additions and 403 deletions

View File

@@ -117,6 +117,17 @@ func Uint64ArrToByteArr(intArr []uint64) []byte {
return byteArr
}
func IntArrToByteArr(intArr []int) []byte {
byteArr := make([]byte, len(intArr)*4)
for idx, val := range intArr {
uval := uint32(val)
startIdx := idx * 4
endIdx := (idx + 1) * 4
binary.LittleEndian.PutUint32(byteArr[startIdx:endIdx], uval)
}
return byteArr
}
func ByteArrToUint64Arr(byteArr []byte) []uint64 {
intArr := make([]uint64, len(byteArr)/8)
for idx := 0; idx < len(intArr); idx++ {
@@ -127,6 +138,17 @@ func ByteArrToUint64Arr(byteArr []byte) []uint64 {
return intArr
}
func ByteArrToIntArr(byteArr []byte) []int {
intArr := make([]int, len(byteArr)/4)
for idx := 0; idx < len(intArr); idx++ {
startIdx := idx * 4
endIdx := (idx + 1) * 4
uval := binary.LittleEndian.Uint32(byteArr[startIdx:endIdx])
intArr[idx] = int(uval)
}
return intArr
}
func IndexOf[T uint64 | int](arr []T, el T) int {
for idx, val := range arr {
if val == el {