Applied patch from [email protected] to fix parsing of array values
authorBarry Lind
Mon, 21 Jul 2003 20:48:31 +0000 (20:48 +0000)
committerBarry Lind
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]);