]> granicus.if.org Git - postgresql/commitdiff
Applied patch from dmitry@openratings.com to fix parsing of array values
authorBarry Lind <barry@xythos.com>
Mon, 21 Jul 2003 20:48:31 +0000 (20:48 +0000)
committerBarry Lind <barry@xythos.com>
Mon, 21 Jul 2003 20:48:31 +0000 (20:48 +0000)
 Modified Files:
  jdbc/org/postgresql/Driver.java.in
  jdbc/org/postgresql/jdbc2/Array.java

src/interfaces/jdbc/org/postgresql/Driver.java.in
src/interfaces/jdbc/org/postgresql/jdbc2/Array.java

index 96754e5b84661dbaa5bdf58fb87f75681ebec75a..de064bb8cfb2f8db3640558a3eebf9212e0449b5 100644 (file)
@@ -6,7 +6,7 @@
  * Copyright (c) 2003, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/Attic/Driver.java.in,v 1.31 2003/06/30 16:38:30 barry Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/Attic/Driver.java.in,v 1.32 2003/07/21 20:48:31 barry Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -503,6 +503,6 @@ public class Driver implements java.sql.Driver
 
 
        //The build number should be incremented for every new build
-       private static int m_buildNumber = 205;
+       private static int m_buildNumber = 206;
 
 }
index 973da1d2b0670309e104abfb534b0ef8c00aa0b9..418a094263045c9fe3efed85e44bb0bea50467b7 100644 (file)
@@ -98,19 +98,20 @@ public class Array implements java.sql.Array
                                if ( chars[i] == '\\' )
                                        //escape character that we need to skip
                                        i++;
-                               if ( chars[i] == '{' )
+                               else if (!insideString && chars[i] == '{' )
                                {
                                        if ( foundOpen )  // Only supports 1-D arrays for now
                                                throw org.postgresql.Driver.notImplemented();
                                        foundOpen = true;
                                        continue;
                                }
-                               if ( chars[i] == '"' )
+                               else if (chars[i] == '"')
                                {
                                        insideString = !insideString;
                                        continue;
                                }
-                               if ( (!insideString && chars[i] == ',') || chars[i] == '}' || i == chars.length - 1)
+                               else if (!insideString && (chars[i] == ',' || chars[i] == '}') || 
+                                                       i == chars.length - 1)
                                {
                                        if ( chars[i] != '"' && chars[i] != '}' && chars[i] != ',' )
                                                sbuf.append(chars[i]);