1use File::Basename;
2use Cwd 'abs_path';
3
4my $REGDIR = abs_path(dirname($0));
5my $RASTERDIR = abs_path($REGDIR . "/../raster/test/regress");
6my $FILERASTER = $RASTERDIR . "/loader/testraster.tif";
7
8# special handling for msys
9if (lc($^O) eq "msys") {
10	$FILERASTER = `cmd //c echo "$FILERASTER"`;
11	$FILERASTER =~ s/^\s+//;
12	$FILERASTER =~ s/\s+$//;
13}
14
15my $sql = <<"END";
16WITH foo AS (
17	SELECT postgis_raster_lib_version()
18)
19SELECT NULL FROM foo;
20SET postgis.gdal_enabled_drivers = 'GTiff';
21DROP TABLE IF EXISTS raster_outdb_template;
22CREATE TABLE raster_outdb_template AS
23SELECT
24	1 AS rid,
25	ST_AddBand( -- insert all three bands of out-db raster at index 1
26		ST_MakeEmptyRaster(90, 50, 0., 0., 1, -1, 0, 0, 0),
27		1, '$FILERASTER'::text, NULL::int[]
28	) AS rast
29UNION ALL
30SELECT
31	2 AS rid,
32	ST_AddBand( -- append all three bands of out-db raster
33		ST_MakeEmptyRaster(90, 50, 0., 0., 1, -1, 0, 0, 0),
34		'$FILERASTER'::text, NULL::int[]
35	) AS rast
36UNION ALL
37SELECT
38	3 AS rid,
39	ST_AddBand( -- append out-db band 2
40		ST_AddBand( -- in-db band
41			ST_MakeEmptyRaster(90, 50, 0., 0., 1, -1, 0, 0, 0),
42			1, '8BUI', 1, 0
43		),
44		'$FILERASTER'::text, ARRAY[2]::int[]
45	) AS rast
46UNION ALL
47SELECT
48	4 AS rid,
49	ST_AddBand( -- append out-db band 2
50		ST_AddBand( -- in-db band
51			ST_MakeEmptyRaster(90, 50, 0., 0., 1, -1, 0, 0, 0),
52			1, '8BUI', 1, 0
53		),
54		'$FILERASTER'::text, ARRAY[2]::int[],
55		1,
56		255
57	) AS rast
58END
59
60open(PRESQL, '>', $RASTERDIR . '/' . $TEST . '-pre.sql');
61print PRESQL $sql;
62close(PRESQL);
63
64# no longer needed as the "clean" test takes care of it
65#open(POSTSQL, '>', $RASTERDIR . '/' . $TEST . '-post.sql');
66#print POSTSQL "DROP TABLE IF EXISTS raster_outdb_template;\n";
67#close(POSTSQL);
68