def test_read(): raw = sql.read(client).templ.raw assert_equal( raw, 'SELECT client_id, description FROM client\nWHERE client_id=%s')
with core.ScratchDB(uri, _util.createbook, autocommit=True) as scratch: manager = orm.Manager(scratch.conn) manager.insert(s.book('0002', 'book2', 1)) books = [s.book('0001', 'book1', 1), s.book('0002', 'book2', 1), s.book('0003', 'book3', 1)] try: s.book._insert.many(scratch.conn, books) except: pass yield check, manager ####################### books schema ########################## I, O, L, R = orm.joiners s.book.get_score = orm.join(sql.read(s.book) | I | s.score, 'one', as_=s.score) s.book.get_authors = orm.join( sql.read(s.book) | I | s.book_author | I | s.author, as_=s.author) s.author.get_books = orm.join( sql.read(s.author) | I | s.book_author | I | s.book, as_=s.book) s.score.get_books = orm.join(sql.read(s.score) | I | s.book, as_=s.book) def testQuery(): from sqlplain import sql templ = 'SELECT {} FROM book'.format(s.book._columns) assert_equal(str(sql.Query(templ, 'all', as_=s.book)), 'SELECT code, title, score FROM book')