mysql #
Description:
The mysql
module has been moved to db.mysql
.
Update your code to do: import db.mysql
instead.
Constants #
const (
refresh_grant = u32(C.REFRESH_GRANT)
refresh_log = u32(C.REFRESH_LOG)
refresh_tables = u32(C.REFRESH_TABLES)
refresh_hosts = u32(C.REFRESH_HOSTS)
refresh_status = u32(C.REFRESH_STATUS)
refresh_threads = u32(C.REFRESH_THREADS)
refresh_slave = u32(C.REFRESH_SLAVE)
refresh_master = u32(C.REFRESH_MASTER)
)
MYSQL REFRESH FLAGS
fn debug #
fn debug(debug string)
debug - does a DBUG_PUSH
with the given string.
debug()
uses the Fred Fish debug library.
To use this function, you must compile the client library to support debugging.
See https://dev.mysql.com/doc/c-api/8.0/en/mysql-debug.html
fn get_client_info #
fn get_client_info() string
get_client_info - returns client version information as a string.
fn get_client_version #
fn get_client_version() u64
get_client_version - returns the client version information as an integer.
fn (Stmt) prepare #
fn (stmt Stmt) prepare() !
fn (Stmt) bind_params #
fn (stmt Stmt) bind_params() !
fn (Stmt) execute #
fn (stmt Stmt) execute() !int
fn (Stmt) next #
fn (stmt Stmt) next() !int
fn (Stmt) gen_metadata #
fn (stmt Stmt) gen_metadata() &C.MYSQL_RES
fn (Stmt) fetch_fields #
fn (stmt Stmt) fetch_fields(res &C.MYSQL_RES) &C.MYSQL_FIELD
fn (Stmt) fetch_stmt #
fn (stmt Stmt) fetch_stmt() !int
fn (Stmt) close #
fn (stmt Stmt) close() !
fn (Stmt) error #
fn (stmt Stmt) error(code int) IError
fn (Stmt) bind_bool #
fn (mut stmt Stmt) bind_bool(b &bool)
fn (Stmt) bind_byte #
fn (mut stmt Stmt) bind_byte(b &byte)
fn (Stmt) bind_u8 #
fn (mut stmt Stmt) bind_u8(b &u8)
fn (Stmt) bind_i8 #
fn (mut stmt Stmt) bind_i8(b &i8)
fn (Stmt) bind_i16 #
fn (mut stmt Stmt) bind_i16(b &i16)
fn (Stmt) bind_u16 #
fn (mut stmt Stmt) bind_u16(b &u16)
fn (Stmt) bind_int #
fn (mut stmt Stmt) bind_int(b &int)
fn (Stmt) bind_u32 #
fn (mut stmt Stmt) bind_u32(b &u32)
fn (Stmt) bind_i64 #
fn (mut stmt Stmt) bind_i64(b &i64)
fn (Stmt) bind_u64 #
fn (mut stmt Stmt) bind_u64(b &u64)
fn (Stmt) bind_f32 #
fn (mut stmt Stmt) bind_f32(b &f32)
fn (Stmt) bind_f64 #
fn (mut stmt Stmt) bind_f64(b &f64)
fn (Stmt) bind_text #
fn (mut stmt Stmt) bind_text(b string)
fn (Stmt) bind #
fn (mut stmt Stmt) bind(typ int, buffer voidptr, buf_len u32)
fn (Stmt) bind_res #
fn (mut stmt Stmt) bind_res(fields &C.MYSQL_FIELD, dataptr []&u8, lens []u32, num_fields int)
fn (Stmt) bind_result_buffer #
fn (mut stmt Stmt) bind_result_buffer() !
fn (Stmt) store_result #
fn (mut stmt Stmt) store_result() !
enum ConnectionFlag #
enum ConnectionFlag {
// CAN_HANDLE_EXPIRED_PASSWORDS = C.CAN_HANDLE_EXPIRED_PASSWORDS
client_compress = C.CLIENT_COMPRESS
client_found_rows = C.CLIENT_FOUND_ROWS
client_ignore_sigpipe = C.CLIENT_IGNORE_SIGPIPE
client_ignore_space = C.CLIENT_IGNORE_SPACE
client_interactive = C.CLIENT_INTERACTIVE
client_local_files = C.CLIENT_LOCAL_FILES
client_multi_results = C.CLIENT_MULTI_RESULTS
client_multi_statements = C.CLIENT_MULTI_STATEMENTS
client_no_schema = C.CLIENT_NO_SCHEMA
client_odbc = C.CLIENT_ODBC
// client_optional_resultset_metadata = C.CLIENT_OPTIONAL_RESULTSET_METADATA
client_ssl = C.CLIENT_SSL
client_remember_options = C.CLIENT_REMEMBER_OPTIONS
}
Values for the capabilities flag bitmask used by the MySQL protocol.
See more on https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__cs__capabilities__flags.html#details
enum FieldType #
enum FieldType {
type_decimal
type_tiny
type_short
type_long
type_float
type_double
type_null
type_timestamp
type_longlong
type_int24
type_date
type_time
type_datetime
type_year
type_newdate
type_varchar
type_bit
type_timestamp2
type_datetime2
type_time2
type_json = 245
type_newdecimal
type_enum
type_set
type_tiny_blob
type_medium_blob
type_long_blob
type_blob
type_var_string
type_string
type_geometry
}
fn (FieldType) str #
fn (f FieldType) str() string
fn (FieldType) get_len #
fn (f FieldType) get_len() u32
struct Connection #
struct Connection {
mut:
conn &C.MYSQL = C.mysql_init(0)
pub mut:
host string = '127.0.0.1'
port u32 = 3306
username string
password string
dbname string
flag ConnectionFlag
}
TODO: Documentation
fn (Connection) @select #
fn (db Connection) @select(config orm.SelectConfig, data orm.QueryData, where orm.QueryData) ![][]orm.Primitive
sql expr
fn (Connection) affected_rows #
fn (conn &Connection) affected_rows() u64
affected_rows - return the number of rows changed/deleted/inserted
by the last UPDATE
, DELETE
, or INSERT
query.
fn (Connection) autocommit #
fn (mut conn Connection) autocommit(mode bool)
autocommit - turns on/off the auto-committing mode for the connection.
When it is on, then each query is commited right away.
fn (Connection) change_user #
fn (mut conn Connection) change_user(username string, password string, dbname string) !bool
change_user - change the mysql user for the connection.
Passing an empty string for the dbname
parameter, resultsg in only changing
the user and not changing the default database for the connection.
fn (Connection) close #
fn (mut conn Connection) close()
close - closes the connection.
fn (Connection) connect #
fn (mut conn Connection) connect() !bool
connect - create a new connection to the MySQL server.
fn (Connection) create #
fn (db Connection) create(table string, fields []orm.TableField) !
table
fn (Connection) delete #
fn (db Connection) delete(table string, where orm.QueryData) !
fn (Connection) drop #
fn (db Connection) drop(table string) !
fn (Connection) dump_debug_info #
fn (mut conn Connection) dump_debug_info() !bool
dump_debug_info - instructs the server to write debugging information
to the error log. The connected user must have the SUPER
privilege.
fn (Connection) escape_string #
fn (conn &Connection) escape_string(s string) string
escape_string - creates a legal SQL string for use in an SQL statement.
The s
argument is encoded to produce an escaped SQL string,
taking into account the current character set of the connection.
fn (Connection) get_host_info #
fn (conn &Connection) get_host_info() string
get_host_info - returns a string describing the type of connection in use, including the server host name.
fn (Connection) get_option #
fn (conn &Connection) get_option(option_type int) !voidptr
get_option - return the value of an option, settable by set_option
.
https://dev.mysql.com/doc/c-api/5.7/en/mysql-get-option.html
fn (Connection) get_server_info #
fn (conn &Connection) get_server_info() string
get_server_info - returns a string representing the MySQL server version.
For example, 8.0.24
.
fn (Connection) get_server_version #
fn (conn &Connection) get_server_version() u64
get_server_version - returns an integer, representing the MySQL server version. The value has the format XYYZZ
where X
is the major version, YY
is the release level (or minor version), and ZZ
is the sub-version
within the release level. For example, 8.0.24
is returned as 80024
.
fn (Connection) info #
fn (conn &Connection) info() string
info - returns information about the most recently executed query.
See more on https://dev.mysql.com/doc/c-api/8.0/en/mysql-info.html
fn (Connection) init_stmt #
fn (db Connection) init_stmt(query string) Stmt
fn (Connection) insert #
fn (db Connection) insert(table string, data orm.QueryData) !
sql stmt
fn (Connection) last_id #
fn (db Connection) last_id() int
fn (Connection) ping #
fn (mut conn Connection) ping() !bool
ping - pings a server connection, or tries to reconnect if the connection has gone down.
fn (Connection) query #
fn (conn Connection) query(q string) !Result
query - make an SQL query and receive the results.
query()
cannot be used for statements that contain binary data;
Use real_query()
instead.
fn (Connection) real_query #
fn (mut conn Connection) real_query(q string) !Result
real_query - make an SQL query and receive the results.
real_query()
can be used for statements containing binary data.
(Binary data may contain the \0
character, which query()
interprets as the end of the statement string). In addition,
real_query()
is faster than query()
.
fn (Connection) refresh #
fn (mut conn Connection) refresh(options u32) !bool
refresh - flush the tables or caches, or resets replication server
information. The connected user must have the RELOAD
privilege.
fn (Connection) reset #
fn (mut conn Connection) reset() !bool
reset - resets the connection, and clear the session state.
fn (Connection) select_db #
fn (mut conn Connection) select_db(dbname string) !bool
select_db - change the default database for database queries.
fn (Connection) set_option #
fn (mut conn Connection) set_option(option_type int, val voidptr)
set_option - sets extra connect options that affect the behavior of a connection. This function may be called multiple times to set several
options. To retrieve the current values for an option, use get_option()
.
fn (Connection) tables #
fn (conn &Connection) tables(wildcard string) ![]string
tables - returns a list of the names of the tables in the current database,
that match the simple regular expression specified by the wildcard
parameter.
The wildcard
parameter may contain the wildcard characters %
or _
.
If an empty string is passed, it will return all tables.
Calling tables()
is similar to executing query SHOW TABLES [LIKE wildcard]
.
fn (Connection) update #
fn (db Connection) update(table string, data orm.QueryData, where orm.QueryData) !
fn (Connection) use_result #
fn (conn Connection) use_result()
use_result - reads the result of a query used after invoking mysql_real_query() or mysql_query(), for every statement that successfully produces a result set
(SELECT, SHOW, DESCRIBE, EXPLAIN, CHECK TABLE, and so forth).
This reads the result of a query directly from the server without storing it in a temporary table or local buffer,
mysql_use_result is faster and uses much less memory than C.mysql_store_result().
You must mysql_free_result() after you are done with the result set.
struct Field #
struct Field {
name string
org_name string
table string
org_table string
db string
catalog string
def string
length int
max_length int
name_length u32
org_name_length u32
table_length u32
org_table_length u32
db_length u32
catalog_length u32
def_length u32
flags u32
decimals u32
charsetnr u32
type_ FieldType
}
fn (Field) str #
fn (f Field) str() string
str - serializes the field
struct Result #
struct Result {
result &C.MYSQL_RES = unsafe { nil }
}
fn (Result) fetch_row #
fn (r Result) fetch_row() &&u8
fetch_row - fetches the next row from a result.
fn (Result) n_rows #
fn (r Result) n_rows() u64
n_rows - returns the number of rows from a result.
fn (Result) n_fields #
fn (r Result) n_fields() int
n_fields - returns the number of columns from a result.
fn (Result) rows #
fn (r Result) rows() []Row
rows - returns array of rows, each containing an array of values, one for each column.
fn (Result) maps #
fn (r Result) maps() []map[string]string
maps - returns an array of maps, each containing a set of field name: field value pairs.
fn (Result) fields #
fn (r Result) fields() []Field
fields - returns an array of fields/columns.
The definitions apply primarily for columns of results,
such as those produced by SELECT
statements.
fn (Result) free #
fn (r &Result) free()
free - frees the memory used by a result
struct Row #
struct Row {
pub mut:
vals []string
}
- README
- Constants
- fn debug
- fn get_client_info
- fn get_client_version
- type Stmt
- fn prepare
- fn bind_params
- fn execute
- fn next
- fn gen_metadata
- fn fetch_fields
- fn fetch_stmt
- fn close
- fn error
- fn bind_bool
- fn bind_byte
- fn bind_u8
- fn bind_i8
- fn bind_i16
- fn bind_u16
- fn bind_int
- fn bind_u32
- fn bind_i64
- fn bind_u64
- fn bind_f32
- fn bind_f64
- fn bind_text
- fn bind
- fn bind_res
- fn bind_result_buffer
- fn store_result
- enum ConnectionFlag
- enum FieldType
- struct Connection
- fn @select
- fn affected_rows
- fn autocommit
- fn change_user
- fn close
- fn connect
- fn create
- fn delete
- fn drop
- fn dump_debug_info
- fn escape_string
- fn get_host_info
- fn get_option
- fn get_server_info
- fn get_server_version
- fn info
- fn init_stmt
- fn insert
- fn last_id
- fn ping
- fn query
- fn real_query
- fn refresh
- fn reset
- fn select_db
- fn set_option
- fn tables
- fn update
- fn use_result
- struct Field
- struct Result
- struct Row