Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190110.sql =================================================================== diff -u -r0e4c7116d2a7bad8056eef2c5de478a7642040d6 -re6b461918b2b8c7e791407b868c5f5b1991c7744 --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190110.sql (.../patch20190110.sql) (revision 0e4c7116d2a7bad8056eef2c5de478a7642040d6) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190110.sql (.../patch20190110.sql) (revision e6b461918b2b8c7e791407b868c5f5b1991c7744) @@ -3,8 +3,7 @@ -- AUTO COMMIT stays ON because there is so many ALTER TABLE statements which are committed immediately anyway, that it does not make a difference -- Create QB question table -CREATE TABLE lams_qb_question (`uid` BIGINT AUTO_INCREMENT, - `local` TINYINT(1) NOT NULL DEFAULT 0, +CREATE TABLE lams_qb_question (`uid` BIGINT AUTO_INCREMENT, `type` TINYINT NOT NULL, `question_id` INT NOT NULL, `version` SMALLINT NOT NULL DEFAULT 1, @@ -31,8 +30,7 @@ `tmp_question_id` BIGINT, PRIMARY KEY (uid), INDEX (tmp_question_id), - CONSTRAINT UQ_question_version UNIQUE INDEX (question_id, version), - INDEX (`local`)); + CONSTRAINT UQ_question_version UNIQUE INDEX (question_id, version)); -- Create a question table from which tools' questions will inherit CREATE TABLE lams_qb_tool_question (`tool_question_uid` BIGINT AUTO_INCREMENT, @@ -117,8 +115,8 @@ -- fill Question Bank question table with unique questions, with manually incremented question ID SET @question_id = (SELECT IF(MAX(question_id) IS NULL, 0, MAX(question_id)) FROM lams_qb_question); -INSERT INTO lams_qb_question (uid, `local`, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) - SELECT NULL, 0, 1, @question_id:=@question_id + 1, 1, IFNULL(c.creation_date, NOW()), +INSERT INTO lams_qb_question (uid, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) + SELECT NULL, 1, @question_id:=@question_id + 1, 1, IFNULL(c.creation_date, NOW()), mcq.question, NULL, IFNULL(mcq.max_mark, 1), mcq.feedback, q.target_uid FROM (SELECT uid, question AS question, @@ -241,8 +239,8 @@ UPDATE lams_qb_question SET tmp_question_id = -1; -- fill Question Bank question table with unique questions, with manually incremented question ID -INSERT INTO lams_qb_question (uid, `local`, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) - SELECT NULL, 0, 1, @question_id:=@question_id + 1, 1, sq.create_date, +INSERT INTO lams_qb_question (uid, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) + SELECT NULL, 1, @question_id:=@question_id + 1, 1, sq.create_date, sq.question, sq.description, NULL, NULL, q.target_uid FROM (SELECT uid, title AS question, Index: lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java =================================================================== diff -u -r0aef35102feca598ab1e78ada3a23164205eee9e -re6b461918b2b8c7e791407b868c5f5b1991c7744 --- lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision 0aef35102feca598ab1e78ada3a23164205eee9e) +++ lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision e6b461918b2b8c7e791407b868c5f5b1991c7744) @@ -79,7 +79,7 @@ @Override public List getQbQuestionsByQuestionId(Integer questionId) { final String FIND_QUESTIONS_BY_QUESTION_ID = "FROM " + QbQuestion.class.getName() - + " WHERE questionId = :questionId AND local = 0 ORDER BY version ASC"; + + " WHERE questionId = :questionId ORDER BY version ASC"; Query q = getSession().createQuery(FIND_QUESTIONS_BY_QUESTION_ID, QbQuestion.class); q.setParameter("questionId", questionId); @@ -144,13 +144,12 @@ + " SELECT biggerQuestion.* FROM lams_qb_question biggerQuestion " + " LEFT OUTER JOIN lams_qb_option qboption1 " + " ON qboption1.qb_question_uid = biggerQuestion.uid " - + " WHERE biggerQuestion.type = :questionType " + " AND biggerQuestion.local = 0 " + + " WHERE biggerQuestion.type = :questionType " + " AND (REGEXP_REPLACE(biggerQuestion.description, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')" + " OR biggerQuestion.name LIKE CONCAT('%', :searchString, '%') " + " OR REGEXP_REPLACE(qboption1.name, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')) " + ") AS biggerQuestion ON question.question_id = biggerQuestion.question_id AND question.version < biggerQuestion.version " + " WHERE biggerQuestion.version is NULL " + " AND question.type = :questionType " - + " AND question.local = 0 " + " AND (REGEXP_REPLACE(question.description, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')" + " OR question.name LIKE CONCAT('%', :searchString, '%') " + " OR REGEXP_REPLACE(qboption.name, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')) "; @@ -200,13 +199,12 @@ + " SELECT biggerQuestion.* FROM lams_qb_question biggerQuestion " + " LEFT OUTER JOIN lams_qb_option qboption1 " + " ON qboption1.qb_question_uid = biggerQuestion.uid " - + " WHERE biggerQuestion.type = :questionType " + " AND biggerQuestion.local = 0 " + + " WHERE biggerQuestion.type = :questionType " + " AND (REGEXP_REPLACE(biggerQuestion.description, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')" + " OR biggerQuestion.name LIKE CONCAT('%', :searchString, '%') " + " OR REGEXP_REPLACE(qboption1.name, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')) " + ") AS biggerQuestion ON question.question_id = biggerQuestion.question_id AND question.version < biggerQuestion.version " + " WHERE biggerQuestion.version is NULL " + " AND question.type = :questionType " - + " AND question.local = 0 " + " AND (REGEXP_REPLACE(question.description, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')" + " OR question.name LIKE CONCAT('%', :searchString, '%') " + " OR REGEXP_REPLACE(qboption.name, '<[^>]*>+', '') LIKE CONCAT('%', :searchString, '%')) "; Index: lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java =================================================================== diff -u -rb41c8a8bc5134e78088378360a37f3906fadb3de -re6b461918b2b8c7e791407b868c5f5b1991c7744 --- lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java (.../QbQuestion.java) (revision b41c8a8bc5134e78088378360a37f3906fadb3de) +++ lams_common/src/java/org/lamsfoundation/lams/qb/model/QbQuestion.java (.../QbQuestion.java) (revision e6b461918b2b8c7e791407b868c5f5b1991c7744) @@ -49,11 +49,6 @@ @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; - // is the question searchable in Question Bank - // or rathe it is a tool's private data - @Column - private Boolean local = true; - // one of question types @Column private Integer type; @@ -204,14 +199,6 @@ return uid; } - public Boolean getLocal() { - return local; - } - - public void setLocal(Boolean local) { - this.local = local; - } - public Integer getType() { return type; }