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

orm: enforce that queries always return a Result, a query-resulting array can be used as a V array in place. (#17871)

This commit is contained in:
walking devel
2023-04-04 05:23:06 +00:00
committed by GitHub
parent 9addede0ea
commit 8452644ec3
67 changed files with 479 additions and 354 deletions

View File

@@ -70,16 +70,16 @@ fn sqlite3_array() ! {
sql db {
drop table Parent
drop table Child
}
} or {}
db.close() or {}
}
//
sql db {
create table Parent
}
}!
sql db {
create table Child
}
}!
par := Parent{
name: 'test'
children: [
@@ -93,10 +93,10 @@ fn sqlite3_array() ! {
}
sql db {
insert par into Parent
}
}!
parent := sql db {
select from Parent where id == 1
}
}!
eprintln(parent)
}
@@ -113,16 +113,16 @@ fn msql_array() ! {
defer {
sql db {
drop table Parent
}
} or {}
db.close()
}
//
db.query('drop table if exists Parent')!
db.query('drop table if exists Child')!
sql db {
create table Parent
create table Child
}
}!
par := Parent{
name: 'test'
children: [
@@ -136,10 +136,10 @@ fn msql_array() ! {
}
sql db {
insert par into Parent
}
}!
parent := sql db {
select from Parent where id == 1
}
}!
eprintln(parent)
}
@@ -151,11 +151,11 @@ fn psql_array() ! {
db.close()
}
db.exec_one('drop table if exists "Parent", "Child"') or { eprintln(err) }
//
sql db {
create table Parent
create table Child
}
}!
par := Parent{
name: 'test'
children: [
@@ -169,10 +169,10 @@ fn psql_array() ! {
}
sql db {
insert par into Parent
}
}!
parent := sql db {
select from Parent where id == 1
}
}!
eprintln(parent)
}
@@ -182,19 +182,17 @@ fn sqlite3() ! {
defer {
sql db {
drop table Module
}
sql db {
drop table User
}
} or {}
db.close() or {}
}
//
sql db {
create table Module
}
}!
sql db {
create table User
}
}!
mod := Module{
name: 'test'
nr_downloads: 10
@@ -206,10 +204,10 @@ fn sqlite3() ! {
}
sql db {
insert mod into Module
}
}!
modul := sql db {
select from Module where id == 1
}
}!
eprintln(modul)
}
@@ -230,13 +228,13 @@ fn msql() ! {
}
conn.query('DROP TABLE IF EXISTS Module') or { eprintln(err) }
conn.query('DROP TABLE IF EXISTS User') or { eprintln(err) }
//
sql conn {
create table Module
}
}!
sql conn {
create table User
}
}!
mod := Module{
name: 'test'
nr_downloads: 10
@@ -248,10 +246,10 @@ fn msql() ! {
}
sql conn {
insert mod into Module
}
}!
m := sql conn {
select from Module where id == 1
}
}!
eprintln(m)
}
@@ -266,7 +264,7 @@ fn psql() ! {
sql db {
create table Module
create table User
}
}!
mod := Module{
name: 'test'
nr_downloads: 10
@@ -278,13 +276,13 @@ fn psql() ! {
}
sql db {
insert mod into Module
}
}!
modul := sql db {
select from Module where id == 1
}
}!
sql db {
drop table Module
}
}!
eprintln(modul)
}

View File

@@ -44,7 +44,7 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sql db {
create table Task
}
}!
task_model := Task{
title: 'a'
@@ -55,14 +55,14 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sw.start()
sql db {
insert task_model into Task
}
} or { []Task{} }
sw.stop()
insert_stopwatchs << int(sw.end - sw.start)
}
sql db {
drop table Task
}
}!
response := Response{
insert: insert_stopwatchs

View File

@@ -31,7 +31,7 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sql db {
create table Task
}
} or { panic(err) }
task_model := Task{
title: 'a'
@@ -42,14 +42,14 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sw.start()
sql db {
insert task_model into Task
}
} or { []Task{} }
sw.stop()
insert_stopwatchs << int(sw.end - sw.start)
}
sql db {
drop table Task
}
} or { panic(err) }
response := Response{
insert: insert_stopwatchs

View File

@@ -50,7 +50,7 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sql db {
create table Task
}
} or { panic(err) }
task_model := Task{
title: 'a'
@@ -62,7 +62,7 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sw.start()
sql db {
insert task_model into Task
}
} or { panic(err) }
sw.stop()
insert_stopwatchs << int(sw.end - sw.start)
}
@@ -72,7 +72,7 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sw.start()
result := sql db {
select from Task
}
} or { []Task{} }
sw.stop()
eprintln(result)
select_stopwatchs << int(sw.end - sw.start)
@@ -83,14 +83,14 @@ pub fn (mut app App) sqlite_memory(count int) vweb.Result {
sw.start()
sql db {
update Task set title = 'b', status = 'finish' where id == i
}
} or { panic(err) }
sw.stop()
update_stopwatchs << int(sw.end - sw.start)
}
sql db {
drop table Task
}
} or { panic(err) }
response := Response{
insert: insert_stopwatchs

View File

@@ -36,7 +36,7 @@ fn (mut app App) service_auth(username string, password string) !string {
users := sql db {
select from User where username == username
}
}!
user := users.first()
if user.username != username {
return error('user not found')

View File

@@ -37,7 +37,7 @@ fn (mut app App) service_get_all_products_from(user_id int) ![]Product {
results := sql db {
select from Product where user_id == user_id
}
}!
return results
}

View File

@@ -42,7 +42,7 @@ fn (mut app App) service_get_all_user() ![]User {
results := sql db {
select from User
}
}!
return results
}
@@ -59,7 +59,7 @@ fn (mut app App) service_get_user(id int) !User {
results := sql db {
select from User where id == id
}
}!
return results.first()
}

View File

@@ -33,7 +33,7 @@ fn (mut app App) service_auth(username string, password string) !string {
users := sql db {
select from User where username == username
}
}!
if users.len == 0 {
return error('user not found')

View File

@@ -66,7 +66,7 @@ pub fn (mut app App) delete() vweb.Result {
sql db {
drop table User
}
} or { panic(err) }
return app.text('Successfully deleted table')
}

View File

@@ -33,7 +33,7 @@ fn (mut app App) service_add_user(username string, password string) !User {
users := sql db {
select from User where username == username limit 1
}
}!
return users.first()
}
@@ -50,7 +50,7 @@ fn (mut app App) service_get_user_by_id(user_id int) !User {
users := sql db {
select from User where id == user_id
}
}!
return users.first()
}
@@ -67,7 +67,7 @@ fn (mut app App) service_get_all_user() ![]User {
results := sql db {
select from User
}
}!
return results
}
@@ -84,7 +84,7 @@ fn (mut app App) service_get_by_username(username string) !User {
results := sql db {
select from User where username == username
}
}!
if results.len == 0 {
return error('User not found')