1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

db, json, time, term: change optional to result (#16201)

This commit is contained in:
yuyi
2022-10-26 16:26:28 +08:00
committed by GitHub
parent 2a7420f572
commit 992b502198
57 changed files with 340 additions and 340 deletions

View File

@@ -6,10 +6,10 @@ import net.conv
// sql expr
pub fn (db DB) @select(config orm.SelectConfig, data orm.QueryData, where orm.QueryData) ?[][]orm.Primitive {
pub fn (db DB) @select(config orm.SelectConfig, data orm.QueryData, where orm.QueryData) ![][]orm.Primitive {
query := orm.orm_select_gen(config, '"', true, '$', 1, where)
res := pg_stmt_worker(db, query, where, data)?
res := pg_stmt_worker(db, query, where, data)!
mut ret := [][]orm.Primitive{}
@@ -19,7 +19,7 @@ pub fn (db DB) @select(config orm.SelectConfig, data orm.QueryData, where orm.Qu
for row in res {
mut row_data := []orm.Primitive{}
for i, val in row.vals {
field := str_to_primitive(val, config.types[i])?
field := str_to_primitive(val, config.types[i])!
row_data << field
}
ret << row_data
@@ -30,20 +30,20 @@ pub fn (db DB) @select(config orm.SelectConfig, data orm.QueryData, where orm.Qu
// sql stmt
pub fn (db DB) insert(table string, data orm.QueryData) ? {
pub fn (db DB) insert(table string, data orm.QueryData) ! {
query, converted_data := orm.orm_stmt_gen(table, '"', .insert, true, '$', 1, data,
orm.QueryData{})
pg_stmt_worker(db, query, converted_data, orm.QueryData{})?
pg_stmt_worker(db, query, converted_data, orm.QueryData{})!
}
pub fn (db DB) update(table string, data orm.QueryData, where orm.QueryData) ? {
pub fn (db DB) update(table string, data orm.QueryData, where orm.QueryData) ! {
query, _ := orm.orm_stmt_gen(table, '"', .update, true, '$', 1, data, where)
pg_stmt_worker(db, query, data, where)?
pg_stmt_worker(db, query, data, where)!
}
pub fn (db DB) delete(table string, where orm.QueryData) ? {
pub fn (db DB) delete(table string, where orm.QueryData) ! {
query, _ := orm.orm_stmt_gen(table, '"', .delete, true, '$', 1, orm.QueryData{}, where)
pg_stmt_worker(db, query, orm.QueryData{}, where)?
pg_stmt_worker(db, query, orm.QueryData{}, where)!
}
pub fn (db DB) last_id() orm.Primitive {
@@ -54,19 +54,19 @@ pub fn (db DB) last_id() orm.Primitive {
// table
pub fn (db DB) create(table string, fields []orm.TableField) ? {
pub fn (db DB) create(table string, fields []orm.TableField) ! {
query := orm.orm_table_gen(table, '"', true, 0, fields, pg_type_from_v, false) or { return err }
pg_stmt_worker(db, query, orm.QueryData{}, orm.QueryData{})?
pg_stmt_worker(db, query, orm.QueryData{}, orm.QueryData{})!
}
pub fn (db DB) drop(table string) ? {
pub fn (db DB) drop(table string) ! {
query := 'DROP TABLE "$table";'
pg_stmt_worker(db, query, orm.QueryData{}, orm.QueryData{})?
pg_stmt_worker(db, query, orm.QueryData{}, orm.QueryData{})!
}
// utils
fn pg_stmt_worker(db DB, query string, data orm.QueryData, where orm.QueryData) ?[]Row {
fn pg_stmt_worker(db DB, query string, data orm.QueryData, where orm.QueryData) ![]Row {
mut param_types := []u32{}
mut param_vals := []&char{}
mut param_lens := []int{}
@@ -185,7 +185,7 @@ fn pg_stmt_match(mut types []u32, mut vals []&char, mut lens []int, mut formats
}
}
fn pg_type_from_v(typ int) ?string {
fn pg_type_from_v(typ int) !string {
str := match typ {
orm.type_idx['i8'], orm.type_idx['i16'], orm.type_idx['u8'], orm.type_idx['u16'] {
'SMALLINT'
@@ -224,7 +224,7 @@ fn pg_type_from_v(typ int) ?string {
return str
}
fn str_to_primitive(str string, typ int) ?orm.Primitive {
fn str_to_primitive(str string, typ int) !orm.Primitive {
match typ {
// bool
orm.type_idx['bool'] {
@@ -279,7 +279,7 @@ fn str_to_primitive(str string, typ int) ?orm.Primitive {
}
orm.time {
if str.contains_any(' /:-') {
date_time_str := time.parse(str)?
date_time_str := time.parse(str)!
return orm.Primitive(date_time_str)
}