Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class SearchQueryBuilder<T> {
private List<String> joinedTables = new ArrayList<>();
private List<String> joinedFetchedTables = new ArrayList<>();
private Class<T> clazz;
private final String default_date = "1970-01-01";

public SearchQueryBuilder(Class<T> clazz) {
this.selectClause = "SELECT distinct entity FROM " + clazz.getSimpleName() + " entity ";
Expand Down Expand Up @@ -202,7 +203,9 @@ public SearchQueryBuilder<T> appendLikeDate(String like, String columnName) {
String paramName = paramFilterPattern(columnName);

if (like != null) {
this.whereClause += " AND to_char(" + entityPrefix(columnName) + ", 'YYYY-MM-DD') LIKE :" + paramName + " ";
this.whereClause += " AND to_char(" + entityPrefix(columnName) + ", 'YYYY-MM-DD') LIKE :" + paramName + " " +
// Ensure we do not filter against the default date, which is effectively a NULL value for DeltaBreed's system.
" AND to_char(" + entityPrefix(columnName) + ", 'YYYY-MM-DD') <> '" + default_date + "' ";
this.params.put(paramName, "%" + like + "%");
}
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,20 @@ ALTER TABLE germplasm
ALTER TABLE germplasm
ADD COLUMN created_date TIMESTAMP NOT NULL
GENERATED ALWAYS AS (
make_timestamp(
substring(additional_info #>> '{createdDate}' from 7 for 4)::int, -- year
substring(additional_info #>> '{createdDate}' from 4 for 2)::int, -- month
substring(additional_info #>> '{createdDate}' from 1 for 2)::int, -- day
substring(additional_info #>> '{createdDate}' from 12 for 2)::int, -- hour
substring(additional_info #>> '{createdDate}' from 15 for 2)::int, -- minute
substring(additional_info #>> '{createdDate}' from 18 for 2)::int -- second
)
) STORED;
CASE
WHEN additional_info #>> '{createdDate}' IS NULL
THEN TIMESTAMP '1970-01-01 00:00:00'
ELSE
make_timestamp(
substring(additional_info #>> '{createdDate}' from 7 for 4)::int, -- year
substring(additional_info #>> '{createdDate}' from 4 for 2)::int, -- month
substring(additional_info #>> '{createdDate}' from 1 for 2)::int, -- day
substring(additional_info #>> '{createdDate}' from 12 for 2)::int, -- hour
substring(additional_info #>> '{createdDate}' from 15 for 2)::int, -- minute
substring(additional_info #>> '{createdDate}' from 18 for 2)::int -- second
)
END
) STORED;

ALTER TABLE germplasm
ADD COLUMN
Expand Down
Loading