88 lines
4.5 KiB
Plaintext
88 lines
4.5 KiB
Plaintext
// Code generated by cmd/cgo; DO NOT EDIT.
|
|
|
|
//line /Users/win/go/pkg/mod/github.com/mattn/go-sqlite3@v1.14.15/sqlite3_load_extension.go:1:1
|
|
// Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
|
|
//
|
|
// Use of this source code is governed by an MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build !sqlite_omit_load_extension
|
|
|
|
package sqlite3
|
|
|
|
/*
|
|
#ifndef USE_LIBSQLITE3
|
|
#include "sqlite3-binding.h"
|
|
#else
|
|
#include <sqlite3.h>
|
|
#endif
|
|
#include <stdlib.h>
|
|
*/
|
|
import _ "unsafe"
|
|
import (
|
|
"errors"
|
|
"unsafe"
|
|
)
|
|
|
|
func (c *SQLiteConn) loadExtensions(extensions []string) error {
|
|
rv := func() _Ctype_int{ _cgo0 := /*line :25:40*/c.db; var _cgo1 _Ctype_int = /*line :25:46*/1; _cgoCheckPointer(_cgo0, nil); return /*line :25:48*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
if rv != ( /*line :26:11*/_Ciconst_SQLITE_OK /*line :26:21*/) {
|
|
return errors.New(( /*line :27:21*/_Cfunc_GoString /*line :27:30*/)(func() *_Ctype_char{ _cgo0 := /*line :27:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :27:54*/_Cfunc_sqlite3_errmsg(_cgo0); }()))
|
|
}
|
|
|
|
for _, extension := range extensions {
|
|
if err := c.loadExtension(extension, nil); err != nil {
|
|
func() _Ctype_int{ _cgo0 := /*line :32:36*/c.db; var _cgo1 _Ctype_int = /*line :32:42*/0; _cgoCheckPointer(_cgo0, nil); return /*line :32:44*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
return err
|
|
}
|
|
}
|
|
|
|
rv = func() _Ctype_int{ _cgo0 := /*line :37:39*/c.db; var _cgo1 _Ctype_int = /*line :37:45*/0; _cgoCheckPointer(_cgo0, nil); return /*line :37:47*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
if rv != ( /*line :38:11*/_Ciconst_SQLITE_OK /*line :38:21*/) {
|
|
return errors.New(( /*line :39:21*/_Cfunc_GoString /*line :39:30*/)(func() *_Ctype_char{ _cgo0 := /*line :39:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :39:54*/_Cfunc_sqlite3_errmsg(_cgo0); }()))
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// LoadExtension load the sqlite3 extension.
|
|
func (c *SQLiteConn) LoadExtension(lib string, entry string) error {
|
|
rv := func() _Ctype_int{ _cgo0 := /*line :47:40*/c.db; var _cgo1 _Ctype_int = /*line :47:46*/1; _cgoCheckPointer(_cgo0, nil); return /*line :47:48*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
if rv != ( /*line :48:11*/_Ciconst_SQLITE_OK /*line :48:21*/) {
|
|
return errors.New(( /*line :49:21*/_Cfunc_GoString /*line :49:30*/)(func() *_Ctype_char{ _cgo0 := /*line :49:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :49:54*/_Cfunc_sqlite3_errmsg(_cgo0); }()))
|
|
}
|
|
|
|
if err := c.loadExtension(lib, &entry); err != nil {
|
|
func() _Ctype_int{ _cgo0 := /*line :53:35*/c.db; var _cgo1 _Ctype_int = /*line :53:41*/0; _cgoCheckPointer(_cgo0, nil); return /*line :53:43*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
return err
|
|
}
|
|
|
|
rv = func() _Ctype_int{ _cgo0 := /*line :57:39*/c.db; var _cgo1 _Ctype_int = /*line :57:45*/0; _cgoCheckPointer(_cgo0, nil); return /*line :57:47*/_Cfunc_sqlite3_enable_load_extension(_cgo0, _cgo1); }()
|
|
if rv != ( /*line :58:11*/_Ciconst_SQLITE_OK /*line :58:21*/) {
|
|
return errors.New(( /*line :59:21*/_Cfunc_GoString /*line :59:30*/)(func() *_Ctype_char{ _cgo0 := /*line :59:49*/c.db; _cgoCheckPointer(_cgo0, nil); return /*line :59:54*/_Cfunc_sqlite3_errmsg(_cgo0); }()))
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (c *SQLiteConn) loadExtension(lib string, entry *string) error {
|
|
clib := ( /*line :66:10*/_Cfunc_CString /*line :66:18*/)(lib)
|
|
defer func() func() { _cgo0 := /*line :67:15*/unsafe.Pointer(clib); return func() { _cgoCheckPointer(_cgo0, nil); /*line :67:36*/_Cfunc_free(_cgo0); }}()()
|
|
|
|
var centry * /*line :69:14*/_Ctype_char /*line :69:20*/
|
|
if entry != nil {
|
|
centry = ( /*line :71:12*/_Cfunc_CString /*line :71:20*/)(*entry)
|
|
defer func() func() { _cgo0 := /*line :72:16*/unsafe.Pointer(centry); return func() { _cgoCheckPointer(_cgo0, nil); /*line :72:39*/_Cfunc_free(_cgo0); }}()()
|
|
}
|
|
|
|
var errMsg * /*line :75:14*/_Ctype_char /*line :75:20*/
|
|
defer func() func() { _cgo0 := /*line :76:23*/unsafe.Pointer(errMsg); return func() { _cgoCheckPointer(_cgo0, nil); /*line :76:46*/_Cfunc_sqlite3_free(_cgo0); }}()()
|
|
|
|
rv := func() _Ctype_int{ _cgo0 := /*line :78:33*/c.db; var _cgo1 *_Ctype_char = /*line :78:39*/clib; var _cgo2 *_Ctype_char = /*line :78:45*/centry; _cgoBase3 := /*line :78:53*/&errMsg; _cgo3 := _cgoBase3; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgoBase3, 0 == 0); return /*line :78:61*/_Cfunc_sqlite3_load_extension(_cgo0, _cgo1, _cgo2, _cgo3); }()
|
|
if rv != ( /*line :79:11*/_Ciconst_SQLITE_OK /*line :79:21*/) {
|
|
return errors.New(( /*line :80:21*/_Cfunc_GoString /*line :80:30*/)(errMsg))
|
|
}
|
|
|
|
return nil
|
|
}
|