~maria-captains/mariadb-java-client/trunk

« back to all changes in this revision

Viewing changes to src/main/java/org/mariadb/jdbc/MySQLConnection.java

  • Committer: Vladislav Vaintroub
  • Date: 2012-12-10 14:51:17 UTC
  • Revision ID: wlad@montyprogram.com-20121210145117-03f6k5yir70zh3t6
support sessionVariables connection URL parameter

Show diffs side-by-side

added added

removed removed

Lines of Context:
111
111
        
112
112
        String value;
113
113
        if ((value = protocol.getInfo().getProperty("NoSchemaPattern")) != null
114
 
                        && value.equalsIgnoreCase("true"))
115
 
        {
 
114
                        && value.equalsIgnoreCase("true")) {
116
115
                connection.noSchemaPattern = true;
117
116
        }
118
117
        
119
 
        if (protocol.getInfo().get("fastConnect") != null) {
120
 
            return connection;
121
 
        }
122
 
 
123
 
 
 
118
        boolean fastConnect =  protocol.getInfo().get("fastConnect") != null ;
 
119
        String sessionVariables = protocol.getInfo().getProperty("sessionVariables");
 
120
        
 
121
        if (fastConnect && (sessionVariables == null))
 
122
                return connection;
 
123
        
124
124
        Statement st = null;
125
125
        try {
126
 
            st = connection.createStatement();
127
 
            ResultSet rs = st.executeQuery("select @@sql_mode");
128
 
            rs.next();
129
 
            String sqlMode = rs.getString(1);
130
 
            if (sqlMode.contains("NO_BACKSLASH_ESCAPES")) {
131
 
                connection.noBackslashEscapes = true;
132
 
            }
 
126
                st = connection.createStatement();                      
 
127
                if (sessionVariables != null) {
 
128
                  st.executeUpdate("set session " + sessionVariables);
 
129
                }
 
130
                if (!fastConnect) {
 
131
                        ResultSet rs = st.executeQuery("select @@sql_mode");
 
132
                        rs.next();
 
133
                        String sqlMode = rs.getString(1);
 
134
                        if (sqlMode.contains("NO_BACKSLASH_ESCAPES")) {
 
135
                                connection.noBackslashEscapes = true;
 
136
                        }
 
137
                }
133
138
        } finally {
134
139
            if (st != null)
135
140
                st.close();