db: fix some examples
parent
18811fb04a
commit
2dbee396fb
|
@ -271,24 +271,21 @@ ARTICLE: "db-lowlevel-tutorial" "Low-level database tutorial"
|
||||||
{ $subsections sql-query }
|
{ $subsections sql-query }
|
||||||
"Here's an example usage where we'll make a book table, insert some objects, and query them." $nl
|
"Here's an example usage where we'll make a book table, insert some objects, and query them." $nl
|
||||||
"First, let's set up a custom combinator for using our database. See " { $link "db-custom-database-combinators" } " for more details."
|
"First, let's set up a custom combinator for using our database. See " { $link "db-custom-database-combinators" } " for more details."
|
||||||
{ $code """
|
{ $code """USING: db.sqlite db io.files io.files.temp ;
|
||||||
USING: db.sqlite db io.files io.files.temp ;
|
|
||||||
: with-book-db ( quot -- )
|
: with-book-db ( quot -- )
|
||||||
"book.db" temp-file <sqlite-db> swap with-db ; inline" }
|
"book.db" temp-file <sqlite-db> swap with-db ; inline""" }
|
||||||
"Now let's create the table manually:"
|
"Now let's create the table manually:"
|
||||||
{ $code " "create table books
|
{ $code """"create table books
|
||||||
(id integer primary key, title text, author text, date_published timestamp,
|
(id integer primary key, title text, author text, date_published timestamp,
|
||||||
edition integer, cover_price double, condition text)"
|
edition integer, cover_price double, condition text)"
|
||||||
[ sql-command ] with-book-db""" }
|
[ sql-command ] with-book-db""" }
|
||||||
"Time to insert some books:"
|
"Time to insert some books:"
|
||||||
{ $code """
|
{ $code """"insert into books
|
||||||
"insert into books
|
|
||||||
(title, author, date_published, edition, cover_price, condition)
|
(title, author, date_published, edition, cover_price, condition)
|
||||||
values('Factor for Sheeple', 'Mister Stacky Pants', date('now'), 1, 13.37, 'mint')"
|
values('Factor for Sheeple', 'Mister Stacky Pants', date('now'), 1, 13.37, 'mint')"
|
||||||
[ sql-command ] with-book-db""" }
|
[ sql-command ] with-book-db""" }
|
||||||
"Now let's select the book:"
|
"Now let's select the book:"
|
||||||
{ $code """
|
{ $code """"select id, title, cover_price from books;" [ sql-query ] with-book-db""" }
|
||||||
"select id, title, cover_price from books;" [ sql-query ] with-book-db""" }
|
|
||||||
"Notice that the result of this query is a Factor array containing the database rows as arrays of strings. We would have to convert the " { $snippet "cover_price" } " from a string to a number in order to use it in a calculation." $nl
|
"Notice that the result of this query is a Factor array containing the database rows as arrays of strings. We would have to convert the " { $snippet "cover_price" } " from a string to a number in order to use it in a calculation." $nl
|
||||||
"In conclusion, this method of accessing a database is supported, but it is fairly low-level and generally specific to a single database. The " { $vocab-link "db.tuples" } " vocabulary is a good alternative to writing SQL by hand." ;
|
"In conclusion, this method of accessing a database is supported, but it is fairly low-level and generally specific to a single database. The " { $vocab-link "db.tuples" } " vocabulary is a good alternative to writing SQL by hand." ;
|
||||||
|
|
||||||
|
@ -298,8 +295,7 @@ ARTICLE: "db-custom-database-combinators" "Custom database combinators"
|
||||||
"Make a " { $snippet "with-" } " combinator to open and close a database so that resources are not leaked." $nl
|
"Make a " { $snippet "with-" } " combinator to open and close a database so that resources are not leaked." $nl
|
||||||
|
|
||||||
"SQLite example combinator:"
|
"SQLite example combinator:"
|
||||||
{ $code """
|
{ $code """USING: db.sqlite db io.files io.files.temp ;
|
||||||
USING: db.sqlite db io.files io.files.temp ;
|
|
||||||
: with-sqlite-db ( quot -- )
|
: with-sqlite-db ( quot -- )
|
||||||
"my-database.db" temp-file <sqlite-db> swap with-db ; inline""" }
|
"my-database.db" temp-file <sqlite-db> swap with-db ; inline""" }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue