1 $version = "3.0.0"
2 
3 $older_versions = @("1.5.0", "1.5.1", "1.5.2", "1.5.3", "1.5.4", "1.5.5", "1.5.6", "1.5.7", "2.0.0", "2.0.1", "2.0.3", "2.1.0", "2.1.2", "2.3.0", "2.3.1", "2.3.2", "2.3.3", "2.3.4", "2.3.5", "2.3.6", "2.3.7", "2.3.8", "2.3.9", "2.3.10", "2.3.11", "2.3.12")
4 
5 For ($i=0; $i -lt $older_versions.Length; $i++) {
6   $old_version = $older_versions[$i]
7   $upgrade = @'
8   CREATE OR REPLACE FUNCTION plv8_version ( )
9   RETURNS TEXT AS
10   $$
11   	return "{0}";
12   $$ LANGUAGE plv8;
13   CREATE OR REPLACE FUNCTION plv8_call_handler() RETURNS language_handler
14     AS 'MODULE_PATHNAME' LANGUAGE C;
15   CREATE OR REPLACE FUNCTION plv8_inline_handler(internal) RETURNS void
16     AS 'MODULE_PATHNAME' LANGUAGE C;
17   CREATE OR REPLACE FUNCTION plv8_call_validator(oid) RETURNS void
18     AS 'MODULE_PATHNAME' LANGUAGE C;
19 '@ -f $version
20   $filename = "plv8--$old_version--$version.sql"
21   $upgrade | out-file -filepath $filename
22 }
23 
24 get-content ..\..\plv8.sql.common | %{$_ -replace "@LANG_NAME@","plv8"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plv8--$version.sql
25 get-content ..\..\plv8.sql.common | %{$_ -replace "@LANG_NAME@","plls"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plls--$version.sql
26 get-content ..\..\plv8.sql.common | %{$_ -replace "@LANG_NAME@","plcoffee"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plcoffee--$version.sql
27 
28 get-content plv8.control.common | %{$_ -replace "@LANG_NAME@","JavaScript"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plv8.control
29 get-content plv8.control.common | %{$_ -replace "@LANG_NAME@","CoffeeScript"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plcoffee.control
30 get-content plv8.control.common | %{$_ -replace "@LANG_NAME@","LiveScript"} | %{$_ -replace "@PLV8_VERSION@",$version} | out-file -filepath plls.control
31 
32 get-content ..\..\plv8_config.h.in | %{$_ -replace "#undef PLV8_VERSION","#define PLV8_VERSION ""$version"""} | out-file -filepath plv8_config.h
33