projects
/
xtuple
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2c75114
)
update extension reports with existing grade or we get too many copies
author
Gil Moskowitz
<gmoskowitz@xtuple.com>
Tue, 30 Sep 2014 18:37:55 +0000
(14:37 -0400)
committer
Gil Moskowitz
<gmoskowitz@xtuple.com>
Tue, 30 Sep 2014 18:37:55 +0000
(14:37 -0400)
scripts/lib/util/convert_specialized.js
patch
|
blob
|
history
diff --git
a/scripts/lib/util/convert_specialized.js
b/scripts/lib/util/convert_specialized.js
index
c952b8a
..
af3f4eb
100644
(file)
--- a/
scripts/lib/util/convert_specialized.js
+++ b/
scripts/lib/util/convert_specialized.js
@@
-66,15
+66,12
@@
regexp:true, undef:true, strict:true, trailing:true, white:true */
}
upsertSql = "do language plpgsql $do$" +
}
upsertSql = "do language plpgsql $do$" +
- "declare _
id
integer := null;" +
+ "declare _
grade
integer := null;" +
" begin" +
" begin" +
- " update " + tableName + " set " +
- " report_descrip = $$" + description + "$$," +
- " report_source = $$" + content + "$$," +
- " report_loaddate = now() " +
- " where report_name = '" + name + "'" +
- " and report_grade = " + grade + " returning report_id into _id;" +
- " if _id is null then " +
+ " select min(report_grade) into _grade" +
+ " from " + tableName +
+ " where report_name = '" + name + "';" +
+ " if _grade is null then" +
" insert into " + tableName + " (report_name, report_descrip," +
" report_source, report_loaddate, report_grade)" +
" select '" + name + "', $$" + description + "$$," +
" insert into " + tableName + " (report_name, report_descrip," +
" report_source, report_loaddate, report_grade)" +
" select '" + name + "', $$" + description + "$$," +
@@
-82,8
+79,16
@@
regexp:true, undef:true, strict:true, trailing:true, white:true */
" from sequence" +
" where sequence_value >= " + grade + "" +
" and sequence_value not in (" +
" from sequence" +
" where sequence_value >= " + grade + "" +
" and sequence_value not in (" +
- " select c.report_grade from report c where report_name = '" + name + "'" +
+ " select report_grade from report" +
+ " where report_name = '" + name + "'" +
" );" +
" );" +
+ " else " +
+ " update " + tableName + " set" +
+ " report_descrip = $$" + description + "$$," +
+ " report_source = $$" + content + "$$," +
+ " report_loaddate = now() " +
+ " where report_name = '" + name + "'" +
+ " and report_grade = _grade;" +
" end if;" +
" end $do$;";
return upsertSql;
" end if;" +
" end $do$;";
return upsertSql;