[pgsqlclient-checkins] SF.net SVN: pgsqlclient: [176] trunk/PostgreSqlClient/source/PostgreSql/Data
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2006-06-26 16:01:56
|
Revision: 176 Author: carlosga_fb Date: 2006-06-26 09:01:45 -0700 (Mon, 26 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=176&view=rev Log Message: ----------- Changes on internal data type handling Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs 2006-06-26 16:00:41 UTC (rev 175) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs 2006-06-26 16:01:45 UTC (rev 176) @@ -25,18 +25,19 @@ { #region \xB7 Fields \xB7 - private string dataSource; - private string database; - private string userID; - private string password; - private int portNumber; - private int packetSize; - private int connectionTimeout; - private long connectionLifetime; - private int minPoolSize; - private int maxPoolSize; - private bool pooling; - private bool ssl; + private string dataSource; + private string database; + private string userID; + private string password; + private int portNumber; + private int packetSize; + private int connectionTimeout; + private long connectionLifetime; + private int minPoolSize; + private int maxPoolSize; + private bool pooling; + private bool ssl; + private bool useDatabaseOids; #endregion @@ -103,6 +104,11 @@ get { return this.ssl; } } + public bool UseDatabaseOids + { + get { return this.useDatabaseOids; } + } + #endregion #region \xB7 Constructors \xB7 @@ -135,6 +141,7 @@ this.minPoolSize = 0; this.maxPoolSize = 100; this.ssl = false; + this.useDatabaseOids = false; } private void ParseConnectionString(string connectionString) @@ -201,6 +208,10 @@ case "ssl": this.ssl = Boolean.Parse(element.Groups[2].Value.Trim()); break; + + case "use database oids": + this.useDatabaseOids = Boolean.Parse(element.Groups[2].Value.Trim()); + break; } } } Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-06-26 16:00:41 UTC (rev 175) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-06-26 16:01:45 UTC (rev 176) @@ -101,7 +101,7 @@ dataTypes.Add(1700 , "numeric" , PgDataType.Decimal , 0, PgTypeFormat.Text, 8); dataTypes.Add(1790 , "refcursor" , PgDataType.Refcursor , 0, PgTypeFormat.Text, 0); dataTypes.Add(2205 , "regclass" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - dataTypes.Add(2277 , "anyarray" , PgDataType.Array , 0, PgTypeFormat.Binary, 8); + //dataTypes.Add(2277 , "anyarray" , PgDataType.Array , 0, PgTypeFormat.Binary, 8); // PostGIS datatypes dataTypes.Add(17321 , "box3d" , PgDataType.Box3D , 0, PgTypeFormat.Text, 48, ",", "BOX3D"); @@ -338,12 +338,6 @@ this.ProcessResponsePacket(response); } while (!response.IsReadyForQuery); - - // After the connection gets established we should update the Data Types collection oids - foreach (PgType type in this.DataTypes) - { -#warning "Complete this" - } } } catch (IOException ex) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-06-26 16:00:41 UTC (rev 175) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-06-26 16:01:45 UTC (rev 176) @@ -151,6 +151,8 @@ this.outParameter = new PgParameter(); this.rows = null; this.rowIndex = 0; + this.hasRows = false; + this.allRowsFetched = false; this.parseName = parseName; this.portalName = portalName; this.recordsAffected = -1; @@ -175,8 +177,10 @@ this.status = PgStatementStatus.Parsing; // Clear actual row list - this.rows = null; - this.rowIndex = 0; + this.rows = null; + this.rowIndex = 0; + this.hasRows = false; + this.allRowsFetched = false; // Initialize RowDescriptor and Parameters this.rowDescriptor = new PgRowDescriptor(0); @@ -301,6 +305,12 @@ // Update status this.status = PgStatementStatus.Binding; + // Clear actual row list + this.rows = null; + this.rowIndex = 0; + this.hasRows = false; + this.allRowsFetched = false; + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); // Destination portal name Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-06-26 16:00:41 UTC (rev 175) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-06-26 16:01:45 UTC (rev 176) @@ -60,15 +60,7 @@ public int ElementType { - get - { - //while (PgDatabase.DataTypes[type].DataType == PgDataType.Array) - //{ - // type = PgDatabase.DataTypes[type].ElementType; - //} - - return this.elementType; - } + get { return this.elementType; } } public PgTypeFormat FormatCode @@ -192,9 +184,18 @@ #endregion - #region \xB7 Private Methods \xB7 + #region \xB7 Internal Methods \xB7 - private Type InferSystemType() + internal void UpdateOid(int newOid) + { + this.oid = newOid; + } + + #endregion + + #region \xB7 Private Methods \xB7 + + private Type InferSystemType() { switch (this.dataType) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |