Revision 862

View differences:

tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/buildNumber.properties
1
#Thu Jul 29 22:56:43 CEST 2021
2
buildNumber=2227
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
1
<assembly>
2
  <id>gvsig-plugin-package</id>
3
  <formats>
4
    <format>zip</format>
5
  </formats>
6
  <baseDirectory>${project.artifactId}</baseDirectory>
7
  <includeBaseDirectory>true</includeBaseDirectory>
8
  <files>
9
    <file>
10
      <source>target/${project.artifactId}-${project.version}.jar</source>
11
      <outputDirectory>lib</outputDirectory>
12
    </file>
13
    <file>
14
      <source>target/package.info</source>
15
    </file>
16
    <file>
17
      <source>src/main/resources-plugin/config.xml</source>
18
    </file>
19
  </files>
20

  
21
  <dependencySets>
22
  
23
    <dependencySet>
24
      <useProjectArtifact>false</useProjectArtifact>
25
      <useTransitiveDependencies>false</useTransitiveDependencies>
26
      <outputDirectory>lib</outputDirectory>
27
      <includes>
28
        <include>org.gvsig:org.gvsig.postgresql.provider</include>
29
      </includes>
30
    </dependencySet>
31
    
32
    <dependencySet>
33
      <useProjectArtifact>false</useProjectArtifact>
34
      <useTransitiveDependencies>false</useTransitiveDependencies>
35
      <outputDirectory>lib</outputDirectory>
36
      <includes>
37
		<include>org.postgresql:postgresql</include>
38
		<include>org.apache.commons:commons-dbcp2</include>
39
		<include>org.apache.commons:commons-pool2</include>
40
      </includes>
41
    </dependencySet>
42
    
43
  </dependencySets>
44

  
45
</assembly>
46

  
47

  
48

  
49

  
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
  <libraries library-dir="lib/"/>
4
  <depends plugin-name="org.gvsig.app.mainplugin"/>
5
  <resourceBundle name="text"/>
6
  <extensions>
7
     <extension class-name="org.gvsig.andami.LibraryExtension" active="false"/>
8
  </extensions>    
9
</plugin-config>
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/i18n/text.properties
1
_PostgreSQL_loading_parameters=Par\u00e1metros de carga de PostgreSQL
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
1
_PostgreSQL_loading_parameters=PostgreSQL loading parameters
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.app.mainplugin</artifactId>
7
  <packaging>jar</packaging>
8
  <name>${project.artifactId}</name>
9
  <description>PostgreSQL file format support</description>
10

  
11
  <parent>
12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.postgresql.app</artifactId>
14
      <version>2.0.170</version>
15
  </parent>
16

  
17
  <dependencies>
18
    <dependency>
19
        <groupId>org.gvsig</groupId>
20
        <artifactId>org.gvsig.tools.lib</artifactId>
21
        <scope>compile</scope>
22
    </dependency>
23
    <dependency>
24
        <groupId>org.gvsig</groupId>
25
        <artifactId>org.gvsig.andami</artifactId>
26
        <scope>compile</scope>
27
    </dependency>
28
    <dependency>
29
        <groupId>org.gvsig</groupId>
30
        <artifactId>org.gvsig.postgresql.provider</artifactId>
31
        <scope>compile</scope>
32
    </dependency>
33
    
34
    <dependency>
35
      <groupId>org.postgresql</groupId>
36
      <artifactId>postgresql</artifactId>
37
      <scope>runtime</scope>
38
    </dependency>
39
    <dependency>
40
      <groupId>org.apache.commons</groupId>
41
      <artifactId>commons-dbcp2</artifactId>
42
      <scope>runtime</scope>
43
    </dependency>    
44
    <dependency>
45
      <groupId>org.apache.commons</groupId>
46
      <artifactId>commons-pool2</artifactId>
47
      <scope>runtime</scope>
48
    </dependency>
49

  
50
  </dependencies>
51
  
52
    <properties>
53
        <!-- Package info property values -->
54
        <!-- Default values in org.gvsig.desktop -->
55
        <gvsig.package.info.name>Formats: PostgreSQL support</gvsig.package.info.name>
56
        <gvsig.package.info.state>testing</gvsig.package.info.state>
57
        <gvsig.package.info.official>true</gvsig.package.info.official>
58
        <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.0.1</gvsig.package.info.dependencies>
59
        <gvsig.package.info.categories>Formats,Vector,Database</gvsig.package.info.categories>
60
        <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-postgresql/pool/</gvsig.package.info.poolURL>
61
    </properties>
62
  
63

  
64
</project>
0 65

  
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.app/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.app</artifactId>
7
  <packaging>pom</packaging>
8
  <name>${project.artifactId}</name>
9
  <parent>
10
      <groupId>org.gvsig</groupId>
11
      <artifactId>org.gvsig.postgresql</artifactId>
12
      <version>2.0.170</version>
13
  </parent>
14

  
15
  <modules>
16
    <module>org.gvsig.postgresql.app.mainplugin</module>
17
    <!--
18
    <module>org.gvsig.postgresql.app.export</module>
19
    -->
20
  </modules>
21

  
22
</project>
tags/org.gvsig.postgresql-2.0.170/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql</artifactId>
7
  <version>2.0.170</version>
8
  <packaging>pom</packaging>
9
  <name>${project.artifactId}</name>
10
  <description>PostgreSQL support fort DAL and gvSIG</description>
11
  <parent>
12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.desktop</artifactId>
14
      <version>2.0.331</version>
15
  </parent>
16

  
17
  <url>https://devel.gvsig.org/redmine/projects/gvsig-postgresql</url>
18
  <scm>
19
      <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-postgresql/tags/org.gvsig.postgresql-2.0.170</connection>
20
      <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-postgresql/tags/org.gvsig.postgresql-2.0.170</developerConnection>
21
      <url>https://devel.gvsig.org/redmine/projects/gvsig-postgresql/repository/show/tags/org.gvsig.postgresql-2.0.170</url>
22
  </scm>
23

  
24
    <repositories>
25
        <repository>
26
            <id>gvsig-public-http-repository</id>
27
            <name>gvSIG maven public HTTP repository</name>
28
            <url>http://devel.gvsig.org/m2repo/j2se</url>
29
            <releases>
30
                <enabled>true</enabled>
31
                <updatePolicy>daily</updatePolicy>
32
                <checksumPolicy>warn</checksumPolicy>
33
            </releases>
34
            <snapshots>
35
                <enabled>true</enabled>
36
                <updatePolicy>daily</updatePolicy>
37
                <checksumPolicy>warn</checksumPolicy>
38
            </snapshots>
39
        </repository>
40
    </repositories>
41
  
42
  
43
	<build>
44
		<plugins>
45
			<plugin>
46
				<groupId>org.apache.maven.plugins</groupId>
47
				<artifactId>maven-release-plugin</artifactId>
48
				<configuration>
49
					<tagBase>https://devel.gvsig.org/svn/gvsig-postgresql/tags/</tagBase>
50
					<goals>deploy</goals>
51
				</configuration>
52
			</plugin>
53
		</plugins>
54
	</build>
55

  
56

  
57
  <dependencyManagement>
58
      <dependencies>
59
          <dependency>
60
            <groupId>org.gvsig</groupId>
61
            <artifactId>org.gvsig.postgresql.provider</artifactId>
62
            <version>2.0.170</version>
63
          </dependency>
64
          <dependency>
65
            <groupId>org.gvsig</groupId>
66
            <artifactId>org.gvsig.postgresql.app.mainplugin</artifactId>
67
            <version>2.0.170</version>
68
          </dependency>
69
        <dependency>
70
            <groupId>org.postgresql</groupId>
71
            <artifactId>postgresql</artifactId>
72
            <version>42.2.6</version>
73
        </dependency>
74
        <dependency>
75
          <groupId>org.apache.commons</groupId>
76
          <artifactId>commons-dbcp2</artifactId>
77
          <version>2.7.0</version>
78
        </dependency>   
79
        <dependency>
80
            <groupId>org.apache.commons</groupId>
81
            <artifactId>commons-pool2</artifactId>
82
            <version>2.7.0</version>
83
        </dependency>
84
      </dependencies>
85
  </dependencyManagement>
86
 
87
  <modules>
88
    <module>org.gvsig.postgresql.app</module>
89
    <module>org.gvsig.postgresql.provider</module>
90
  </modules>
91

  
92
</project>
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.provider</artifactId>
7
  <packaging>jar</packaging>
8
  <name>${project.artifactId}</name>
9
  <description>DAL provider for PostgeSQL files</description>
10
  <parent>
11
    <groupId>org.gvsig</groupId>
12
    <artifactId>org.gvsig.postgresql</artifactId>
13
    <version>2.0.170</version>
14
  </parent>
15
  <dependencies>
16
    <dependency>
17
      <groupId>com.googlecode.log4jdbc</groupId>
18
      <artifactId>log4jdbc</artifactId>
19
      <scope>compile</scope>
20
    </dependency>
21
    <dependency>
22
      <groupId>org.gvsig</groupId>
23
      <artifactId>org.gvsig.tools.lib</artifactId>
24
      <scope>compile</scope>
25
    </dependency>
26
    <dependency>
27
      <groupId>org.gvsig</groupId>
28
      <artifactId>org.gvsig.projection.api</artifactId>
29
      <scope>compile</scope>
30
    </dependency>
31
    <dependency>
32
      <groupId>org.gvsig</groupId>
33
      <artifactId>org.gvsig.fmap.dal.api</artifactId>
34
      <scope>compile</scope>
35
    </dependency>
36
    
37
    <dependency>
38
      <groupId>org.gvsig</groupId>
39
      <artifactId>org.gvsig.fmap.dal.db.jdbc</artifactId>
40
      <scope>compile</scope>
41
    </dependency>
42

  
43
    <dependency>
44
      <groupId>org.gvsig</groupId>
45
      <artifactId>org.gvsig.fmap.dal.db.lib</artifactId>
46
      <scope>compile</scope>
47
    </dependency>
48
    
49
    <dependency>
50
      <groupId>org.gvsig</groupId>
51
      <artifactId>org.gvsig.fmap.dal.spi</artifactId>
52
      <scope>compile</scope>
53
    </dependency>
54
    <dependency>
55
      <groupId>org.gvsig</groupId>
56
      <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
57
      <scope>compile</scope>
58
    </dependency>
59
    <dependency>
60
      <groupId>org.gvsig</groupId>
61
      <artifactId>org.gvsig.fmap.geometry.api</artifactId>
62
      <scope>compile</scope>
63
    </dependency>
64
    <!--
65
    <dependency>
66
        <groupId>org.gvsig</groupId>
67
        <artifactId>org.gvsig.fmap.geometry.operation</artifactId>
68
        <scope>compile</scope>
69
    </dependency>
70
    -->
71
    <dependency>
72
      <groupId>org.gvsig</groupId>
73
      <artifactId>org.gvsig.timesupport.lib.api</artifactId>
74
      <scope>compile</scope>
75
    </dependency>  
76
    <dependency>
77
      <groupId>org.gvsig</groupId>
78
      <artifactId>org.gvsig.utils</artifactId>
79
      <scope>compile</scope>
80
    </dependency>
81
    <dependency>
82
      <groupId>org.postgresql</groupId>
83
      <artifactId>postgresql</artifactId>
84
      <scope>compile</scope>
85
    </dependency>
86
    <dependency>
87
        <groupId>org.apache.commons</groupId>
88
        <artifactId>commons-dbcp2</artifactId>
89
    </dependency>
90
    <dependency>
91
        <groupId>org.apache.commons</groupId>
92
        <artifactId>commons-pool2</artifactId>
93
    </dependency>
94
    <dependency>
95
      <groupId>commons-collections</groupId>
96
      <artifactId>commons-collections</artifactId>
97
      <scope>compile</scope>
98
    </dependency>
99

  
100

  
101
    <!-- TESTS -->
102
    <dependency>
103
      <groupId>org.gvsig</groupId>
104
      <artifactId>org.gvsig.tools.lib</artifactId>
105
      <type>test-jar</type>
106
      <scope>test</scope>
107
    </dependency>
108
    <dependency>
109
      <groupId>org.gvsig</groupId>
110
      <artifactId>org.gvsig.compat.se</artifactId>
111
      <scope>test</scope>
112
    </dependency>
113
    <dependency>
114
      <groupId>org.gvsig</groupId>
115
      <artifactId>org.gvsig.fmap.dal.impl</artifactId>
116
      <scope>test</scope>
117
    </dependency>
118
    <dependency>
119
      <groupId>org.gvsig</groupId>
120
      <artifactId>org.gvsig.fmap.dal.file.csv</artifactId>
121
      <scope>test</scope>
122
    </dependency>
123
    <dependency>
124
      <groupId>org.gvsig</groupId>
125
      <artifactId>org.gvsig.tools.util.impl</artifactId>
126
      <scope>test</scope>
127
    </dependency>
128
    <dependency>
129
      <groupId>org.gvsig</groupId>
130
      <artifactId>org.gvsig.tools.swing.impl</artifactId>
131
      <scope>test</scope>
132
    </dependency>
133
    <dependency>
134
      <groupId>org.gvsig</groupId>
135
      <artifactId>${org.gvsig.fmap.geometry.impl}</artifactId>
136
      <scope>test</scope>
137
    </dependency>    
138
    <dependency>
139
      <groupId>org.gvsig</groupId>
140
      <artifactId>org.gvsig.expressionevaluator.geometry.lib.impl</artifactId>
141
      <scope>test</scope>
142
    </dependency>    
143
    <dependency>
144
      <groupId>org.gvsig</groupId>
145
      <artifactId>${org.gvsig.proj.lib.impl}</artifactId>
146
      <scope>test</scope>
147
    </dependency>
148
    <dependency>
149
      <groupId>org.gvsig</groupId>
150
      <artifactId>org.gvsig.projection.cresques.impl</artifactId>
151
      <scope>test</scope>
152
    </dependency>
153
    <dependency>
154
      <groupId>org.gvsig</groupId>
155
      <artifactId>org.gvsig.timesupport.lib.impl</artifactId>
156
      <scope>test</scope>
157
    </dependency>
158
    <dependency>
159
      <groupId>org.gvsig</groupId>
160
      <artifactId>org.gvsig.metadata.lib.basic.impl</artifactId>
161
      <scope>test</scope>
162
    </dependency>      
163
    
164
    
165
    <dependency>
166
      <artifactId>junit</artifactId>
167
      <groupId>junit</groupId>
168
      <scope>test</scope>
169
    </dependency>
170
  </dependencies>
171

  
172
  <build>
173
    <plugins>
174

  
175
      <!-- Skip test execution ? -->
176
      <plugin>
177
        <groupId>org.apache.maven.plugins</groupId>
178
        <artifactId>maven-surefire-plugin</artifactId>
179
        <configuration>
180
          <skipTests>false</skipTests>
181
        </configuration>
182
      </plugin>
183
        
184
      <!-- Skip test compilation ? -->
185
      <plugin>
186
        <groupId>org.apache.maven.plugins</groupId>
187
        <artifactId>maven-compiler-plugin</artifactId>
188
        <executions>
189
          <execution>
190
            <id>default-testCompile</id>
191
            <phase>process-test-sources</phase>
192
            <goals>
193
              <goal>testCompile</goal>
194
            </goals>
195
            <configuration>
196
              <skip>false</skip>
197
            </configuration>
198
          </execution>
199
        </executions>
200
      </plugin>
201

  
202
      <!-- Ignore test execution failure ? -->
203
      <plugin>
204
        <groupId>org.apache.maven.plugins</groupId>
205
        <artifactId>maven-surefire-plugin</artifactId>
206
        <configuration>
207
          <testFailureIgnore>true</testFailureIgnore>
208
        </configuration>
209
      </plugin>
210

  
211
    </plugins>
212
  </build>
213

  
214
</project>
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/count.sql
1

  
2
-- Count SQL
3
SELECT COUNT(*) FROM "dbtest"."public"."test";
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/resultSetForSetProvider.sql
1

  
2
-- ResultSetForSetProvider SQL
3
SELECT 
4
    "ID", "Byte", "Bool1", "Long", "Timestamp", "Date", "Time", 
5
    "Bool2", "String", "Bool3", "Double", "Bool4", "Float", "Bool5", "Decimal", 
6
    ST_AsBinary("Geometry") 
7
  FROM "dbtest"."public"."test";
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/fetchFeatureProviderByReference.sql
1

  
2
-- FetchFeatureProviderByReference SQL
3

  
4
SELECT 
5
    "ID", "Byte", "Bool1", "Long", "Timestamp", "Date", "Time", "Bool2", 
6
    "String", "Bool3", "Double", "Bool4", "Float", "Bool5", "Decimal", 
7
    ST_AsBinary("Geometry") 
8
  FROM "dbtest"."public"."test" 
9
  WHERE ( ("ID") = (?) ) LIMIT 1;
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/calculateEnvelope.sql
1

  
2
-- Count SQL
3

  
4
SELECT 
5
  ST_AsBinary(ST_Extent("Geometry")) 
6
  FROM "dbtest"."public"."test" 
7
  WHERE ( ("Geometry") IS NOT NULL );
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/createTable.sql
1

  
2
-- Se usa en TestCreateTable.
3
-- Se corresponde con el fichero CSV "testCreateSource1.csv".
4

  
5
CREATE TABLE "dbtest"."public"."test" (
6
    "ID" INT NOT NULL PRIMARY KEY, 
7
    "Byte" TINYINT DEFAULT NULL NULL, 
8
    "Bool1" BOOLEAN DEFAULT NULL NULL, 
9
    "Long" BIGINT DEFAULT NULL NULL, 
10
    "Timestamp" TIMESTAMP DEFAULT NULL NULL, 
11
    "Date" DATE DEFAULT NULL NULL, 
12
    "Time" TIME DEFAULT NULL NULL, 
13
    "Bool2" BOOLEAN DEFAULT NULL NULL, 
14
    "String" VARCHAR(30) DEFAULT NULL NULL, 
15
    "Bool3" BOOLEAN DEFAULT NULL NULL, 
16
    "Double" DOUBLE PRECISION DEFAULT NULL NULL, 
17
    "Bool4" BOOLEAN DEFAULT NULL NULL, 
18
    "Float" REAL DEFAULT NULL NULL, 
19
    "Bool5" BOOLEAN DEFAULT NULL NULL, 
20
    "Decimal" NUMERIC(6,3) DEFAULT NULL NULL 
21
);
22

  
23
SELECT AddGeometryColumn('public' , 'test' , 'Geometry', 4326 , 'POINT' , 2, TRUE);
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/dropTable.sql
1

  
2
-- Count SQL
3
DROP TABLE "dbtest"."public"."test";
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/testCreateSource1.csv
1
ID/Integer/set/pk=true;Byte/Byte;Bool1/Boolean;Long/Long;Timestamp/TimeStamp;Date/Date;Time/Time;Bool2/Boolean;String/String/set/size=30;Bool3/Boolean;Double/Double;Bool4/Boolean;Float/Float;Bool5/Boolean;Decimal/Decimal/set/precision=6/set/scale=3;Geometry/Geometry/set/geomtype=Point:2D/set/srs=EPSG:4326
2
0;  ; ;    ;              ;        ;      ; ;      ; ;           ; ;      ;T;       ;
3
1;10;T;1000;20191229121314;20191229;121314;T;Yo yo1;F;12345.54321;T;123.21;T;456.123;POINT (-3.8945156972987958 42.01053743584765)
4
2;20;T;2000;20191129121314;20191129;131314;T;Yo yo2;F;12100.54321;T;100.21;T;456.123;POINT (-2.1079618220646115 41.983079082675474)
5
3;30;T;3000;20191029121314;20191029;141314;T;Yo yo3;F;12101.54321;T;101.21;T;456.123;POINT (-2.57249737803327 41.35372113353277)
6
4;40;T;4000;20190929121314;20190929;151314;T;Yo yo4;F;12102.54321;T;102.21;T;456.123;POINT (-4.061822048036304 41.35877680235475)
7
5;50;T;5000;20190829121314;20190829;161314;T;Yo yo5;F;12103.54321;T;103.21;T;456.123;POINT (-3.974317066986988 40.78701209315094)
8
6;60;T;6000;20190729121314;20190729;171314;T;Yo yo6;F;12104.54321;T;104.21;T;456.123;POINT (-2.510509736717547 40.69847453392384)
9
7;70;T;7000;20190629121314;20190629;181314;T;Yo yo7;F;12105.54321;T;105.21;T;456.123;POINT (-0.5317736981843011 40.66396082637622)
10
8;80;T;8000;20190529121314;20190529;191314;T;Yo yo8;F;12106.54321;T;106.21;T;456.123;POINT (-0.3626917259170671 41.13652386601604)
11
9;90;T;9000;20190429121314;20190429;201314;T;Yo yo9;F;12107.54321;T;107.21;T;456.123;POINT (-1.2461823078608523 41.84950010180092)
12
10;;T;1001;20191229121314;20191229;121314;T;Yo yo1;F;12345.54321;T;123.21;T;456.123;POINT (-1.2145405488596532 41.22158511004416)
13
11;22; ;2002;20191129121314;20191129;131314;T;Yo yo2;F;12100.54321;T;100.21;T;456.123;POINT (-0.7699089544899235 41.630581204431756)
14
12;33;T; ;20190929121314;20191029;141314;T;Yo yo3;F;12101.54321;T;101.21;T;456.123;POINT (0.4821915816701051 41.75970939133133)
15
13;41;T;4001; ;20190929;151314;T;Yo yo4;F;12102.54321;T;102.21;T;456.123;POINT (0.7912661147227479 41.919324620992036)
16
14;52;T;5002;20190829121314; ;161314;T;Yo yo5;F;12103.54321;T;103.21;T;456.123;POINT (1.052534629531243 41.493736996249545)
17
15;63;T;6003;20190729121314;20190729; ;T;Yo yo6;F;12104.54321;T;104.21;T;456.123;POINT (0.8097002367335026 41.0899480235613)
18
16;74;T;7004;20190629121314;20190629;181314;T; ;F;12105.54321;T;105.21;T;456.123;POINT (-0.4883960310112362 41.17597288081971)
19
17;85;T;8005;20190529121314;20190529;191314;T;Yo yo8;F; ;T;106.21;T;456.123;POINT (-0.6439030698437881 40.89530766155764)
20
18;96;T;9006;20190429121314;20190429;201314;T;Yo yo9;F;12107.54321;T; ;T; ;POINT (-1.3061826868199504 40.72372835570524)
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/tableIsEmpty.sql
1

  
2
-- Table is empty
3
SELECT * FROM "dbtest"."public"."test" LIMIT 1;
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/performChanges.sql
1

  
2
-- Insert SQL
3
INSERT INTO "dbtest"."public"."test" ( 
4
      "ID", "Byte", "Bool1", "Long", "Timestamp", "Date", "Time", 
5
      "Bool2", "String", "Bool3", "Double", "Bool4", "Float", "Bool5", 
6
      "Decimal", "Geometry" 
7
  ) VALUES ( 
8
    ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ST_GeomFromWKB((?), (?)) 
9
  );
10

  
11
-- Delete SQL
12
DELETE FROM "dbtest"."public"."test" WHERE ( ("ID") = (?) );
13

  
14
-- Update SQL
15
UPDATE "dbtest"."public"."test" 
16
  SET 
17
    "Byte" = ?, 
18
    "Bool1" = ?, 
19
    "Long" = ?, 
20
    "Timestamp" = ?, 
21
    "Date" = ?, 
22
    "Time" = ?, 
23
    "Bool2" = ?, 
24
    "String" = ?, 
25
    "Bool3" = ?, 
26
    "Double" = ?, 
27
    "Bool4" = ?, 
28
    "Float" = ?, 
29
    "Bool5" = ?, 
30
    "Decimal" = ?, 
31
    "Geometry" = ST_GeomFromWKB((?), (?)) 
32
  WHERE 
33
    ( ("ID") = (?) );
34

  
35

  
36
-- Update Table SQL
37
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Byte" TINYINT DEFAULT NULL NULL;
38
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Bool1" BOOLEAN DEFAULT NULL NULL;
39
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Long" BIGINT DEFAULT NULL NULL;
40
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Timestamp" TIMESTAMP DEFAULT NULL NULL;
41
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Date" DATE DEFAULT NULL NULL;
42
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Time" TIME DEFAULT NULL NULL;
43
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Bool2" BOOLEAN DEFAULT NULL NULL;
44
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "String" VARCHAR(30) DEFAULT NULL NULL;
45
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Bool3" BOOLEAN DEFAULT NULL NULL;
46
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Double" DOUBLE PRECISION DEFAULT NULL NULL;
47
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Bool4" BOOLEAN DEFAULT NULL NULL;
48
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Float" REAL DEFAULT NULL NULL;
49
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Bool5" BOOLEAN DEFAULT NULL NULL;
50
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Decimal" NUMERIC(6,3) DEFAULT NULL NULL;
51
ALTER TABLE "dbtest"."public"."test" ADD COLUMN "Geometry" TEXT DEFAULT NULL NULL;
52

  
53
-- FIXME: El ALTER TABLE de una columna geometria no funciona
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/updateTableStatistics.sql
1

  
2
-- UpdateTableStatistics SQL
3
ANALYZE "public"."test";
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/append.sql
1

  
2
-- Previous SQLs
3

  
4
-- Inser SQL
5

  
6
INSERT INTO "dbtest"."public"."test" ( 
7
    "ID", "Byte", "Bool1", "Long", "Timestamp", "Date", "Time", 
8
    "Bool2", "String", "Bool3", "Double", "Bool4", "Float", "Bool5", 
9
    "Decimal", "Geometry" 
10
  ) VALUES ( 
11
      ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ST_GeomFromWKB((?), (?)) 
12
  );
13

  
14
-- Post SQLs
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/resources/org/gvsig/postgresql/dal/fetchFeatureType.sql
1

  
2
-- FetchFeatureType first row SQL
3
SELECT * FROM "dbtest"."public"."test" LIMIT 1;
4

  
5
-- FetchFeatureType get primery keys SQL
6
SELECT 
7
    "COLUMN_NAME", "CONSTRAINT_TYPE" 
8
  FROM INFORMATION_SCHEMA.table_constraints t_cons 
9
    inner join INFORMATION_SCHEMA.key_column_usage c 
10
      on c.constraint_catalog = t_cons.constraint_catalog and 
11
        c.table_schema = t_cons.table_schema and 
12
        c.table_name = t_cons.table_name and 
13
        c.constraint_name = t_cons.constraint_name  
14
  WHERE ((( (c.TABLE_NAME) LIKE ('test') ) AND 
15
    ( (c.TABLE_SCHEMA) LIKE ('public') )) AND 
16
    ( ("CONSTRAINT_TYPE") = ('PRIMARY KEY') )
17
  );
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/PostgreSQLBuilderTest.java
1
package org.gvsig.postgresql.dal;
2

  
3
import junit.framework.TestCase;
4
import org.apache.commons.lang3.ArrayUtils;
5
import org.cresques.cts.IProjection;
6
import org.gvsig.expressionevaluator.ExpressionBuilder;
7
import org.gvsig.expressionevaluator.GeometryExpressionBuilder;
8
import org.gvsig.fmap.crs.CRSFactory;
9
import org.gvsig.fmap.dal.SQLBuilder;
10
import org.gvsig.fmap.dal.SQLBuilder.Privilege;
11
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase;
12
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
13
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.OperationsFactoryBase;
14
import org.gvsig.fmap.geom.DataTypes;
15
import org.gvsig.fmap.geom.Geometry;
16
import org.gvsig.fmap.geom.GeometryLocator;
17
import org.gvsig.fmap.geom.GeometryManager;
18
import org.gvsig.fmap.geom.primitive.Polygon;
19
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
20

  
21
public class PostgreSQLBuilderTest extends TestCase {
22
    
23
    public PostgreSQLBuilderTest(String testName) {
24
        super(testName);
25
    }
26

  
27
    @Override
28
    protected void setUp() throws Exception {
29
        super.setUp();
30
        new DefaultLibrariesInitializer().fullInitialize();
31
    }
32

  
33
    @Override
34
    protected void tearDown() throws Exception {
35
        super.tearDown();
36
    }
37

  
38
    private SQLBuilder createSQLBuilder() {
39
        return new PostgreSQLBuilder(new PostgreSQLHelper(new FakePostgreSQLConnectionParameters()));
40
    }
41
    
42
    public void testCalulateEnvelopeOfColumn() throws Exception {
43
        
44
        TableReference table = new OperationsFactoryBase.DefaultTableReference("master","dbo","test1", null);
45
        String columnName = "the_geom";
46
        
47
        SQLBuilder sqlbuilder = createSQLBuilder();
48
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
49
        
50
        sqlbuilder.select().column().value(
51
            expbuilder.as_geometry(
52
                expbuilder.ST_ExtentAggregate(
53
                        expbuilder.column(columnName)
54
                )
55
            )
56
        );
57
        //sqlbuilder.select().group_by(expbuilder.column(columnName));
58
        sqlbuilder.select().from().table()
59
                .database(table.getDatabase())
60
                .schema(table.getSchema())
61
                .name(table.getTable());
62
        sqlbuilder.select().from().subquery(table.getSubquery());
63

  
64
        sqlbuilder.select().where().and(        
65
            expbuilder.not_is_null(expbuilder.column(columnName))
66
        );
67
        
68
        System.out.println("# Test:: testCalulateEnvelopeOfColumn");
69
        System.out.println("# SQL:: " + sqlbuilder.toString());
70
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
71
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
72
        assertEquals(
73
                "SELECT ST_AsBinary(ST_Extent(\"the_geom\")) FROM \"master\".\"dbo\".\"test1\" WHERE ( (\"the_geom\") IS NOT NULL )",
74
                sqlbuilder.toString()
75
        );
76
        assertEquals(
77
                "[the_geom]",
78
                ArrayUtils.toString(sqlbuilder.variables_names())
79
        );
80
        assertEquals(
81
                "[]",
82
                ArrayUtils.toString(sqlbuilder.parameters_names())
83
        );
84
    }
85
 
86
    public void testCalulateEnvelope() throws Exception {
87
        GeometryManager geometryManager = GeometryLocator.getGeometryManager();
88
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
89
        
90
        Polygon limit = geometryManager.createPolygon(Geometry.SUBTYPES.GEOM2D);
91
        limit.addVertex(0, 0);
92
        limit.addVertex(0, 100);
93
        limit.addVertex(100, 100);
94
        limit.addVertex(100, 0);
95
        limit.addVertex(0, 0);
96
        
97
        SQLBuilder sqlbuilder = createSQLBuilder();
98
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
99
        
100
        sqlbuilder.select().column().value(
101
            expbuilder.as_geometry(
102
              expbuilder.ST_ExtentAggregate(
103
                expbuilder.column("the_geom")
104
              )
105
            )
106
        ).as("envelope");
107
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
108
        sqlbuilder.select().where().set(
109
            expbuilder.ST_Intersects(
110
                expbuilder.ST_Envelope(
111
                    expbuilder.column("the_geom")
112
                ),
113
                expbuilder.geometry(limit, proj)
114
            )
115
        );
116
        sqlbuilder.select().where().and(
117
                expbuilder.custom("x = 27")
118
        );
119
        
120
        System.out.println("# Test:: testCalulateEnvelope");
121
        System.out.println("# SQL:: " + sqlbuilder.toString());
122
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
123
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
124
        assertEquals(
125
                "SELECT ST_AsBinary(ST_Extent(\"the_geom\")) AS \"envelope\" FROM \"master\".\"dbo\".\"test1\" WHERE (ST_Intersects((ST_Envelope(\"the_geom\")), (ST_GeomFromWKB(('\\x000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'::bytea), (4326)))) AND x = 27)",
126
                sqlbuilder.toString()
127
        );
128
        assertEquals(
129
                "[the_geom]",
130
                ArrayUtils.toString(sqlbuilder.variables_names())
131
        );
132
        assertEquals(
133
                "[]",
134
                ArrayUtils.toString(sqlbuilder.parameters_names())
135
        );
136
    }
137

  
138
    public void testCount() throws Exception {
139
        SQLBuilder sqlbuilder = createSQLBuilder();
140
        ExpressionBuilder expbuilder = sqlbuilder.expression();
141
        
142
        sqlbuilder.select().column().value(sqlbuilder.count().all());
143
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
144
        sqlbuilder.select().from().subquery(null);
145
        sqlbuilder.select().where().set( expbuilder.custom("pp = 200"));
146

  
147
        System.out.println("# Test:: testCount");
148
        System.out.println("# SQL:: " + sqlbuilder.toString());
149
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
150
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
151

  
152
        //# Test:: testCount
153
        //# SQL:: SELECT COUNT(*) FROM "test1" WHERE pp = 200
154
        //# Variables:: []
155
        //# Parametros:: []
156

  
157
        assertEquals(
158
                "SELECT COUNT(*) FROM \"master\".\"dbo\".\"test1\" WHERE pp = 200",
159
                sqlbuilder.toString()
160
        );
161
        assertEquals(
162
                "[]",
163
                ArrayUtils.toString(sqlbuilder.variables_names())
164
        );
165
        assertEquals(
166
                "[]",
167
                ArrayUtils.toString(sqlbuilder.parameters_names())
168
        );
169
    }
170
    
171
    public void testCreateTable() throws Exception {
172
        SQLBuilder sqlbuilder = createSQLBuilder();
173
        ExpressionBuilder expbuilder = sqlbuilder.expression();
174

  
175
        sqlbuilder.create_table().table().database("master").schema("dbo").name("test1");
176
        sqlbuilder.create_table().add_column(
177
                "name",
178
                DataTypes.STRING,
179
                45,
180
                0,
181
                0,
182
                false,
183
                false,
184
                true,
185
                false,
186
                null
187
        );
188
        sqlbuilder.create_table().add_column(
189
                "id",
190
                DataTypes.INT,
191
                0,
192
                0,
193
                0,
194
                true,
195
                false,
196
                false,
197
                true,
198
                0
199
        );
200
        sqlbuilder.create_table().add_column(
201
                "geom",
202
                DataTypes.GEOMETRY,
203
                0,
204
                0,
205
                0,
206
                false,
207
                false,
208
                true,
209
                false,
210
                null
211
        );
212

  
213
        
214
        // CREATE TABLE "test1" ("name" VARCHAR(45) DEFAULT NULL, "id" INTEGER PRIMARY KEY AUTO_INCREMENT DEFAULT '0' NOT NULL, "geom" GEOMETRY ); ALTER TABLE "test1" ADD CONSTRAINT IF NOT EXISTS "constraint_test1_geom_dim" CHECK ST_CoordDim("geom") = 2
215
        System.out.println("# Test:: testCreateTable");
216
        System.out.println("# SQL:: " + sqlbuilder.toString());
217
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
218
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
219
        assertEquals(
220
                "CREATE TABLE \"master\".\"dbo\".\"test1\" (\"name\" VARCHAR(45) DEFAULT NULL NULL, \"id\"  SERIAL PRIMARY KEY ); SELECT AddGeometryColumn('dbo' , 'test1' , 'geom', null , 'GEOMETRY' , 2, TRUE)",
221
                sqlbuilder.toString()
222
        );
223
        assertEquals(
224
                "[]",
225
                ArrayUtils.toString(sqlbuilder.variables_names())
226
        );
227
        assertEquals(
228
                "[]",
229
                ArrayUtils.toString(sqlbuilder.parameters_names())
230
        );
231
    }
232

  
233
    public void testDropTable() throws Exception {
234
        SQLBuilder sqlbuilder = createSQLBuilder();
235
        ExpressionBuilder expbuilder = sqlbuilder.expression();
236
        
237
        sqlbuilder.drop_table().table().database("master").schema("dbo").name("test1");
238

  
239
        // DROP TABLE "test1"
240
        
241
        System.out.println("# Test:: testDropTable");
242
        System.out.println("# SQL:: " + sqlbuilder.toString());
243
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
244
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
245
        assertEquals(
246
                "DROP TABLE \"master\".\"dbo\".\"test1\"",
247
                sqlbuilder.toString()
248
        );
249
        assertEquals(
250
                "[]",
251
                ArrayUtils.toString(sqlbuilder.variables_names())
252
        );
253
        assertEquals(
254
                "[]",
255
                ArrayUtils.toString(sqlbuilder.parameters_names())
256
        );
257
    }
258
    
259
    public void testFetchFeatureProviderByReference() throws Exception {
260
        SQLBuilder sqlbuilder = new SQLBuilderBase();
261
        ExpressionBuilder expbuilder = sqlbuilder.expression();
262
        
263
        String value = "yoyo";
264
        sqlbuilder.select().column().name("name");
265
        sqlbuilder.select().column().name("id");
266
        sqlbuilder.select().column().name("geom").as_geometry();
267
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
268
        sqlbuilder.select().where().set(
269
            expbuilder.eq(
270
                expbuilder.column("name"),
271
                expbuilder.parameter(value).as_constant()
272
            )
273
        );
274
        sqlbuilder.select().limit(1);
275

  
276
        // SELECT "name", "id", ST_AsBinary("geom") FROM "master"."dbo"."test1" WHERE ( ("name") = (?) ) LIMIT 1
277

  
278
        System.out.println("# Test:: testFetchFeatureProviderByReference");
279
        System.out.println("# SQL:: " + sqlbuilder.toString());
280
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
281
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
282
        assertEquals(
283
                "SELECT \"name\", \"id\", ST_AsBinary(\"geom\") FROM \"master\".\"dbo\".\"test1\" WHERE ( (\"name\") = (?) ) LIMIT 1",
284
                sqlbuilder.toString()
285
        );
286
        assertEquals(
287
                "[geom, id, name]",
288
                ArrayUtils.toString(sqlbuilder.variables_names())
289
        );
290
        assertEquals(
291
                "['yoyo']",
292
                ArrayUtils.toString(sqlbuilder.parameters_names())
293
        );
294
    }
295
    
296
    public void testFetchFeatureType() throws Exception {
297
        SQLBuilder sqlbuilder = createSQLBuilder();
298
        ExpressionBuilder expbuilder = sqlbuilder.expression();
299

  
300
        sqlbuilder.select().column().all();
301
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
302
        sqlbuilder.select().limit(1);
303

  
304
        System.out.println("# Test:: testFetchFeatureType");
305
        System.out.println("# SQL:: " + sqlbuilder.toString());
306
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
307
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
308
        
309
        //# Test:: testFetchFeatureType
310
        //# SQL:: SELECT * FROM "test1" LIMIT 1
311
        //# Variables:: []
312
        //# Parametros:: []        
313
        
314
        assertEquals(
315
                "SELECT * FROM \"master\".\"dbo\".\"test1\" LIMIT 1",
316
                sqlbuilder.toString()
317
        );
318
        assertEquals(
319
                "[]",
320
                ArrayUtils.toString(sqlbuilder.variables_names())
321
        );
322
        assertEquals(
323
                "[]",
324
                ArrayUtils.toString(sqlbuilder.parameters_names())
325
        );
326
    }
327
        
328
    public void testPerformDeletes() throws Exception {
329
        SQLBuilder sqlbuilder = createSQLBuilder();
330
        ExpressionBuilder expbuilder = sqlbuilder.expression();
331

  
332
        sqlbuilder.delete().table().database("master").schema("dbo").name("test1");
333
        sqlbuilder.delete().where().and(
334
            expbuilder.eq( 
335
                expbuilder.column("id1"),
336
                expbuilder.parameter("id1").as_variable()
337
            )
338
        );
339
        sqlbuilder.delete().where().and(
340
            expbuilder.eq( 
341
                expbuilder.column("id2"),
342
                expbuilder.parameter("id2").as_variable()
343
            )
344
        );
345

  
346
        // DELETE FROM "test1" WHERE ( ("id1") = (?) ) AND ( ("id2") = (?) )
347

  
348
        System.out.println("# Test:: testPerformDeletes");
349
        System.out.println("# SQL:: " + sqlbuilder.toString());
350
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
351
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
352
        assertEquals(
353
                "DELETE FROM \"master\".\"dbo\".\"test1\" WHERE (( (\"id1\") = (?) ) AND ( (\"id2\") = (?) ))",
354
                sqlbuilder.toString()
355
        );
356
        assertEquals(
357
                "[id1, id2]",
358
                ArrayUtils.toString(sqlbuilder.variables_names())
359
        );
360
        assertEquals(
361
                "[\"id1\", \"id2\"]",
362
                ArrayUtils.toString(sqlbuilder.parameters_names())
363
        );
364
    }
365

  
366
    public void testPerformInserts1() throws Exception {
367
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
368

  
369
        SQLBuilder sqlbuilder = createSQLBuilder();
370
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
371

  
372
        sqlbuilder.insert().table().database("master").schema("dbo").name("test1");
373
        sqlbuilder.insert().column().name("id").with_value(expbuilder.parameter("id"));
374
        sqlbuilder.insert().column().name("name").with_value(expbuilder.parameter("name"));
375
        sqlbuilder.insert().column().name("geom").with_value(expbuilder.parameter("geom").as_geometry_variable().srs(proj));
376
        
377
        System.out.println("# Test:: testPerformInserts1");
378
        System.out.println("# SQL:: " + sqlbuilder.toString());
379
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
380
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
381
        assertEquals(
382
                "INSERT INTO \"master\".\"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
383
                sqlbuilder.toString()
384
        );
385
        assertEquals(
386
                "[geom, id, name]",
387
                ArrayUtils.toString(sqlbuilder.variables_names())
388
        );
389
        assertEquals(
390
                "[\"id\", \"name\", \"geom\"]",
391
                ArrayUtils.toString(sqlbuilder.parameters_names())
392
        );
393
    }
394

  
395
    public void testPerformInserts2() throws Exception {
396
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
397

  
398
        SQLBuilder sqlbuilder = createSQLBuilder();
399
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
400

  
401
        sqlbuilder.insert().table().database("master").schema("dbo").name("test1");
402
        sqlbuilder.insert().column().name("id").with_value(expbuilder.parameter("id"));
403
        sqlbuilder.insert().column().name("name").with_value(expbuilder.parameter("name"));
404
        sqlbuilder.insert().column().name("geom").with_value(expbuilder.parameter("geom").as_geometry_variable().srs(proj));
405
        
406
        System.out.println("# Test:: testPerformInserts2");
407
        System.out.println("# SQL:: " + sqlbuilder.toString());
408
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
409
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
410
        assertEquals(
411
                "INSERT INTO \"master\".\"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
412
                sqlbuilder.toString()
413
        );
414
        assertEquals(
415
                "[geom, id, name]",
416
                ArrayUtils.toString(sqlbuilder.variables_names())
417
        );
418
        assertEquals(
419
                "[\"id\", \"name\", \"geom\"]",
420
                ArrayUtils.toString(sqlbuilder.parameters_names())
421
        );
422
    }
423

  
424
    public void testPerformUpdates1() throws Exception {
425
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
426

  
427
        SQLBuilder sqlbuilder = createSQLBuilder();
428
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
429

  
430
        sqlbuilder.update().table().database("master").schema("dbo").name("test1");
431
        sqlbuilder.update().where().and(
432
            expbuilder.eq(
433
                expbuilder.column("id"), 
434
                expbuilder.parameter("id").as_variable()
435
            )
436
        );
437
        sqlbuilder.update().column().name("name").with_value(expbuilder.parameter("name"));
438
        sqlbuilder.update().column().name("geom").with_value(
439
                expbuilder.parameter("geom").as_geometry_variable().srs(proj) 
440
        );
441

  
442
        System.out.println("# Test:: testPerformUpdates");
443
        System.out.println("# SQL:: " + sqlbuilder.toString());
444
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
445
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
446
        assertEquals(
447
                "UPDATE \"master\".\"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (4326)) WHERE ( (\"id\") = (?) )",
448
                sqlbuilder.toString()
449
        );
450
        assertEquals(
451
                "[geom, id, name]",
452
                ArrayUtils.toString(sqlbuilder.variables_names())
453
        );
454
        assertEquals(
455
                "[\"name\", \"geom\", \"id\"]",
456
                ArrayUtils.toString(sqlbuilder.parameters_names())
457
        );
458
    }
459

  
460
    public void testPerformUpdates2() throws Exception {
461
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
462

  
463
        SQLBuilder sqlbuilder = createSQLBuilder();
464
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
465

  
466
        sqlbuilder.update().table().database("master").schema("dbo").name("test1");
467
        sqlbuilder.update().where().and(
468
            expbuilder.eq(
469
                expbuilder.column("id"), 
470
                expbuilder.parameter("id").as_variable()
471
            )
472
        );
473
        sqlbuilder.update().column().name("name").with_value(expbuilder.parameter("name"));
474
        sqlbuilder.update().column().name("geom").with_value(
475
                expbuilder.parameter("geom").as_geometry_variable()
476
                        .srs(expbuilder.parameter().value(proj)) 
477
        );
478

  
479
        System.out.println("# Test:: testPerformUpdates");
480
        System.out.println("# SQL:: " + sqlbuilder.toString());
481
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
482
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
483
        assertEquals(
484
                "UPDATE \"master\".\"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (?)) WHERE ( (\"id\") = (?) )",
485
                sqlbuilder.toString()
486
        );
487
        assertEquals(
488
                "[geom, id, name]",
489
                ArrayUtils.toString(sqlbuilder.variables_names())
490
        );
491
        assertEquals(
492
                "[\"name\", \"geom\", 4326, \"id\"]",
493
                ArrayUtils.toString(sqlbuilder.parameters_names())
494
        );
495
    }
496

  
497
    public void testGrant1() throws Exception {
498

  
499
        SQLBuilder sqlbuilder = createSQLBuilder();
500
        ExpressionBuilder expbuilder = sqlbuilder.expression();
501

  
502
        sqlbuilder.grant().table().database("master").schema("dbo").name("test1");
503
        sqlbuilder.grant().role("prueba").select().insert().update();
504
        sqlbuilder.grant().role("gis").all();
505
                
506
        
507
        System.out.println("# Test:: testGrant1");
508
        System.out.println("# SQL:: " + sqlbuilder.toString());
509
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
510
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
511
        assertEquals(
512
                "",
513
                sqlbuilder.toString()
514
        );
515
        assertEquals(
516
                "[]",
517
                ArrayUtils.toString(sqlbuilder.variables_names())
518
        );
519
        assertEquals(
520
                "[]",
521
                ArrayUtils.toString(sqlbuilder.parameters_names())
522
        );
523
    }
524

  
525
    public void testGrant2() throws Exception {
526

  
527
        SQLBuilder sqlbuilder = new SQLBuilderBase();
528
        ExpressionBuilder expbuilder = sqlbuilder.expression();
529

  
530
        sqlbuilder.grant().table().database("master").schema("dbo").name("test1");
531
        sqlbuilder.grant().role("prueba").privilege(Privilege.SELECT)
532
                .privilege(Privilege.INSERT)
533
                .privilege(Privilege.UPDATE);
534
        sqlbuilder.grant().role("gis").privilege(Privilege.ALL);
535
                
536
        
537
        System.out.println("# Test:: testGrant2");
538
        System.out.println("# SQL:: " + sqlbuilder.toString());
539
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
540
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
541
        assertEquals(
542
                "",
543
                sqlbuilder.toString()
544
        );
545
        assertEquals(
546
                "[]",
547
                ArrayUtils.toString(sqlbuilder.variables_names())
548
        );
549
        assertEquals(
550
                "[]",
551
                ArrayUtils.toString(sqlbuilder.parameters_names())
552
        );
553
    }
554

  
555

  
556
}
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/TestUtils.java
1
package org.gvsig.postgresql.dal;
2

  
3
import java.io.File;
4
import java.net.URL;
5
import java.util.ArrayList;
6
import java.util.List;
7
import org.apache.commons.io.FileUtils;
8
import org.apache.commons.lang3.StringUtils;
9
import org.gvsig.fmap.dal.DALLocator;
10
import org.gvsig.fmap.dal.DataManager;
11
import org.gvsig.fmap.dal.DataStore;
12
import org.gvsig.fmap.dal.feature.Feature;
13
import org.gvsig.fmap.dal.feature.FeatureStore;
14
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
15
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
16
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
17
import org.gvsig.fmap.dal.store.jdbc2.spi.FakeConnectionParameters;
18
import org.gvsig.fmap.dal.store.jdbc2.spi.FakeConnectionProvider;
19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21

  
22
public class TestUtils  {
23
    
24
    public static final Logger LOGGER = LoggerFactory.getLogger(TestUtils.class);
25

  
26
    public static final String PROVIDER_NAME = PostgreSQLLibrary.NAME;
27

  
28
    public static File getTargetFolder() throws Exception {
29
        URL url = TestUtils.class.getResource("/");
30
        File x = new File(url.toURI());
31
        File target = x.getParentFile();
32
        return target;
33
    }
34
    
35
    public static File getResource(String name) throws Exception {
36
        File x = new File(getTargetFolder(), name);
37
        return x;
38
    }
39
    
40
    public static File getResourceAsFile(String pathname) throws Exception {
41
        URL url = TestUtils.class.getResource(pathname);
42
        File x = new File(url.toURI());
43
        return x;
44
    }
45

  
46
    public static FeatureStore openSourceStore1() throws Exception {
47
        DataManager dataManager = DALLocator.getDataManager();
48
        File f = getResourceAsFile("/org/gvsig/postgresql/dal/testCreateSource1.csv");
49
        FeatureStore store = (FeatureStore) dataManager.openStore(
50
                DataStore.CSV_PROVIDER_NAME, 
51
                "file=",f,
52
                "automaticTypesDetection=", false,
53
                "locale=","en"
54
        );
55
        return store;
56
    }
57
 
58

  
59
    public static List<String> getSQLs(String name) throws Exception {
60
      File f = getResourceAsFile("/org/gvsig/postgresql/dal/"+name);
61
      List<String> SQLs = new ArrayList<>();
62
      List<String> lines = FileUtils.readLines(f);
63
      StringBuilder sb = new StringBuilder();
64
      for (String line : lines) {
65
        line = StringUtils.stripStart(line, null);
66
        if( line.startsWith("--") ) {
67
          continue;
68
        }
69
        if( line.endsWith(";") ) {
70
          sb.append(line.substring(0, line.length()-1));
71
          SQLs.add(sb.toString());
72
          sb.setLength(0);
73
        } else {
74
          sb.append(line);
75
        }
76
      }
77
      return SQLs;
78
    }
79
    
80
    public static JDBCHelper getJDBCHelper() {
81
      JDBCHelper helper = new PostgreSQLHelper(new FakePostgreSQLConnectionParameters(), new FakeConnectionProvider());
82
      return helper;
83
    }
84
    
85
    public static FeatureProvider getFeatureProvider(Feature feature) {
86
      return ((DefaultFeature)feature).getData();
87
    }
88
}
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestUpdateTableStatistics.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.feature.FeatureType;
7
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
8
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
9
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
10
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
11
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.UpdateTableStatisticsOperation;
12
import org.gvsig.postgresql.dal.TestUtils;
13
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
16

  
17
public class TestUpdateTableStatistics extends TestCase {
18

  
19
  private static final Logger LOGGER = LoggerFactory.getLogger(TestUpdateTableStatistics.class);
20

  
21
  public TestUpdateTableStatistics(String testName) {
22
    super(testName);
23
  }
24

  
25
  @Override
26
  protected void setUp() throws Exception {
27
    super.setUp();
28
    new DefaultLibrariesInitializer().fullInitialize();
29
  }
30

  
31
  @Override
32
  protected void tearDown() throws Exception {
33
    super.tearDown();
34
  }
35

  
36
  // TODO add test methods here. The name must begin with 'test'. For example:
37
  // public void testHello() {}
38
  
39
  public void testUpdateTableStatistics() throws Exception {
40
    JDBCHelper helper = TestUtils.getJDBCHelper();
41
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
42
    OperationsFactory operations = helper.getOperations();
43

  
44
    List<String> expectedSQLs = TestUtils.getSQLs("updateTableStatistics.sql");
45
    
46
    FeatureStore sourceStore = TestUtils.openSourceStore1();
47

  
48
    TableReference table = operations.createTableReference(
49
            "dbtest", 
50
            sqlbuilder.default_schema(), 
51
            "test", 
52
            null
53
    );
54
    FeatureType featureType = sourceStore.getDefaultFeatureType();
55
    UpdateTableStatisticsOperation updateTableStatistics = operations.createUpdateTableStatistics(
56
            table
57
    );
58
    
59
    List<String> SQLs = updateTableStatistics.getSQLs();
60
    assertEquals("UpdateTableStatistics num. SQLs", expectedSQLs.size(), SQLs.size());
61
    for (int i = 0; i < expectedSQLs.size(); i++) {
62
      assertEquals("UpdateTableStatistics SQL "+i, expectedSQLs.get(i), SQLs.get(i));
63
    }
64
  }
65

  
66
}
tags/org.gvsig.postgresql-2.0.170/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestAppend.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.ArrayList;
4
import java.util.List;
5
import junit.framework.TestCase;
6
import org.gvsig.fmap.dal.DataTypes;
7
import org.gvsig.fmap.dal.feature.Feature;
8
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
9
import org.gvsig.fmap.dal.feature.FeatureStore;
10
import org.gvsig.fmap.dal.feature.FeatureType;
11
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
12
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
13
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
14
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
15
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.AppendOperation;
16
import org.gvsig.postgresql.dal.TestUtils;
17
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20

  
21
public class TestAppend extends TestCase {
22

  
23
  private static final Logger LOGGER = LoggerFactory.getLogger(TestAppend.class);
24

  
25
  public TestAppend(String testName) {
26
    super(testName);
27
  }
28

  
29
  @Override
30
  protected void setUp() throws Exception {
31
    super.setUp();
32
    new DefaultLibrariesInitializer().fullInitialize();
33
  }
34

  
35
  @Override
36
  protected void tearDown() throws Exception {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff