MCPcopy Create free account
hub / github.com/mattn/go-sqlite3 / CreateModule

Method CreateModule

sqlite3_opt_vtable.go:701–720  ·  view source on GitHub ↗

CreateModule registers a virtual table implementation. See: http://sqlite.org/c3ref/create_module.html

(moduleName string, module Module)

Source from the content-addressed store, hash-verified

699// CreateModule registers a virtual table implementation.
700// See: http://sqlite.org/c3ref/create_module.html
701func (c *SQLiteConn) CreateModule(moduleName string, module Module) error {
702 mname := C.CString(moduleName)
703 defer C.free(unsafe.Pointer(mname))
704 udm := sqliteModule{c, moduleName, module}
705 switch module.(type) {
706 case EponymousOnlyModule:
707 rv := C._sqlite3_create_module_eponymous_only(c.db, mname, C.uintptr_t(uintptr(newHandle(c, &udm))))
708 if rv != C.SQLITE_OK {
709 return c.lastError()
710 }
711 return nil
712 case Module:
713 rv := C._sqlite3_create_module(c.db, mname, C.uintptr_t(uintptr(newHandle(c, &udm))))
714 if rv != C.SQLITE_OK {
715 return c.lastError()
716 }
717 return nil
718 }
719 return nil
720}

Callers 5

TestCreateModuleFunction · 0.80
TestVUpdateFunction · 0.80
mainFunction · 0.80
mainFunction · 0.80

Calls 2

lastErrorMethod · 0.95
newHandleFunction · 0.85

Tested by 3

TestCreateModuleFunction · 0.64
TestVUpdateFunction · 0.64