setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $con->query('DROP TABLE chessopening'); $con->query('CREATE TABLE chessopening (id INTEGER NOT NULL, ' . 'names VARCHAR(255), ' . 'moves TEXT, PRIMARY KEY(id))'); $con->query("CREATE INDEX names_ix ON chessopening USING GIN(TO_TSVECTOR('english', names))"); $con->query("CREATE INDEX moves_ix ON chessopening USING GIN(TO_TSVECTOR('english',moves))"); $con->query("CREATE INDEX names_moves_ix ON chessopening USING GIN(TO_TSVECTOR('english',names || ' ' || moves))"); $con->query("INSERT INTO chessopening VALUES(1, 'Spanish defense, Ruy Lopez', '1. e4, e5, 2. Nf3, Nc6, 3. Bb5,')"); $con->query("INSERT INTO chessopening VALUES(2, 'French defense', '1. e4, e6, 2. d4, d5,')"); $con->query("INSERT INTO chessopening VALUES(3, 'Sicilian defense', '1. e4, c5,')"); $con->query("INSERT INTO chessopening VALUES(4, 'Queens gambit', '1. d4, d5, 2. c4,')"); $con->query("INSERT INTO chessopening VALUES(5, 'Dutch defense', '1. d4, f5,')"); $con->query("INSERT INTO chessopening VALUES(6, 'Reti opening', '1. Nf3, d5, 2. c4,')"); ?>