feat: Add support for UNIX-specific tar info
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
@@ -118,11 +117,6 @@ func main() {
|
||||
break
|
||||
}
|
||||
|
||||
paxRecords, err := json.Marshal(hdr.PAXRecords)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
dbhdr := &models.Header{
|
||||
Typeflag: int64(hdr.Typeflag),
|
||||
Name: hdr.Name,
|
||||
@@ -138,7 +132,6 @@ func main() {
|
||||
Changetime: hdr.ChangeTime,
|
||||
Devmajor: hdr.Devmajor,
|
||||
Devminor: hdr.Devminor,
|
||||
Paxrecords: string(paxRecords),
|
||||
Format: int64(hdr.Format),
|
||||
Record: int64(record),
|
||||
Block: int64(i),
|
||||
|
||||
@@ -9,7 +9,10 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"syscall"
|
||||
"time"
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
// See https://github.com/benmcclelland/mtio
|
||||
@@ -90,6 +93,24 @@ func main() {
|
||||
return err
|
||||
}
|
||||
|
||||
hdr.Format = tar.FormatGNU // Required for AccessTime, ChangeTime etc.
|
||||
|
||||
var unixStat syscall.Stat_t
|
||||
if err := syscall.Stat(path, &unixStat); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
mtimesec, mtimensec := unixStat.Mtim.Unix()
|
||||
atimesec, atimensec := unixStat.Atim.Unix()
|
||||
ctimesec, ctimensec := unixStat.Ctim.Unix()
|
||||
|
||||
hdr.ModTime = time.Unix(mtimesec, mtimensec)
|
||||
hdr.AccessTime = time.Unix(atimesec, atimensec)
|
||||
hdr.ChangeTime = time.Unix(ctimesec, ctimensec)
|
||||
|
||||
hdr.Devmajor = int64(unix.Major(unixStat.Dev))
|
||||
hdr.Devminor = int64(unix.Minor(unixStat.Dev))
|
||||
|
||||
hdr.Name = path
|
||||
|
||||
log.Println(hdr)
|
||||
@@ -98,7 +119,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
|
||||
// Skip writing non-regular files
|
||||
if !info.Mode().IsRegular() {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -35,17 +35,6 @@ create table headers (
|
||||
devmajor integer not null,
|
||||
-- Minor device number (valid for TypeChar or TypeBlock)
|
||||
devminor integer not null,
|
||||
-- PAXRecords is a map of PAX extended header records.
|
||||
--
|
||||
-- User-defined records should have keys of the following form:
|
||||
-- VENDOR.keyword
|
||||
-- Where VENDOR is some namespace in all uppercase, and keyword may
|
||||
-- not contain the '=' character (e.g., "GOLANG.pkg.version").
|
||||
-- The key and value should be non-empty UTF-8 strings.
|
||||
--
|
||||
-- When Writer.WriteHeader is called, PAX records derived from the
|
||||
-- other fields in Header take precedence over PAXRecords.
|
||||
paxrecords text not null,
|
||||
-- Format specifies the format of the tar header.
|
||||
--
|
||||
-- This is set by Reader.Next as a best-effort guess at the format.
|
||||
|
||||
@@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
var _bindataDbSqliteMigrationsMetadata1636892915Sql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x56\x4d\x73\xdb\x36\x10\x3d\x93\xbf\x62\x27\x97\xd8\x53\x49\xe7\x4e\x33\x3d\xb8\x71\xe3\x66\x26\x76\x32\xb2\x55\xe7\x0a\x11\x4b\x12\x15\x89\x45\x17\x4b\xc9\xcc\xaf\xef\x2c\x40\xda\x52\x6a\xb5\xd3\x9e\x04\x01\xbb\x8f\x6f\xbf\x1e\xb0\x5c\xc2\x0f\xbd\x6b\xd8\x08\xc2\x26\x94\x15\xa3\xae\xc4\x6c\x3b\x84\x16\x8d\x45\x8e\x70\x51\x16\xcb\x25\x3c\x8c\x01\xeb\xce\x34\xe0\x22\x48\x8b\x20\x63\x40\xa0\x7a\xb2\x02\xf4\xc2\xe3\x2a\x5b\xb6\x08\xdf\x90\x09\xf6\xa6\x1b\x50\xed\xcd\x20\xd4\x1b\x71\x95\xe9\xba\x11\x02\x53\x4f\x82\x16\x84\x00\x9d\xb4\xc8\x09\x7c\x8d\x0d\x50\x5e\x5e\x3b\x4e\x48\x16\x03\x7a\xeb\x7c\x03\xe4\xd3\x47\x03\x63\x44\x5f\xa5\x0f\x1b\x10\x36\xae\xd3\xd3\xd8\x99\xd8\x82\xf3\x70\x67\x7a\x5c\x95\x85\x3c\x73\xf5\x82\x0d\x32\x78\x12\xf0\x43\xd7\x2d\x12\xac\x5a\x29\x42\xed\x3a\xcc\xc4\xcb\xc2\xeb\x9e\xe0\x93\x3c\xdb\x42\x60\xd7\x1b\x1e\x61\x87\x63\xf6\x7b\x30\xdc\xa0\x80\x9f\xdc\x3b\xe7\x77\x70\xb1\x37\x9d\xb3\x50\x4f\xcc\x3f\xe9\xde\xb4\xbe\x1f\x7b\x35\xb9\x2c\x0b\xfd\xf9\xfb\x07\x32\xe8\x27\x6a\x34\x2f\x99\x4c\x74\xdf\x50\xe3\xd8\x8e\x82\xb1\x2c\xa6\xbf\xaf\xc5\xf0\x05\xb9\x77\x31\x3a\xf2\x60\xbc\x85\x9e\x2c\xc2\xd6\x49\x2c\x8b\xb4\x7c\xdd\x69\x13\x91\xe1\xe3\xb5\x92\xa7\x83\x47\x2e\x8b\xc1\xd9\x33\xb6\x37\x4c\x43\x38\x35\x6e\xce\x1a\x27\xe0\x39\x2f\x33\xf4\xb9\x88\x33\xf2\x77\xd6\xcd\x39\xeb\x8f\x75\xaa\xfc\x07\xe2\xde\x88\x36\xd3\xe0\x63\xc0\xca\xd5\x0e\xed\x42\x8f\x3c\x3c\xb2\x13\xe4\x55\xfa\xf9\x2d\xb7\x23\xd3\xe0\x6d\x84\x5b\xb2\x0f\xae\xc7\x04\x24\x94\x80\x3c\x1a\xc6\x28\x10\xb1\x22\x6f\x53\xf2\x5c\xe3\x89\x31\xb7\xf5\x55\x55\x61\x8c\xea\x94\x8e\xde\xb7\xc6\x37\x98\xfe\xd6\x0e\x3b\x1b\x53\x8b\xe7\x6e\x20\x18\xe2\x89\x03\xf1\x91\xfd\x02\x32\xcd\xf1\x98\xbe\x89\xf0\xe5\xea\xab\x1a\xde\xdc\x6d\x56\xc7\x30\x71\xd8\x2e\x27\x4a\x8c\x91\xba\x41\x1c\xf9\x7f\xc0\xc8\xce\xb7\x64\x5d\xed\x2a\xa3\xc6\x20\x29\xd2\x9e\xac\x2e\xc0\xea\x20\x9f\xa6\x32\x53\x4d\x76\x70\xc1\xf8\xe7\xe0\x34\xea\x69\x04\x5f\x78\x41\x1c\x42\x20\x96\xcb\xb2\x30\xc9\xe3\x1c\x5e\x0e\xf6\xbf\xe0\x55\xc9\xe3\x1c\xde\xad\xf9\x83\x18\x2c\xee\x5d\x85\xe0\x87\x7e\x8b\xfc\xfd\x7c\xbd\x6f\x0d\xcf\xf3\xf5\x4b\x47\x95\x4e\x97\xc5\x7d\x9f\x3c\x5f\xef\xcd\x5b\xe7\xff\x2f\x6a\xf2\x3c\x33\x7f\x57\x5f\xd7\x58\x11\xdb\x98\x04\x0e\x7a\x13\xb4\x9b\x35\x6a\x7c\x12\xf4\x16\xed\x2c\x8d\x9c\xed\x5e\x3a\x47\xa7\x65\x69\xb1\x76\x1e\xed\x7c\x0a\xb1\xa5\xa1\xb3\xd0\x9a\x3d\xaa\xe2\x44\x45\xd3\xaa\xd7\xd4\x75\x74\x50\x95\xab\x89\xfb\x9f\x14\xa0\xf8\xfd\xd7\xbb\xeb\xcf\xeb\xd5\x0e\xc7\x03\xb1\x4d\x98\x8f\x2d\x32\x42\x3e\x50\x46\x91\x7a\x4c\x33\x16\x83\xa9\x92\xa6\x98\xae\x83\x21\x04\xe4\xca\x44\x5c\xa4\xee\x9e\x00\xa0\x37\x63\x02\xd1\x10\x2b\xf2\x62\x5c\x96\xdb\xb7\x3f\xbf\x85\xaa\x35\x6c\x2a\xd1\xa4\xe1\xaa\x59\x2d\xe0\xcd\xcd\xe7\x4f\x57\x77\x37\xab\xb0\x6b\x56\x7b\x64\x95\xa0\x37\x97\x2f\xca\xbf\xc3\x31\x61\x67\xf1\x9f\xa2\xda\x6a\xa9\xfd\x12\xfb\x20\x23\x6c\x1e\x3e\x2c\x7f\x84\x28\xec\x7c\x73\x94\x95\xc7\x33\xa3\xec\x22\xe8\xbd\xa1\xd3\xae\xd9\x9d\xf3\x65\x91\xdd\x1e\x2d\xd4\x4c\xbd\x92\x4d\x18\x94\x5a\x2f\x4f\xaa\xc6\x3c\x41\x88\xd9\xa5\xbb\xa3\x42\x9b\x6f\x8f\x7d\x6e\xd0\xf5\x73\x65\x82\x79\x9a\x81\x5f\xd1\xa0\x69\xf2\x66\xdd\x89\x53\x61\xd2\xe6\x54\x26\x31\x3c\xd5\xfb\x48\x21\x5a\x97\xba\x23\xa2\xc0\x76\x84\x75\x3e\xbe\x53\x7c\xa3\x3d\xb3\xc5\x28\x4b\xac\x6b\x62\x81\x66\xd0\xd1\x34\x72\x04\x9d\x73\x7a\xef\x94\xb1\xee\x66\x7f\xe8\xdc\x16\x39\x5d\xa4\x8c\xc6\xce\x95\x26\xbf\xac\xa8\x0f\x9d\x33\x5e\xd2\x5d\x12\x33\x75\x97\x34\x33\x50\x8c\x4e\xef\x74\xed\x78\x51\x5a\x42\x5a\x94\x1c\xd8\xc6\xef\x3c\x1d\xfc\x0b\xf1\x8f\xf5\x71\x84\xa7\x9a\x0b\x87\x7f\xad\x53\x96\x5b\x35\x73\xa2\xe2\x36\xe5\xcb\x71\x94\x19\xf3\x62\xea\x30\x62\x75\xa5\x1a\x36\xf7\x0f\x57\xeb\x54\xe1\x85\x6a\xc6\x65\xc2\xa8\x4c\x48\x2f\x11\xaa\x01\x7d\x45\xe9\x25\x90\xd8\x4f\x9f\xbc\x88\x38\xc7\xa0\x1d\x38\xf3\x7d\x75\x60\xb5\x37\x73\x89\xe7\xc7\x84\x98\x80\x65\x31\xed\x9d\x77\xca\x55\x7d\x1b\x61\xab\xca\x00\x13\xf1\xec\x56\x16\xf3\xe6\xa9\x77\x79\xf9\xae\x3c\x7e\x5a\x5d\xd3\xc1\x97\x96\x29\x9c\x3e\xad\xde\xfd\x15\x00\x00\xff\xff\xa8\x19\x83\xb5\x7f\x09\x00\x00")
|
||||
var _bindataDbSqliteMigrationsMetadata1636892915Sql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x55\xc1\x72\xdb\x36\x10\x3d\x93\x5f\xb1\xb7\x5a\x53\x49\x3f\x90\x93\x1b\x4f\xd3\xcc\xc4\x9e\x8c\x6d\x4d\x7b\x05\x89\x25\xb5\x35\x88\x65\x17\x4b\xbb\xcc\xd7\x77\x16\x20\x13\x29\x95\x3a\xd3\x9c\x08\x02\xef\x3d\x3c\x00\x6f\x81\xdd\x0e\x7e\x1e\xa8\x17\xa7\x08\x87\xb1\x6e\x05\xad\xa5\xae\x09\x08\x47\x74\x1e\x25\xc1\x4d\x5d\xed\x76\xf0\x3c\x8f\xd8\x05\xd7\x03\x25\xd0\x23\x82\xce\x23\x02\x77\x0b\x0a\x30\xaa\xcc\xfb\x82\x3c\x22\x7c\x41\x61\x78\x75\x61\x42\xc3\xbb\x49\x79\x70\x4a\xad\x0b\x61\x86\x51\x78\x60\x45\x0f\xca\x80\xa4\x47\x94\x2c\xfe\x88\x3d\x70\x69\xde\x91\x64\x25\x8f\x23\x46\x4f\xb1\x07\x8e\x79\xd2\x51\x30\x61\x6c\xf3\xc4\x0e\x54\x1c\x05\x1b\x4d\xc1\xa5\x23\x50\x84\x07\x37\xe0\xbe\xae\xf4\xab\xd7\xa8\xd8\xa3\x40\x64\x85\x38\x85\xb0\xcd\xb2\x86\x32\x85\x8e\x02\x16\xe3\x75\x15\xad\x4f\xf1\x6f\xfd\x8a\x85\x51\x68\x70\x32\xc3\x0b\xce\x85\xf7\xec\xa4\x47\x85\xb8\xd0\x03\xc5\x17\xb8\x79\x75\x81\x3c\x74\x8b\xf3\x4f\xd6\xb7\xb4\x9f\xe6\xc1\x20\x9b\xba\xb2\xcf\xbf\x27\x28\xa2\x9f\xb8\xb7\x7d\x29\x66\x12\x7d\x41\x5b\x47\x33\x2b\xa6\xba\x5a\x7e\x2f\xad\xe1\x33\xca\x40\x29\x11\x47\x70\xd1\xc3\xc0\x1e\xa1\x21\x4d\x75\x95\x9b\x97\x49\x87\x84\x02\x1f\xef\xcc\x3c\xbf\x45\x94\xba\x9a\xc8\x5f\xc1\x7e\x10\x9e\xc6\x73\x70\x7f\x15\x9c\x85\xd7\x7d\x59\xa5\xaf\xad\xb8\x28\x7f\x87\xee\xaf\xa1\x3f\x76\xf9\xe4\x7f\x65\x19\x9c\x5a\x98\xa6\x98\x46\x6c\xa9\x23\xf4\x5b\x1b\x8a\xf0\xbb\x90\xa2\xec\xf3\xe7\xb7\x12\x47\xe1\x29\xfa\x04\xf7\xec\x9f\x69\xc0\x2c\xa4\x9c\x85\x22\x3a\xc1\xa4\x90\xb0\xe5\xe8\xf3\xe6\x51\x1f\x59\xb0\xc4\xfa\xb6\x6d\x31\x25\x23\xe5\xa1\xf7\x47\x17\x7b\xcc\xbf\x1d\x61\xf0\x29\x47\xbc\xa4\x81\x61\x4a\x67\x04\x96\x13\xfc\x16\x8a\xcd\xf9\xd4\xbe\x4b\xf0\xf9\xf6\x0f\x03\x7e\x78\x38\xec\x4f\x65\xd2\xd4\xec\x16\x4b\x82\x89\xc3\xa4\xc4\xf1\x3f\x34\x0a\xf9\x9e\x3d\x75\xd4\x3a\x03\x83\xe6\x95\x0e\xec\xad\x01\xde\x0a\xf9\x7c\x2b\x8b\xd5\x8c\x83\x1b\xc1\xbf\x26\xb2\x55\x2f\x25\xf8\xcd\x17\xa4\x69\x1c\x59\x74\x53\x57\x2e\x33\xae\xe9\x95\xc5\xfe\x1f\xbd\x36\x33\xae\xe9\xdd\xbb\x3f\x59\xc0\xe3\x2b\xb5\x08\x71\x1a\x1a\x94\xef\xeb\xeb\xfd\xd1\xc9\x5a\x5f\xbf\x04\x6e\xad\xba\x3c\xbe\x0e\x99\x79\x39\x9b\xf7\x14\x7f\x54\x35\x33\x2f\xab\x2e\x87\xb1\x46\xb1\x84\xa7\x2b\x9d\x5c\x22\xab\x4e\x96\xdb\xf1\x24\x34\x47\x4a\x16\xe2\x84\x0a\xcd\x0c\x8f\x65\xf8\xc1\x62\xef\x12\x38\x68\x30\xe9\x0e\xbb\x8e\x45\xa1\x9f\xec\xb4\x9c\x9e\x48\x97\x53\x7f\x22\xbb\x02\xad\xb7\xf0\x21\x50\x83\x92\xef\x56\x41\xe7\x13\x24\x1e\x6c\x6f\xe3\xae\xe5\x61\x0c\xe4\xa2\xe6\xeb\x25\x15\xeb\x94\xcb\x68\xe4\x94\xc8\xae\x79\xdb\x04\x35\x5b\xca\xd0\xac\x29\x3b\xc4\x97\xc8\x6f\xf1\x9b\xf1\xa5\x0c\xbb\x4b\x65\x08\x6f\x57\xaa\x90\x12\xd8\x95\x8f\xbe\x4c\x9c\x8b\x95\xd4\xf2\xbe\xec\x17\x49\xd2\x55\xf3\x86\xca\x1d\xcf\x62\x54\xee\xe0\xf0\xf4\x7c\xfb\xb8\xb5\x20\x6d\x2d\x46\x9b\xac\xd1\xba\x31\x3f\x4e\xdc\x01\xc6\x96\xf3\xe3\x90\xdd\x2f\x53\xde\x24\x5c\xd7\xb0\xd9\xd7\xd5\xea\xf7\xe2\x19\xda\x43\x25\xd8\xb2\xf8\xf5\x7d\x51\x37\x62\x5d\x2d\x7d\xd7\x49\xe5\x54\x7f\x4a\xd0\x58\x58\x60\x31\x5e\x68\x75\xb5\x76\x9e\xb3\xeb\xcd\xbb\xfa\xf4\xb5\xbd\xe3\xb7\x58\x7b\xe1\xf1\xfc\xb5\x7d\xf7\x4f\x00\x00\x00\xff\xff\xcb\xa0\x8d\xeb\x92\x07\x00\x00")
|
||||
|
||||
func bindataDbSqliteMigrationsMetadata1636892915SqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
@@ -97,10 +97,10 @@ func bindataDbSqliteMigrationsMetadata1636892915Sql() (*asset, error) {
|
||||
|
||||
info := bindataFileInfo{
|
||||
name: "../../db/sqlite/migrations/metadata/1636892915.sql",
|
||||
size: 2431,
|
||||
size: 1938,
|
||||
md5checksum: "",
|
||||
mode: os.FileMode(420),
|
||||
modTime: time.Unix(1636898047, 0),
|
||||
modTime: time.Unix(1636916488, 0),
|
||||
}
|
||||
|
||||
a := &asset{bytes: bytes, info: info}
|
||||
|
||||
@@ -36,7 +36,6 @@ type Header struct {
|
||||
Changetime time.Time `boil:"changetime" json:"changetime" toml:"changetime" yaml:"changetime"`
|
||||
Devmajor int64 `boil:"devmajor" json:"devmajor" toml:"devmajor" yaml:"devmajor"`
|
||||
Devminor int64 `boil:"devminor" json:"devminor" toml:"devminor" yaml:"devminor"`
|
||||
Paxrecords string `boil:"paxrecords" json:"paxrecords" toml:"paxrecords" yaml:"paxrecords"`
|
||||
Format int64 `boil:"format" json:"format" toml:"format" yaml:"format"`
|
||||
Record int64 `boil:"record" json:"record" toml:"record" yaml:"record"`
|
||||
Block int64 `boil:"block" json:"block" toml:"block" yaml:"block"`
|
||||
@@ -60,7 +59,6 @@ var HeaderColumns = struct {
|
||||
Changetime string
|
||||
Devmajor string
|
||||
Devminor string
|
||||
Paxrecords string
|
||||
Format string
|
||||
Record string
|
||||
Block string
|
||||
@@ -79,7 +77,6 @@ var HeaderColumns = struct {
|
||||
Changetime: "changetime",
|
||||
Devmajor: "devmajor",
|
||||
Devminor: "devminor",
|
||||
Paxrecords: "paxrecords",
|
||||
Format: "format",
|
||||
Record: "record",
|
||||
Block: "block",
|
||||
@@ -100,7 +97,6 @@ var HeaderTableColumns = struct {
|
||||
Changetime string
|
||||
Devmajor string
|
||||
Devminor string
|
||||
Paxrecords string
|
||||
Format string
|
||||
Record string
|
||||
Block string
|
||||
@@ -119,7 +115,6 @@ var HeaderTableColumns = struct {
|
||||
Changetime: "headers.changetime",
|
||||
Devmajor: "headers.devmajor",
|
||||
Devminor: "headers.devminor",
|
||||
Paxrecords: "headers.paxrecords",
|
||||
Format: "headers.format",
|
||||
Record: "headers.record",
|
||||
Block: "headers.block",
|
||||
@@ -186,7 +181,6 @@ var HeaderWhere = struct {
|
||||
Changetime whereHelpertime_Time
|
||||
Devmajor whereHelperint64
|
||||
Devminor whereHelperint64
|
||||
Paxrecords whereHelperstring
|
||||
Format whereHelperint64
|
||||
Record whereHelperint64
|
||||
Block whereHelperint64
|
||||
@@ -205,7 +199,6 @@ var HeaderWhere = struct {
|
||||
Changetime: whereHelpertime_Time{field: "\"headers\".\"changetime\""},
|
||||
Devmajor: whereHelperint64{field: "\"headers\".\"devmajor\""},
|
||||
Devminor: whereHelperint64{field: "\"headers\".\"devminor\""},
|
||||
Paxrecords: whereHelperstring{field: "\"headers\".\"paxrecords\""},
|
||||
Format: whereHelperint64{field: "\"headers\".\"format\""},
|
||||
Record: whereHelperint64{field: "\"headers\".\"record\""},
|
||||
Block: whereHelperint64{field: "\"headers\".\"block\""},
|
||||
@@ -228,8 +221,8 @@ func (*headerR) NewStruct() *headerR {
|
||||
type headerL struct{}
|
||||
|
||||
var (
|
||||
headerAllColumns = []string{"typeflag", "name", "linkname", "size", "mode", "uid", "gid", "uname", "gname", "modtime", "accesstime", "changetime", "devmajor", "devminor", "paxrecords", "format", "record", "block"}
|
||||
headerColumnsWithoutDefault = []string{"typeflag", "name", "linkname", "size", "mode", "uid", "gid", "uname", "gname", "modtime", "accesstime", "changetime", "devmajor", "devminor", "paxrecords", "format", "record", "block"}
|
||||
headerAllColumns = []string{"typeflag", "name", "linkname", "size", "mode", "uid", "gid", "uname", "gname", "modtime", "accesstime", "changetime", "devmajor", "devminor", "format", "record", "block"}
|
||||
headerColumnsWithoutDefault = []string{"typeflag", "name", "linkname", "size", "mode", "uid", "gid", "uname", "gname", "modtime", "accesstime", "changetime", "devmajor", "devminor", "format", "record", "block"}
|
||||
headerColumnsWithDefault = []string{}
|
||||
headerPrimaryKeyColumns = []string{"name"}
|
||||
)
|
||||
|
||||
@@ -568,7 +568,7 @@ func testHeadersSelect(t *testing.T) {
|
||||
}
|
||||
|
||||
var (
|
||||
headerDBTypes = map[string]string{`Typeflag`: `INTEGER`, `Name`: `TEXT`, `Linkname`: `TEXT`, `Size`: `INTEGER`, `Mode`: `INTEGER`, `UID`: `INTEGER`, `Gid`: `INTEGER`, `Uname`: `TEXT`, `Gname`: `TEXT`, `Modtime`: `DATE`, `Accesstime`: `DATE`, `Changetime`: `DATE`, `Devmajor`: `INTEGER`, `Devminor`: `INTEGER`, `Paxrecords`: `TEXT`, `Format`: `INTEGER`, `Record`: `INTEGER`, `Block`: `INTEGER`}
|
||||
headerDBTypes = map[string]string{`Typeflag`: `INTEGER`, `Name`: `TEXT`, `Linkname`: `TEXT`, `Size`: `INTEGER`, `Mode`: `INTEGER`, `UID`: `INTEGER`, `Gid`: `INTEGER`, `Uname`: `TEXT`, `Gname`: `TEXT`, `Modtime`: `DATE`, `Accesstime`: `DATE`, `Changetime`: `DATE`, `Devmajor`: `INTEGER`, `Devminor`: `INTEGER`, `Format`: `INTEGER`, `Record`: `INTEGER`, `Block`: `INTEGER`}
|
||||
_ = bytes.MinRead
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user