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

Method CreateModule

sqlite3_opt_vtable.go:744–763  ·  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

742// CreateModule registers a virtual table implementation.
743// See: http://sqlite.org/c3ref/create_module.html
744func (c *SQLiteConn) CreateModule(moduleName string, module Module) error {
745 mname := C.CString(moduleName)
746 defer C.free(unsafe.Pointer(mname))
747 udm := sqliteModule{c, moduleName, module}
748 switch module.(type) {
749 case EponymousOnlyModule:
750 rv := C._sqlite3_create_module_eponymous_only(c.db, mname, C.uintptr_t(uintptr(newHandle(c, &udm))))
751 if rv != C.SQLITE_OK {
752 return c.lastError()
753 }
754 return nil
755 case Module:
756 rv := C._sqlite3_create_module(c.db, mname, C.uintptr_t(uintptr(newHandle(c, &udm))))
757 if rv != C.SQLITE_OK {
758 return c.lastError()
759 }
760 return nil
761 }
762 return fmt.Errorf("sqlite3: CreateModule requires a non-nil module")
763}

Callers 7

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

Calls 2

lastErrorMethod · 0.95
newHandleFunction · 0.85

Tested by 5

TestCreateModuleFunction · 0.64
TestVUpdateFunction · 0.64