MCPcopy
hub / github.com/cayleygraph/cayley / NewLoadDatabaseCmd

Function NewLoadDatabaseCmd

cmd/cayley/command/database.go:86–139  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

84}
85
86func NewLoadDatabaseCmd() *cobra.Command {
87 cmd := &cobra.Command{
88 Use: "load",
89 Short: "Bulk-load a quad file into the database.",
90 RunE: func(cmd *cobra.Command, args []string) error {
91 printBackendInfo()
92 p := mustSetupProfile(cmd)
93 defer mustFinishProfile(p)
94 load, _ := cmd.Flags().GetString(flagLoad)
95 if load == "" && len(args) == 1 {
96 load = args[0]
97 }
98 if load == "" {
99 return errors.New("one quads file must be specified")
100 }
101 if init, err := cmd.Flags().GetBool("init"); err != nil {
102 return err
103 } else if init {
104 if err = initDatabase(); err != nil {
105 return err
106 }
107 }
108 h, err := openDatabase()
109 if err != nil {
110 return err
111 }
112 defer h.Close()
113
114 qw, err := h.NewQuadWriter()
115 if err != nil {
116 return err
117 }
118 defer qw.Close()
119
120 // TODO: check read-only flag in config before that?
121 typ, _ := cmd.Flags().GetString(flagLoadFormat)
122 if err = internal.Load(qw, quad.DefaultBatch, load, typ); err != nil {
123 return err
124 }
125
126 if dump, _ := cmd.Flags().GetString(flagDump); dump != "" {
127 typ, _ := cmd.Flags().GetString(flagDumpFormat)
128 if err = dumpDatabase(h, dump, typ); err != nil {
129 return err
130 }
131 }
132 return nil
133 },
134 }
135 cmd.Flags().Bool("init", false, "initialize the database before using it")
136 registerLoadFlags(cmd)
137 registerDumpFlags(cmd)
138 return cmd
139}
140
141func NewDumpDatabaseCmd() *cobra.Command {
142 cmd := &cobra.Command{

Callers 1

initFunction · 0.92

Calls 12

CloseMethod · 0.95
LoadFunction · 0.92
printBackendInfoFunction · 0.85
mustSetupProfileFunction · 0.85
mustFinishProfileFunction · 0.85
initDatabaseFunction · 0.85
openDatabaseFunction · 0.85
dumpDatabaseFunction · 0.85
registerLoadFlagsFunction · 0.85
registerDumpFlagsFunction · 0.85
CloseMethod · 0.65
NewQuadWriterMethod · 0.65

Tested by

no test coverage detected