57 lines
1.8 KiB
Factor
57 lines
1.8 KiB
Factor
! See http://factorcode.org/license.txt for license.
|
|
! Simple test for mysql library
|
|
! libs/mysql/test/mysql-example.factor
|
|
|
|
IN: mysql-example
|
|
REQUIRES: libs/mysql ;
|
|
USING: sequences mysql modules prettyprint kernel io math tools namespaces test ;
|
|
|
|
"Testing..." print nl
|
|
|
|
: get-drop-table ( -- s )
|
|
"DROP TABLE if exists DISCUSSION_FORUM" ;
|
|
|
|
: get-insert-table ( -- s )
|
|
{
|
|
"INSERT INTO DISCUSSION_FORUM(category, full_name, email, title, main_url, keywords, message) "
|
|
"VALUES('none', 'John Doe', 'johndoe@test.com', 'The Message', NULL, NULL, 'Testing')"
|
|
} "" join ;
|
|
|
|
: get-update-table ( -- s )
|
|
"UPDATE DISCUSSION_FORUM set category = 'my-new-category'" ;
|
|
|
|
: get-delete-table ( -- s )
|
|
"DELETE FROM DISCUSSION_FORUM where id = 2" ;
|
|
|
|
: get-create-table ( -- s )
|
|
{
|
|
"create table DISCUSSION_FORUM("
|
|
"id int(11) NOT NULL auto_increment,"
|
|
"category varchar(128),"
|
|
"full_name varchar(128) NOT NULL,"
|
|
"email varchar(128) NOT NULL,"
|
|
"title varchar(255) NOT NULL,"
|
|
"main_url varchar(255),"
|
|
"keywords varchar(255),"
|
|
"message text NOT NULL,"
|
|
"created_on DATETIME NOT NULL DEFAULT '0000-00-0000:00:00',"
|
|
"PRIMARY KEY (id));"
|
|
} "" join ;
|
|
|
|
[ "localhost" "factoruser" "mysqlfactor" "factordb_development" 0 [
|
|
get-drop-table mysql-command drop
|
|
get-create-table mysql-command drop
|
|
get-update-table mysql-command drop
|
|
get-delete-table mysql-command drop
|
|
|
|
! Insert multiple records
|
|
20 [
|
|
get-insert-table mysql-command 2drop
|
|
] each
|
|
|
|
"select * from discussion_forum order by created_on" mysql-query drop
|
|
mysql-result>seq mysql-print-table
|
|
|
|
] with-mysql ] time
|
|
|
|
"Done" print |