v icon indicating copy to clipboard operation
v copied to clipboard

orm: orm querys with parentheses not work

Open enghitalo opened this issue 3 years ago • 0 comments

Example


module main

import vweb
import sqlite

const (
	http_port = 8081
)

struct App {
	vweb.Context
}

struct Task {
mut:
	id    u32    [primary; serial; sql: serial]
	title string 
	status string
}

fn main() {
	mut db := sqlite.connect(':memory:') or { panic(err) }

	defer {
		db.close() or { panic(err) }
	}

	sql db {
		create table Task
	}

	task_models := [
		Task{
			title: 'a'
			status: 'pending'
		},
		Task{
			title: 'b'
			status: 'done'
		},
	]

	for task_model in task_models {
		sql db {
			insert task_model into Task
		}
	}

	results := sql db {
		select from Task where (title == 'b' && status == 'done') ||  id == 1 order by id
	}

	println('results: $results')
	assert results.len == 2
	assert results[0].id == 1
	assert results[1].id == 2
	assert results[0].title == 'a'
	assert results[1].title == 'b'
	assert results[0].status == 'pending'
	assert results[1].status == 'done'

	sql db {
		drop table Task
	}

}

enghitalo avatar Jul 31 '22 19:07 enghitalo