1   package fr.ifremer.quadrige3.core.dao.technical.jdbc;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  import java.sql.*;
24  
25  
26  
27  
28  public class PostgresqlStatements {
29  
30      private static final String RESET_ALL_SEQUENCES_SQL = "select reset_all_sequences();";
31  
32      private static final String DISABLE_ALL_CONSTRAINTS_SQL = "set session_replication_role = replica;";
33  
34      private static final String ENABLE_ALL_CONSTRAINTS_SQL = "set session_replication_role = origin;";
35  
36      public static void resetAllSequences(Connection connection) throws SQLException {
37          execute(connection, RESET_ALL_SEQUENCES_SQL);
38      }
39  
40      public static void setIntegrityConstraints(Connection connection, boolean enableIntegrityConstraints) throws SQLException {
41          
42          if (!enableIntegrityConstraints) {
43              execute(connection, DISABLE_ALL_CONSTRAINTS_SQL);
44          }
45  
46          
47          else {
48              execute(connection, ENABLE_ALL_CONSTRAINTS_SQL);
49          }
50      }
51  
52      private static void execute(Connection connection, String procedure) throws SQLException {
53          PreparedStatement stat = connection.prepareStatement(procedure);
54          stat.execute();
55      }
56  
57  }