pgsqlclient-checkins Mailing List for PostgreSqlClient
Status: Inactive
Brought to you by:
carlosga_fb
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(120) |
Aug
(95) |
Sep
(95) |
Oct
(213) |
Nov
(114) |
Dec
(64) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(6) |
Feb
(134) |
Mar
(88) |
Apr
(28) |
May
(22) |
Jun
(15) |
Jul
(23) |
Aug
(2) |
Sep
(15) |
Oct
(2) |
Nov
(6) |
Dec
|
2005 |
Jan
(8) |
Feb
(6) |
Mar
|
Apr
(42) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(84) |
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
(84) |
Apr
(46) |
May
(40) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <car...@us...> - 2006-06-26 16:02:19
|
Revision: 177 Author: carlosga_fb Date: 2006-06-26 09:02:14 -0700 (Mon, 26 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=177&view=rev Log Message: ----------- Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj 2006-06-26 16:01:45 UTC (rev 176) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj 2006-06-26 16:02:14 UTC (rev 177) @@ -19,7 +19,7 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>..\..\..\..\..\..\..\bin\debug\</OutputPath> <DefineConstants>TRACE;DEBUG</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> @@ -36,6 +36,10 @@ <ItemGroup> <Compile Include="Design\ParameterCollection\PgParameterCollectionEditor.cs" /> <Compile Include="Design\ParameterCollection\PgParameterConverter.cs" /> + <Compile Include="PgTypes\PgBox2D.cs" /> + <Compile Include="PgTypes\PgBox3D.cs" /> + <Compile Include="PgTypes\PgPoint2D.cs" /> + <Compile Include="PgTypes\PgPoint3D.cs" /> <Compile Include="PostgreSqlClient\EmptyPoolEventHandler.cs" /> <Compile Include="PostgreSqlClient\PgCommand.cs"> <SubType>Component</SubType> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <car...@us...> - 2006-06-26 16:00:55
|
Revision: 175 Author: carlosga_fb Date: 2006-06-26 09:00:41 -0700 (Mon, 26 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=175&view=rev Log Message: ----------- Changes on internal data type handling Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnection.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionInternal.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionStringBuilder.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnection.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnection.cs 2006-06-19 21:31:25 UTC (rev 174) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnection.cs 2006-06-26 16:00:41 UTC (rev 175) @@ -360,6 +360,9 @@ this.StateChange(this, new StateChangeEventArgs(ConnectionState.Closed, state)); } + // Grab Data Types Oid's from the database if requested + this.connectionInternal.FetchDatabaseOids(); + // Add Info message event handler this.connectionInternal.Database.InfoMessage = new InfoMessageCallback(this.OnInfoMessage); Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionInternal.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionInternal.cs 2006-06-19 21:31:25 UTC (rev 174) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionInternal.cs 2006-06-26 16:00:41 UTC (rev 175) @@ -257,6 +257,38 @@ return isValid; } + internal void FetchDatabaseOids() + { + if (this.database.Options.UseDatabaseOids) + { + string sql = "SELECT oid FROM pg_type WHERE typname=@typeName"; + + if (this.owningConnection != null) + { + PgCommand command = new PgCommand(sql, this.owningConnection); + command.Parameters.Add("@typeName", PgDbType.VarChar); + + // After the connection gets established we should update the Data Types collection oids + foreach (PgType type in this.Database.DataTypes) + { + command.Parameters["@typeName"].Value = type.Name; + + object realOid = command.ExecuteScalar(); + + if (realOid != null) + { + if (Convert.ToInt32(realOid) != type.Oid) + { + type.UpdateOid(Convert.ToInt32(realOid)); + } + } + } + + command.Dispose(); + } + } + } + #endregion - } + } } \ No newline at end of file Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionStringBuilder.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionStringBuilder.cs 2006-06-19 21:31:25 UTC (rev 174) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgConnectionStringBuilder.cs 2006-06-26 16:00:41 UTC (rev 175) @@ -55,6 +55,7 @@ synonyms.Add("min pool size", "min pool size"); synonyms.Add("max pool size", "max pool size"); synonyms.Add("ssl", "ssl"); + synonyms.Add("use database oids", "use database oids"); return synonyms; } @@ -135,8 +136,14 @@ set { this.SetValue("Ssl", value); } } - #endregion + public bool UseDatabaseOids + { + get { return this.GetBoolean("use database oids"); } + set { this.SetValue("use database oids", value); } + } + #endregion + #region \xB7 Constructors \xB7 public PgConnectionStringBuilder() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-06-19 21:31:30
|
Revision: 174 Author: carlosga_fb Date: 2006-06-19 14:31:25 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=174&view=rev Log Message: ----------- Changes on internal data type handling ( not finished ) Modified Paths: -------------- trunk/PostgreSqlClient/source/UnitTests/PgCommandTest.cs Modified: trunk/PostgreSqlClient/source/UnitTests/PgCommandTest.cs =================================================================== --- trunk/PostgreSqlClient/source/UnitTests/PgCommandTest.cs 2006-06-19 21:30:30 UTC (rev 173) +++ trunk/PostgreSqlClient/source/UnitTests/PgCommandTest.cs 2006-06-19 21:31:25 UTC (rev 174) @@ -219,6 +219,16 @@ reader.Close(); } + [Test] + public void TestCase3() + { + PgCommand cmd = Connection.CreateCommand(); + cmd.CommandText = @"SELECT int4_field FROM test_table WHERE varchar_field = @parameter"; + cmd.Parameters.Add("@parameter", "IRow Number10"); + cmd.ExecuteScalar(); + cmd.Dispose(); + } + #endregion } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-06-19 21:30:54
|
Revision: 173 Author: carlosga_fb Date: 2006-06-19 14:30:30 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=173&view=rev Log Message: ----------- Changes on internal data type handling ( not finished ) Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/MetaData.xml trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgCheckConstraints.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgColumns.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeyColumns.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeys.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctionParameters.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctions.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexColumns.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexes.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgPrimaryKeys.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchema.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchemaFactory.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSequences.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTriggers.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgUniqueKeys.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViewColumns.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViews.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/MetaData.xml =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/MetaData.xml 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/MetaData.xml 2006-06-19 21:30:30 UTC (rev 173) @@ -640,7 +640,7 @@ </DataSourceInformation> <DataTypes> <TypeName>int2</TypeName> - <ProviderDbType>12</ProviderDbType> + <ProviderDbType>14</ProviderDbType> <ColumnSize>2</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -665,7 +665,7 @@ </DataTypes> <DataTypes> <TypeName>int4</TypeName> - <ProviderDbType>13</ProviderDbType> + <ProviderDbType>15</ProviderDbType> <ColumnSize>4</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -690,7 +690,7 @@ </DataTypes> <DataTypes> <TypeName>int8</TypeName> - <ProviderDbType>14</ProviderDbType> + <ProviderDbType>16</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -715,7 +715,7 @@ </DataTypes> <DataTypes> <TypeName>decimal</TypeName> - <ProviderDbType>9</ProviderDbType> + <ProviderDbType>11</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters>precision, scale</CreateParameters> @@ -740,7 +740,7 @@ </DataTypes> <DataTypes> <TypeName>numeric</TypeName> - <ProviderDbType>18</ProviderDbType> + <ProviderDbType>20</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters>precision, scale</CreateParameters> @@ -765,7 +765,7 @@ </DataTypes> <DataTypes> <TypeName>float4</TypeName> - <ProviderDbType>11</ProviderDbType> + <ProviderDbType>13</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -790,7 +790,7 @@ </DataTypes> <DataTypes> <TypeName>float8</TypeName> - <ProviderDbType>10</ProviderDbType> + <ProviderDbType>12</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -815,7 +815,7 @@ </DataTypes> <DataTypes> <TypeName>currency</TypeName> - <ProviderDbType>7</ProviderDbType> + <ProviderDbType>9</ProviderDbType> <ColumnSize>4</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -840,7 +840,7 @@ </DataTypes> <DataTypes> <TypeName>char</TypeName> - <ProviderDbType>5</ProviderDbType> + <ProviderDbType>7</ProviderDbType> <ColumnSize>2147483647</ColumnSize> <CreateFormat /> <CreateParameters>length</CreateParameters> @@ -865,7 +865,7 @@ </DataTypes> <DataTypes> <TypeName>varchar</TypeName> - <ProviderDbType>28</ProviderDbType> + <ProviderDbType>30</ProviderDbType> <ColumnSize>2147483647</ColumnSize> <CreateFormat /> <CreateParameters>length</CreateParameters> @@ -890,7 +890,7 @@ </DataTypes> <DataTypes> <TypeName>refcursor</TypeName> - <ProviderDbType>22</ProviderDbType> + <ProviderDbType>24</ProviderDbType> <ColumnSize>0</ColumnSize> <CreateFormat /> <CreateParameters></CreateParameters> @@ -915,7 +915,7 @@ </DataTypes> <DataTypes> <TypeName>text</TypeName> - <ProviderDbType>23</ProviderDbType> + <ProviderDbType>25</ProviderDbType> <ColumnSize>2147483647</ColumnSize> <CreateFormat /> <CreateParameters>length</CreateParameters> @@ -965,7 +965,7 @@ </DataTypes> <DataTypes> <TypeName>date</TypeName> - <ProviderDbType>8</ProviderDbType> + <ProviderDbType>10</ProviderDbType> <ColumnSize>4</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -990,7 +990,7 @@ </DataTypes> <DataTypes> <TypeName>time</TypeName> - <ProviderDbType>24</ProviderDbType> + <ProviderDbType>26</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -1015,7 +1015,7 @@ </DataTypes> <DataTypes> <TypeName>timetz</TypeName> - <ProviderDbType>25</ProviderDbType> + <ProviderDbType>27</ProviderDbType> <ColumnSize>12</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -1040,7 +1040,7 @@ </DataTypes> <DataTypes> <TypeName>timestamp</TypeName> - <ProviderDbType>26</ProviderDbType> + <ProviderDbType>28</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -1065,7 +1065,7 @@ </DataTypes> <DataTypes> <TypeName>timestamptz</TypeName> - <ProviderDbType>27</ProviderDbType> + <ProviderDbType>29</ProviderDbType> <ColumnSize>8</ColumnSize> <CreateFormat /> <CreateParameters/> @@ -1090,7 +1090,7 @@ </DataTypes> <DataTypes> <TypeName>interval</TypeName> - <ProviderDbType>15</ProviderDbType> + <ProviderDbType>17</ProviderDbType> <ColumnSize>12</ColumnSize> <CreateFormat /> <CreateParameters/> Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgCheckConstraints.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgCheckConstraints.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgCheckConstraints.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgCheckConstraints : PgSchema { + #region \xB7 Constructors \xB7 + + public PgCheckConstraints(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgColumns.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgColumns.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgColumns.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -24,6 +24,15 @@ { internal class PgColumns : PgSchema { + #region \xB7 Constructors \xB7 + + public PgColumns(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) @@ -138,9 +147,9 @@ break; default: - if (PgDatabase.DataTypes.IndexOf(column["DATA_TYPE"].ToString()) != -1) + if (this.Connection.InternalConnection.Database.DataTypes.IndexOf(column["DATA_TYPE"].ToString()) != -1) { - column["COLUMN_SIZE"] = PgDatabase.DataTypes[column["DATA_TYPE"].ToString()].Size; + column["COLUMN_SIZE"] = this.Connection.InternalConnection.Database.DataTypes[column["DATA_TYPE"].ToString()].Size; } break; } Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeyColumns.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeyColumns.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeyColumns.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -23,6 +23,15 @@ { internal class PgForeignKeyColumns : PgSchema { + #region \xB7 Constructors \xB7 + + public PgForeignKeyColumns(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeys.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeys.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgForeignKeys.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgForeignKeys : PgSchema { + #region \xB7 Constructors \xB7 + + public PgForeignKeys(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctionParameters.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctionParameters.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctionParameters.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -23,6 +23,15 @@ { internal class PgFunctionParameters : PgSchema { + #region \xB7 Constructors \xB7 + + public PgFunctionParameters(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctions.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctions.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgFunctions.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgFunctions : PgSchema { + #region \xB7 Constructors \xB7 + + public PgFunctions(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexColumns.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexColumns.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexColumns.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal sealed class PgIndexColumns : PgSchema { + #region \xB7 Constructors \xB7 + + public PgIndexColumns(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexes.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexes.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgIndexes.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal sealed class PgIndexes : PgSchema { + #region \xB7 Constructors \xB7 + + public PgIndexes(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgPrimaryKeys.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgPrimaryKeys.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgPrimaryKeys.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -17,13 +17,21 @@ using System; using System.Data; - using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal sealed class PgPrimaryKeys : PgSchema { + #region \xB7 Constructors \xB7 + + public PgPrimaryKeys(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchema.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchema.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchema.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -25,11 +25,27 @@ namespace PostgreSql.Data.Schema { internal abstract class PgSchema - { - #region \xB7 Constructors \xB7 + { + #region \xB7 Fields \xB7 - public PgSchema() + private PgConnection connection; + + #endregion + + #region \xB7 Protected Properties \xB7 + + public PgConnection Connection + { + get { return this.connection; } + } + + #endregion + + #region \xB7 Constructors \xB7 + + public PgSchema(PgConnection connection) { + this.connection = connection; } #endregion @@ -42,7 +58,7 @@ #region \xB7 Methods \xB7 - public DataTable GetSchema(PgConnection connection, string collectionName, string[] restrictions) + public DataTable GetSchema(string collectionName, string[] restrictions) { DataTable dataTable = null; PgDataAdapter adapter = null; Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchemaFactory.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchemaFactory.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSchemaFactory.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -95,67 +95,67 @@ switch (collectionName.Trim().ToLower()) { case "checkconstraints": - schema = new PgCheckConstraints(); + schema = new PgCheckConstraints(connection); break; case "columns": - schema = new PgColumns(); + schema = new PgColumns(connection); break; case "indexes": - schema = new PgIndexes(); + schema = new PgIndexes(connection); break; case "indexcolumns": - schema = new PgIndexColumns(); + schema = new PgIndexColumns(connection); break; case "functions": - schema = new PgFunctions(); + schema = new PgFunctions(connection); break; case "functionparameters": - schema = new PgFunctionParameters(); + schema = new PgFunctionParameters(connection); break; case "foreignkeys": - schema = new PgForeignKeys(); + schema = new PgForeignKeys(connection); break; case "foreignkeycolumns": - schema = new PgForeignKeyColumns(); + schema = new PgForeignKeyColumns(connection); break; case "primarykeys": - schema = new PgPrimaryKeys(); + schema = new PgPrimaryKeys(connection); break; case "sequences": - schema = new PgSequences(); + schema = new PgSequences(connection); break; case "tables": - schema = new PgTables(); + schema = new PgTables(connection); break; case "triggers": - schema = new PgTriggers(); + schema = new PgTriggers(connection); break; case "uniquekeys": - schema = new PgUniqueKeys(); + schema = new PgUniqueKeys(connection); break; case "views": - schema = new PgViews(); + schema = new PgViews(connection); break; case "viewcolumns": - schema = new PgViewColumns(); + schema = new PgViewColumns(connection); break; } - return schema.GetSchema(connection, collectionName, restrictions); + return schema.GetSchema(collectionName, restrictions); } private static DataTable SqlCommandCollection(PgConnection connection, string collectionName, string sql, string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSequences.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSequences.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgSequences.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgSequences : PgSchema { + #region \xB7 Constructors \xB7 + + public PgSequences(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTables.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgTables : PgSchema { + #region \xB7 Constructors \xB7 + + public PgTables(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTriggers.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTriggers.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgTriggers.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,11 +16,21 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgTriggers : PgSchema { + #region \xB7 Constructors \xB7 + + public PgTriggers(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgUniqueKeys.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgUniqueKeys.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgUniqueKeys.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -17,13 +17,21 @@ using System; using System.Data; - using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal sealed class PgUniqueKeys : PgSchema { + #region \xB7 Constructors \xB7 + + public PgUniqueKeys(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Protected Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViewColumns.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViewColumns.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViewColumns.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -23,6 +23,15 @@ { internal class PgViewColumns : PgSchema { + #region \xB7 Constructors \xB7 + + public PgViewColumns(PgConnection connection) + : base(connection) + { + } + + #endregion + #region \xB7 Methods \xB7 protected override string BuildSql(string[] restrictions) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViews.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViews.cs 2006-06-19 21:29:24 UTC (rev 172) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Schema/PgViews.cs 2006-06-19 21:30:30 UTC (rev 173) @@ -16,14 +16,24 @@ */ using System; +using PostgreSql.Data.PostgreSqlClient; namespace PostgreSql.Data.Schema { internal class PgViews : PgSchema - { - #region \xB7 Protected Methods \xB7 + { + #region \xB7 Constructors \xB7 - protected override string BuildSql(string[] restrictions) + public PgViews(PgConnection connection) + : base(connection) + { + } + + #endregion + + #region \xB7 Protected Methods \xB7 + + protected override string BuildSql(string[] restrictions) { string sql = "SELECT " + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-06-19 21:29:36
|
Revision: 172 Author: carlosga_fb Date: 2006-06-19 14:29:24 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=172&view=rev Log Message: ----------- Changes on internal data type handling ( not finished ) Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgParameter.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -35,80 +35,80 @@ { #region \xB7 Static Properties \xB7 - public static readonly PgTypeCollection DataTypes = new PgTypeCollection(); + //public static readonly PgTypeCollection DataTypes = InitializeDataTypes(); public static readonly PgCharactersetCollection Charactersets = new PgCharactersetCollection(); #endregion #region \xB7 Static Methods \xB7 - public static void InitializeTypes() + public static PgTypeCollection InitializeDataTypes() { - if (DataTypes.Count > 0) - { - return; - } + PgTypeCollection dataTypes = new PgTypeCollection(); - DataTypes.Add(16 , "bool" , PgDataType.Boolean , 0, PgTypeFormat.Binary, 1); - DataTypes.Add(17 , "bytea" , PgDataType.Binary , 0, PgTypeFormat.Binary, Int32.MaxValue); - DataTypes.Add(18 , "char" , PgDataType.Char , 0, PgTypeFormat.Text, 0); - DataTypes.Add(19 , "name" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - DataTypes.Add(20 , "int8" , PgDataType.Int8 , 0, PgTypeFormat.Binary, 8); - DataTypes.Add(21 , "int2" , PgDataType.Int2 , 0, PgTypeFormat.Binary, 2); - DataTypes.Add(22 , "int2vector" , PgDataType.Vector , 21, PgTypeFormat.Binary, 2); - DataTypes.Add(23 , "int4" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); - DataTypes.Add(24 , "regproc" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - DataTypes.Add(25 , "text" , PgDataType.Text , 0, PgTypeFormat.Text, Int32.MaxValue); - DataTypes.Add(26 , "oid" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); - DataTypes.Add(30 , "oidvector" , PgDataType.Vector , 26, PgTypeFormat.Binary, 4); - DataTypes.Add(600 , "point" , PgDataType.Point , 701, PgTypeFormat.Binary, 16, ","); - DataTypes.Add(601 , "lseg" , PgDataType.LSeg , 600, PgTypeFormat.Binary, 32, ","); - DataTypes.Add(602 , "path" , PgDataType.Path , 0, PgTypeFormat.Binary, 16, ","); - DataTypes.Add(603 , "box" , PgDataType.Box , 600, PgTypeFormat.Binary, 32, ";"); - DataTypes.Add(604 , "polygon" , PgDataType.Polygon , 0, PgTypeFormat.Binary, 16, ","); - DataTypes.Add(628 , "line" , PgDataType.Line , 701, PgTypeFormat.Binary, 32, ","); - DataTypes.Add(629 , "_line" , PgDataType.Array , 628, PgTypeFormat.Binary, 32); - DataTypes.Add(718 , "circle" , PgDataType.Circle , 0, PgTypeFormat.Binary, 24, ","); - DataTypes.Add(719 , "_circle" , PgDataType.Array , 718, PgTypeFormat.Binary, 24); - DataTypes.Add(700 , "float4" , PgDataType.Float , 0, PgTypeFormat.Text, 4); - DataTypes.Add(701 , "float8" , PgDataType.Double , 0, PgTypeFormat.Binary, 8); - DataTypes.Add(705 , "unknown" , PgDataType.Text , 0, PgTypeFormat.Binary, 0); - DataTypes.Add(790 , "money" , PgDataType.Currency , 0, PgTypeFormat.Binary, 4); - DataTypes.Add(829 , "macaddr" , PgDataType.VarChar , 0, PgTypeFormat.Text, 6); - DataTypes.Add(869 , "inet" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - DataTypes.Add(1000 , "_bool" , PgDataType.Array , 16, PgTypeFormat.Binary, 1); - DataTypes.Add(1002 , "_char" , PgDataType.Array , 18, PgTypeFormat.Binary, 0); - DataTypes.Add(1005 , "_int2" , PgDataType.Array , 21, PgTypeFormat.Binary, 2); - DataTypes.Add(1007 , "_int4" , PgDataType.Array , 23, PgTypeFormat.Binary, 4); - DataTypes.Add(1009 , "_text" , PgDataType.Array , 25, PgTypeFormat.Binary, 0); - DataTypes.Add(1016 , "_int8" , PgDataType.Array , 20, PgTypeFormat.Binary, 8); - DataTypes.Add(1017 , "_point" , PgDataType.Array , 600, PgTypeFormat.Binary, 16); - DataTypes.Add(1018 , "_lseg" , PgDataType.Array , 601, PgTypeFormat.Binary, 32); - DataTypes.Add(1019 , "_path" , PgDataType.Array , 602, PgTypeFormat.Binary, -1); - DataTypes.Add(1020 , "_box" , PgDataType.Array , 603, PgTypeFormat.Binary, 32); - DataTypes.Add(1021 , "_float4" , PgDataType.Array , 700, PgTypeFormat.Binary, 4); - DataTypes.Add(1027 , "_polygon" , PgDataType.Array , 604, PgTypeFormat.Binary, 16); - DataTypes.Add(1028 , "_oid" , PgDataType.Array , 26, PgTypeFormat.Binary, 4); - DataTypes.Add(1033 , "aclitem" , PgDataType.VarChar , 0, PgTypeFormat.Text, 12); - DataTypes.Add(1034 , "_aclitem" , PgDataType.Array , 1033, PgTypeFormat.Text, 0); - DataTypes.Add(1042 , "bpchar" , PgDataType.Char , 0, PgTypeFormat.Text, 0); - DataTypes.Add(1043 , "varchar" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - DataTypes.Add(1082 , "date" , PgDataType.Date , 0, PgTypeFormat.Binary, 4); - DataTypes.Add(1083 , "time" , PgDataType.Time , 0, PgTypeFormat.Text, 8); - DataTypes.Add(1114 , "timestamp" , PgDataType.Timestamp , 0, PgTypeFormat.Text, 8); - DataTypes.Add(1184 , "timestamptz" , PgDataType.TimestampWithTZ, 0, PgTypeFormat.Binary, 8); - DataTypes.Add(1186 , "interval" , PgDataType.Interval , 0, PgTypeFormat.Binary, 12); - DataTypes.Add(1266 , "timetz" , PgDataType.TimeWithTZ , 0, PgTypeFormat.Binary, 12); - DataTypes.Add(1560 , "bit" , PgDataType.Byte , 0, PgTypeFormat.Text, 1); - DataTypes.Add(1562 , "varbit" , PgDataType.Byte , 0, PgTypeFormat.Binary, 0); - 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(16 , "bool" , PgDataType.Boolean , 0, PgTypeFormat.Binary, 1); + dataTypes.Add(17 , "bytea" , PgDataType.Binary , 0, PgTypeFormat.Binary, Int32.MaxValue); + dataTypes.Add(18 , "char" , PgDataType.Char , 0, PgTypeFormat.Text, 0); + dataTypes.Add(19 , "name" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); + dataTypes.Add(20 , "int8" , PgDataType.Int8 , 0, PgTypeFormat.Binary, 8); + dataTypes.Add(21 , "int2" , PgDataType.Int2 , 0, PgTypeFormat.Binary, 2); + dataTypes.Add(22 , "int2vector" , PgDataType.Vector , 21, PgTypeFormat.Binary, 2); + dataTypes.Add(23 , "int4" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); + dataTypes.Add(24 , "regproc" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); + dataTypes.Add(25 , "text" , PgDataType.Text , 0, PgTypeFormat.Text, Int32.MaxValue); + dataTypes.Add(26 , "oid" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); + dataTypes.Add(30 , "oidvector" , PgDataType.Vector , 26, PgTypeFormat.Binary, 4); + dataTypes.Add(600 , "point" , PgDataType.Point , 701, PgTypeFormat.Binary, 16, ","); + dataTypes.Add(601 , "lseg" , PgDataType.LSeg , 600, PgTypeFormat.Binary, 32, ","); + dataTypes.Add(602 , "path" , PgDataType.Path , 0, PgTypeFormat.Binary, 16, ","); + dataTypes.Add(603 , "box" , PgDataType.Box , 600, PgTypeFormat.Binary, 32, ";"); + dataTypes.Add(604 , "polygon" , PgDataType.Polygon , 0, PgTypeFormat.Binary, 16, ","); + dataTypes.Add(628 , "line" , PgDataType.Line , 701, PgTypeFormat.Binary, 32, ","); + dataTypes.Add(629 , "_line" , PgDataType.Array , 628, PgTypeFormat.Binary, 32); + dataTypes.Add(718 , "circle" , PgDataType.Circle , 0, PgTypeFormat.Binary, 24, ","); + dataTypes.Add(719 , "_circle" , PgDataType.Array , 718, PgTypeFormat.Binary, 24); + dataTypes.Add(700 , "float4" , PgDataType.Float , 0, PgTypeFormat.Text, 4); + dataTypes.Add(701 , "float8" , PgDataType.Double , 0, PgTypeFormat.Binary, 8); + dataTypes.Add(705 , "unknown" , PgDataType.Text , 0, PgTypeFormat.Binary, 0); + dataTypes.Add(790 , "money" , PgDataType.Currency , 0, PgTypeFormat.Binary, 4); + dataTypes.Add(829 , "macaddr" , PgDataType.VarChar , 0, PgTypeFormat.Text, 6); + dataTypes.Add(869 , "inet" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); + dataTypes.Add(1000 , "_bool" , PgDataType.Array , 16, PgTypeFormat.Binary, 1); + dataTypes.Add(1002 , "_char" , PgDataType.Array , 18, PgTypeFormat.Binary, 0); + dataTypes.Add(1005 , "_int2" , PgDataType.Array , 21, PgTypeFormat.Binary, 2); + dataTypes.Add(1007 , "_int4" , PgDataType.Array , 23, PgTypeFormat.Binary, 4); + dataTypes.Add(1009 , "_text" , PgDataType.Array , 25, PgTypeFormat.Binary, 0); + dataTypes.Add(1016 , "_int8" , PgDataType.Array , 20, PgTypeFormat.Binary, 8); + dataTypes.Add(1017 , "_point" , PgDataType.Array , 600, PgTypeFormat.Binary, 16); + dataTypes.Add(1018 , "_lseg" , PgDataType.Array , 601, PgTypeFormat.Binary, 32); + dataTypes.Add(1019 , "_path" , PgDataType.Array , 602, PgTypeFormat.Binary, -1); + dataTypes.Add(1020 , "_box" , PgDataType.Array , 603, PgTypeFormat.Binary, 32); + dataTypes.Add(1021 , "_float4" , PgDataType.Array , 700, PgTypeFormat.Binary, 4); + dataTypes.Add(1027 , "_polygon" , PgDataType.Array , 604, PgTypeFormat.Binary, 16); + dataTypes.Add(1028 , "_oid" , PgDataType.Array , 26, PgTypeFormat.Binary, 4); + dataTypes.Add(1033 , "aclitem" , PgDataType.VarChar , 0, PgTypeFormat.Text, 12); + dataTypes.Add(1034 , "_aclitem" , PgDataType.Array , 1033, PgTypeFormat.Text, 0); + dataTypes.Add(1042 , "bpchar" , PgDataType.Char , 0, PgTypeFormat.Text, 0); + dataTypes.Add(1043 , "varchar" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); + dataTypes.Add(1082 , "date" , PgDataType.Date , 0, PgTypeFormat.Binary, 4); + dataTypes.Add(1083 , "time" , PgDataType.Time , 0, PgTypeFormat.Text, 8); + dataTypes.Add(1114 , "timestamp" , PgDataType.Timestamp , 0, PgTypeFormat.Text, 8); + dataTypes.Add(1184 , "timestamptz" , PgDataType.TimestampWithTZ, 0, PgTypeFormat.Binary, 8); + dataTypes.Add(1186 , "interval" , PgDataType.Interval , 0, PgTypeFormat.Binary, 12); + dataTypes.Add(1266 , "timetz" , PgDataType.TimeWithTZ , 0, PgTypeFormat.Binary, 12); + dataTypes.Add(1560 , "bit" , PgDataType.Byte , 0, PgTypeFormat.Text, 1); + dataTypes.Add(1562 , "varbit" , PgDataType.Byte , 0, PgTypeFormat.Binary, 0); + 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); // PostGIS datatypes - DataTypes.Add(16418 , "box3d" , PgDataType.Box3D , 0, PgTypeFormat.Text, 48, ","); - DataTypes.Add(17335 , "box2d" , PgDataType.Box2D , 0, PgTypeFormat.Text, 16, ","); + dataTypes.Add(17321 , "box3d" , PgDataType.Box3D , 0, PgTypeFormat.Text, 48, ",", "BOX3D"); + dataTypes.Add(17335 , "box2d" , PgDataType.Box2D , 0, PgTypeFormat.Text, 16, ",", "BOX"); + // dataTypes.Add(-1 , "polygon2d" , PgDataType.Box2D , 0, PgTypeFormat.Text, 16, ",", "POLYGON"); + + return dataTypes; } public static void InitializeCharSets() @@ -188,7 +188,8 @@ private PgConnectionOptions options; private int handle; private int secretKey; - private char transactionStatus; + private char transactionStatus; + private PgTypeCollection dataTypes; #endregion @@ -226,6 +227,19 @@ get { return this.encoding; } } + public PgTypeCollection DataTypes + { + get + { + if (this.dataTypes == null) + { + this.dataTypes = InitializeDataTypes(); + } + + return this.dataTypes; + } + } + #endregion #region \xB7 Internal Properties \xB7 @@ -270,7 +284,6 @@ { try { - PgDatabase.InitializeTypes(); PgDatabase.InitializeCharSets(); this.InitializeSocket(); @@ -299,7 +312,7 @@ this.ParameterStatus.Clear(); // Send Startup message - PgOutputPacket packet = new PgOutputPacket(this.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes, this.Encoding); packet.Write(PgCodes.PROTOCOL_VERSION3); packet.WriteNullString("user"); @@ -325,6 +338,12 @@ 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) @@ -344,7 +363,7 @@ try { // Send packet to the server - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes); this.SendPacket(packet, PgFrontEndCodes.TERMINATE); this.Detach(); @@ -447,7 +466,7 @@ received += this.receive.Read(buffer, received, length - received); } - responsePacket = new PgResponsePacket(type, this.Encoding, buffer); + responsePacket = new PgResponsePacket(this.DataTypes, type, this.Encoding, buffer); } catch (IOException) { @@ -501,7 +520,7 @@ // Authentication response int authType = packet.ReadInt32(); - PgOutputPacket outPacket = new PgOutputPacket(this.Encoding); + PgOutputPacket outPacket = new PgOutputPacket(this.DataTypes, this.Encoding); switch (authType) { @@ -696,7 +715,7 @@ { try { - PgOutputPacket packet = new PgOutputPacket(this.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes, this.Encoding); // Send packet to the server this.SendPacket(packet, PgFrontEndCodes.FLUSH); @@ -714,7 +733,7 @@ { try { - PgOutputPacket packet = new PgOutputPacket(this.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes, this.Encoding); // Send packet to the server this.SendPacket(packet, PgFrontEndCodes.SYNC); @@ -751,7 +770,7 @@ { try { - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes); packet.Write((int)16); packet.Write(PgCodes.CANCEL_REQUEST); @@ -776,7 +795,7 @@ { try { - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.DataTypes); packet.Write(PgCodes.SSL_REQUEST); Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -30,9 +30,10 @@ { #region \xB7 Fields \xB7 - private MemoryStream stream; - private BinaryWriter packet; - private Encoding encoding; + private MemoryStream stream; + private BinaryWriter packet; + private Encoding encoding; + private PgTypeCollection dataTypes; #endregion @@ -52,16 +53,17 @@ #region \xB7 Constructors \xB7 - public PgOutputPacket() - : this(Encoding.Default) + public PgOutputPacket(PgTypeCollection dataTypes) + : this(dataTypes, Encoding.Default) { } - public PgOutputPacket(Encoding encoding) + public PgOutputPacket(PgTypeCollection dataTypes, Encoding encoding) { this.stream = new MemoryStream(); this.packet = new BinaryWriter(this.stream); this.encoding = encoding; + this.dataTypes = dataTypes; this.Write(new byte[0]); } @@ -271,11 +273,11 @@ System.Array array = (System.Array)parameter.Value; // Get array elements type info - PgType elementType = PgDatabase.DataTypes[parameter.DataType.ElementType]; + PgType elementType = this.dataTypes[parameter.DataType.ElementType]; size = elementType.Size; // Create a new packet for write array parameter information - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.dataTypes); // Write the number of dimensions packet.Write(array.Rank); @@ -318,7 +320,7 @@ public byte[] GetSimplePacketBytes() { - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.dataTypes); // Write packet contents packet.Write((int)(this.Length + 4)); @@ -329,7 +331,7 @@ public byte[] GetPacketBytes(char format) { - PgOutputPacket packet = new PgOutputPacket(); + PgOutputPacket packet = new PgOutputPacket(this.dataTypes); packet.Write((byte)format); packet.Write((int)(this.Length + 4)); @@ -378,10 +380,7 @@ case PgDataType.Char: case PgDataType.VarChar: case PgDataType.Text: - { - string paramValue = value.ToString() + PgCodes.NULL_TERMINATOR; - packet.WriteString(paramValue); - } + packet.WriteString(value.ToString()); break; case PgDataType.Int2: Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgParameter.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgParameter.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgParameter.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -57,18 +57,14 @@ } public PgParameter(int dataTypeOid) + : this(dataTypeOid, null) { - this.dataTypeOid = dataTypeOid; - - if (PgDatabase.DataTypes.Contains(dataTypeOid)) - { - this.dataType = PgDatabase.DataTypes[dataTypeOid]; - } } - public PgParameter(int dataType, object data) : this(dataType) + public PgParameter(int dataTypeOid, object data) { - this.data = data; + this.dataTypeOid = dataTypeOid; + this.data = data; } #endregion Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -30,10 +30,11 @@ { #region \xB7 Fields \xB7 - private char message; - private Stream stream; - private BinaryReader packet; - private Encoding encoding; + private char message; + private Stream stream; + private BinaryReader packet; + private Encoding encoding; + private PgTypeCollection dataTypes; #endregion @@ -104,12 +105,13 @@ #region \xB7 Constructors \xB7 - public PgResponsePacket(char message, Encoding encoding, byte[] contents) + public PgResponsePacket(PgTypeCollection dataTypes, char message, Encoding encoding, byte[] contents) { - this.stream = new MemoryStream(contents); - this.packet = new BinaryReader(this.stream); - this.encoding = encoding; - this.message = message; + this.dataTypes = dataTypes; + this.stream = new MemoryStream(contents); + this.packet = new BinaryReader(this.stream); + this.encoding = encoding; + this.message = message; } #endregion @@ -283,7 +285,7 @@ } // Read array element type - PgType elementType = PgDatabase.DataTypes[this.ReadInt32()]; + PgType elementType = this.dataTypes[this.ReadInt32()]; // Read array lengths and lower bounds for (int i = 0; i < dimensions; i++) @@ -306,7 +308,7 @@ public Array ReadVector(PgType type, int length) { - PgType elementType = PgDatabase.DataTypes[type.ElementType]; + PgType elementType = this.dataTypes[type.ElementType]; Array data = null; data = Array.CreateInstance(elementType.SystemType, (length / elementType.Size)); @@ -563,6 +565,9 @@ case PgDataType.Box2D: return PgBox2D.Parse(stringValue); + case PgDataType.Box3D: + return PgBox3D.Parse(stringValue); + default: return this.packet.ReadBytes(length); } @@ -601,7 +606,7 @@ private Array ReadStringArray(PgType type, int length) { - PgType elementType = PgDatabase.DataTypes[type.ElementType]; + PgType elementType = this.dataTypes[type.ElementType]; Array data = null; string contents = this.ReadString(length); Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -182,7 +182,7 @@ this.rowDescriptor = new PgRowDescriptor(0); this.parameters = new PgParameter[0]; - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); packet.WriteNullString(this.ParseName); packet.WriteNullString(this.stmtText); @@ -225,7 +225,7 @@ string name = ((stmtType == 'S') ? this.ParseName : this.PortalName); - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); packet.Write((byte)stmtType); packet.WriteNullString(name); @@ -264,13 +264,13 @@ int baseTypeOid = Convert.ToInt32(stmt.FetchRow()[0]); - if (baseTypeOid == 0 || !PgDatabase.DataTypes.Contains(baseTypeOid)) + if (baseTypeOid == 0 || !this.db.DataTypes.Contains(baseTypeOid)) { throw new PgClientException("Unsupported data type"); } // Try to add the data type to the list of supported data types - parameter.DataType = PgDatabase.DataTypes[baseTypeOid]; + parameter.DataType = this.db.DataTypes[baseTypeOid]; } catch { @@ -301,7 +301,7 @@ // Update status this.status = PgStatementStatus.Binding; - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); // Destination portal name packet.WriteNullString(this.PortalName); @@ -355,7 +355,7 @@ // Update status this.status = PgStatementStatus.Executing; - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); packet.WriteNullString(this.PortalName); packet.Write(this.fetchSize); // Rows to retrieve ( 0 = nolimit ) @@ -413,7 +413,7 @@ // Update status this.status = PgStatementStatus.Executing; - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); // Function id packet.Write(id); @@ -471,7 +471,7 @@ // Update Status this.status = PgStatementStatus.OnQuery; - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); packet.WriteNullString(this.stmtText); @@ -576,7 +576,7 @@ { string name = ((stmtType == 'S') ? this.ParseName : this.PortalName); - PgOutputPacket packet = new PgOutputPacket(this.db.Encoding); + PgOutputPacket packet = new PgOutputPacket(this.db.DataTypes, this.db.Encoding); packet.Write((byte)stmtType); packet.WriteNullString(String.IsNullOrEmpty(name) ? "" : name); @@ -747,7 +747,7 @@ this.rowDescriptor.Fields[i].FieldName = packet.ReadNullString(); this.rowDescriptor.Fields[i].OidTable = packet.ReadInt32(); this.rowDescriptor.Fields[i].OidNumber = packet.ReadInt16(); - this.rowDescriptor.Fields[i].DataType = PgDatabase.DataTypes[packet.ReadInt32()]; + this.rowDescriptor.Fields[i].DataType = this.db.DataTypes[packet.ReadInt32()]; this.rowDescriptor.Fields[i].DataTypeSize = packet.ReadInt16(); this.rowDescriptor.Fields[i].TypeModifier = packet.ReadInt32(); this.rowDescriptor.Fields[i].FormatCode = (PgTypeFormat)packet.ReadInt16(); @@ -760,7 +760,8 @@ for (int i = 0; i < parameters.Length; i++) { - this.parameters[i] = new PgParameter(packet.ReadInt32()); + this.parameters[i] = new PgParameter(packet.ReadInt32()); + this.parameters[i].DataType = this.db.DataTypes[this.parameters[i].DataTypeOid]; } } Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -32,6 +32,7 @@ private PgTypeFormat formatCode; private int size; private string delimiter; + private string prefix; #endregion @@ -61,14 +62,12 @@ { get { - int type = elementType; + //while (PgDatabase.DataTypes[type].DataType == PgDataType.Array) + //{ + // type = PgDatabase.DataTypes[type].ElementType; + //} - while (PgDatabase.DataTypes[type].DataType == PgDataType.Array) - { - type = PgDatabase.DataTypes[type].ElementType; - } - - return type; + return this.elementType; } } @@ -144,6 +143,11 @@ get { return this.delimiter; } } + public string Prefix + { + get { return this.prefix; } + } + #endregion #region \xB7 Constructors \xB7 @@ -161,7 +165,20 @@ PgTypeFormat formatCode, int size, string delimiter) + : this(oid, name, dataType, elementType, formatCode, size, delimiter, "") { + } + + public PgType( + int oid, + string name, + PgDataType dataType, + int elementType, + PgTypeFormat formatCode, + int size, + string delimiter, + string prefix) + { this.oid = oid; this.name = name; this.dataType = dataType; @@ -170,6 +187,7 @@ this.size = size; this.systemType = this.InferSystemType(); this.delimiter = delimiter; + this.prefix = prefix; } #endregion Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs 2006-06-19 21:28:22 UTC (rev 171) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs 2006-06-19 21:29:24 UTC (rev 172) @@ -114,6 +114,19 @@ return this.Add(new PgType(oid, name, dataType, elementType, formatCode, size, delimiter)); } + public PgType Add( + int oid, + string name, + PgDataType dataType, + int elementType, + PgTypeFormat formatCode, + int size, + string delimiter, + string prefix) + { + return this.Add(new PgType(oid, name, dataType, elementType, formatCode, size, delimiter, prefix)); + } + #endregion #region \xB7 Private Methods \xB7 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-06-19 21:28:29
|
Revision: 171 Author: carlosga_fb Date: 2006-06-19 14:28:22 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=171&view=rev Log Message: ----------- Changes on internal data type handling ( not finished ) Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-06-19 21:25:28 UTC (rev 170) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-06-19 21:28:22 UTC (rev 171) @@ -249,6 +249,9 @@ { if (this.schemaTable == null) { + int tableCount = 0; + string currentTable = ""; + this.schemaTable = this.GetSchemaTableStructure(); this.schemaTable.BeginLoadData(); @@ -336,9 +339,25 @@ schemaRow["BaseColumnName"] = System.DBNull.Value; } + if (!String.IsNullOrEmpty(schemaRow["BaseSchemaName"].ToString()) && + schemaRow["BaseSchemaName"].ToString() != currentTable) + { + tableCount++; + currentTable = schemaRow["BaseSchemaName"].ToString(); + } + this.schemaTable.Rows.Add(schemaRow); } + if (tableCount > 1) + { + foreach (DataRow row in this.schemaTable.Rows) + { + row["IsKey"] = false; + row["IsUnique"] = false; + } + } + this.schemaTable.EndLoadData(); columnsCmd.Dispose(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-06-19 21:25:37
|
Revision: 170 Author: carlosga_fb Date: 2006-06-19 14:25:28 -0700 (Mon, 19 Jun 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=170&view=rev Log Message: ----------- Changes on internal data type handling ( not finished ) Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgCircle.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs 2006-05-31 19:03:49 UTC (rev 169) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs 2006-06-19 21:25:28 UTC (rev 170) @@ -130,7 +130,7 @@ s = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1); } - string[] delimiters = new string[] { PgDatabase.DataTypes["box2d"].Delimiter }; + string[] delimiters = new string[] { "," }; string[] boxPoints = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs 2006-05-31 19:03:49 UTC (rev 169) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs 2006-06-19 21:25:28 UTC (rev 170) @@ -114,7 +114,7 @@ s = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1); } - string[] delimiters = new string[] { PgDatabase.DataTypes["box3d"].Delimiter }; + string[] delimiters = new string[] { "," }; string[] boxPoints = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgCircle.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgCircle.cs 2006-05-31 19:03:49 UTC (rev 169) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgCircle.cs 2006-06-19 21:25:28 UTC (rev 170) @@ -91,11 +91,7 @@ public override string ToString() { - System.Text.StringBuilder b = new System.Text.StringBuilder(); - b.AppendFormat("<({0},{1}),{2}>", - this.center.X, this.center.Y, this.radius); - - return b.ToString(); + return String.Format("<{0},{1}>", this.center, this.radius); } public override int GetHashCode() Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-05-31 19:03:49 UTC (rev 169) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-06-19 21:25:28 UTC (rev 170) @@ -75,7 +75,7 @@ { CultureInfo culture = CultureInfo.InvariantCulture; - return String.Format(culture, "({0}{1}{2})", this.x, PgDatabase.DataTypes["point"].Delimiter, this.y); + return String.Format(culture, "({0},{1})", this.x, this.y); } public override int GetHashCode() @@ -106,7 +106,7 @@ throw new ArgumentNullException("s cannot be null"); } - string[] delimiters = new string[] { PgDatabase.DataTypes["point"].Delimiter }; + string[] delimiters = new string[] { "," }; string[] pointCoords = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-31 19:44:50
|
Revision: 169 Author: carlosga_fb Date: 2006-05-31 12:03:49 -0700 (Wed, 31 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=169&view=rev Log Message: ----------- 2006-05-31 Carlos Guzman Alvarez (car...@gm...) - Committed initial support for fetching PostGIS Box3D values. Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs Added Paths: ----------- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint3D.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs 2006-05-31 18:36:50 UTC (rev 168) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs 2006-05-31 19:03:49 UTC (rev 169) @@ -1,3 +1,20 @@ +/* + * PgSqlClient - ADO.NET Data Provider for PostgreSQL 7.4+ + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. + * + * Software distributed under the License is distributed on + * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * Copyright (c) 2006 Carlos Guzman Alvarez + * All Rights Reserved. + */ + using System; using PostgreSql.Data.Protocol; Added: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs (rev 0) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox3D.cs 2006-05-31 19:03:49 UTC (rev 169) @@ -0,0 +1,129 @@ +/* + * PgSqlClient - ADO.NET Data Provider for PostgreSQL 7.4+ + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. + * + * Software distributed under the License is distributed on + * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * Copyright (c) 2003, 2006 Carlos Guzman Alvarez + * All Rights Reserved. + */ + +using System; +using PostgreSql.Data.Protocol; + +namespace PostgreSql.Data.PgTypes +{ + [Serializable] + public struct PgBox3D + { + #region \xB7 Fields \xB7 + + private PgPoint3D upperRight; + private PgPoint3D lowerLeft; + + #endregion + + #region \xB7 Properties \xB7 + + public PgPoint3D UpperRight + { + get { return this.upperRight; } + } + + public PgPoint3D LowerLeft + { + get { return this.lowerLeft; } + } + + #endregion + + #region \xB7 Constructors \xB7 + + public PgBox3D(PgPoint3D lowerLeft, PgPoint3D upperRight) + { + this.lowerLeft = lowerLeft; + this.upperRight = upperRight; + } + + public PgBox3D(double x1, double y1, double z1, double x2, double y2, double z2) + { + this.lowerLeft = new PgPoint3D(x1, y1, z1); + this.upperRight = new PgPoint3D(x2, y2, z2); + } + + #endregion + + #region \xB7 Operators \xB7 + + public static bool operator ==(PgBox3D left, PgBox3D right) + { + return (left.UpperRight == right.UpperRight && left.LowerLeft == right.LowerLeft); + } + + public static bool operator !=(PgBox3D left, PgBox3D right) + { + return (left.UpperRight != right.UpperRight || left.LowerLeft != right.LowerLeft); + } + + #endregion + + #region \xB7 Overriden Methods \xB7 + + public override string ToString() + { + return String.Format("BOX3D({0},{1})", this.lowerLeft.ToString(), this.upperRight.ToString()); + } + + public override int GetHashCode() + { + return (this.UpperRight.GetHashCode() ^ this.LowerLeft.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj is PgBox3D) + { + return ((PgBox3D)obj) == this; + } + else + { + return false; + } + } + + #endregion + + #region \xB7 Static Methods \xB7 + + public static PgBox3D Parse(string s) + { + if (s == null) + { + throw new ArgumentNullException("s cannot be null"); + } + + if (s.IndexOf("(") > 0) + { + s = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1); + } + + string[] delimiters = new string[] { PgDatabase.DataTypes["box3d"].Delimiter }; + + string[] boxPoints = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); + + PgPoint3D left = PgPoint3D.Parse(boxPoints[0]); + PgPoint3D right = PgPoint3D.Parse(boxPoints[1]); + + return new PgBox3D(left, right); + } + + #endregion + } +} Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-05-31 18:36:50 UTC (rev 168) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-05-31 19:03:49 UTC (rev 169) @@ -59,26 +59,12 @@ public static bool operator ==(PgPoint left, PgPoint right) { - if (left.X == right.X && left.Y == right.Y) - { - return true; - } - else - { - return true; - } + return (left.X == right.X && left.Y == right.Y); } public static bool operator !=(PgPoint left, PgPoint right) { - if (left.X != right.X || left.Y != right.Y) - { - return true; - } - else - { - return true; - } + return (left.X != right.X || left.Y != right.Y); } #endregion Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs 2006-05-31 18:36:50 UTC (rev 168) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs 2006-05-31 19:03:49 UTC (rev 169) @@ -11,7 +11,7 @@ * express or implied. See the License for the specific * language governing rights and limitations under the License. * - * Copyright (c) 2003, 2006 Carlos Guzman Alvarez + * Copyright (c) 2006 Carlos Guzman Alvarez * All Rights Reserved. */ @@ -35,12 +35,12 @@ public double X { - get { return x; } + get { return this.x; } } public double Y { - get { return y; } + get { return this.y; } } #endregion @@ -59,26 +59,12 @@ public static bool operator ==(PgPoint2D left, PgPoint2D right) { - if (left.X == right.X && left.Y == right.Y) - { - return true; - } - else - { - return true; - } + return (left.X == right.X && left.Y == right.Y); } public static bool operator !=(PgPoint2D left, PgPoint2D right) { - if (left.X != right.X || left.Y != right.Y) - { - return true; - } - else - { - return true; - } + return (left.X != right.X || left.Y != right.Y); } #endregion Added: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint3D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint3D.cs (rev 0) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint3D.cs 2006-05-31 19:03:49 UTC (rev 169) @@ -0,0 +1,137 @@ +/* + * PgSqlClient - ADO.NET Data Provider for PostgreSQL 7.4+ + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. + * + * Software distributed under the License is distributed on + * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * Copyright (c) 2006 Carlos Guzman Alvarez + * All Rights Reserved. + */ + +using System; +using System.Globalization; +using PostgreSql.Data.Protocol; + +namespace PostgreSql.Data.PgTypes +{ + [Serializable] + public struct PgPoint3D + { + #region \xB7 Fields \xB7 + + private double x; + private double y; + private double z; + + #endregion + + #region \xB7 Properties \xB7 + + public double X + { + get { return this.x; } + } + + public double Y + { + get { return this.y; } + } + + public double Z + { + get { return this.z; } + } + + #endregion + + #region \xB7 Constructors \xB7 + + public PgPoint3D(double x, double y, double z) + { + this.x = x; + this.y = y; + this.z = z; + } + + #endregion + + #region \xB7 Operators \xB7 + + public static bool operator ==(PgPoint3D left, PgPoint3D right) + { + return (left.X == right.X && left.Y == right.Y && left.Z == right.Z); + } + + public static bool operator !=(PgPoint3D left, PgPoint3D right) + { + return (left.X != right.X || left.Y != right.Y || left.Z != right.Z); + } + + #endregion + + #region \xB7 Overriden Methods \xB7 + + public override string ToString() + { + CultureInfo culture = CultureInfo.InvariantCulture; + + return String.Format(culture, "{0} {1} {2}", this.x, this.y, this.z); + } + + public override int GetHashCode() + { + return (this.x.GetHashCode() ^ this.y.GetHashCode() ^ this.z.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj != null && obj is PgPoint3D) + { + return ((PgPoint3D)obj) == this; + } + else + { + return false; + } + } + + #endregion + + #region \xB7 Static Methods \xB7 + + public static PgPoint3D Parse(string s) + { + if (s == null) + { + throw new ArgumentNullException("s cannot be null"); + } + + if (s.IndexOf("(") > 0) + { + s = s.Substring(s.IndexOf("("), s.Length - s.IndexOf("(")); + } + + string[] pointCoords = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + + if (pointCoords == null || pointCoords.Length != 3) + { + throw new ArgumentException("s is not a valid point."); + } + + double x = Double.Parse(pointCoords[0], System.Globalization.CultureInfo.InvariantCulture); + double y = Double.Parse(pointCoords[1], System.Globalization.CultureInfo.InvariantCulture); + double z = Double.Parse(pointCoords[2], System.Globalization.CultureInfo.InvariantCulture); + + return new PgPoint3D(x, y, z); + } + + #endregion + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-31 18:37:02
|
Revision: 168 Author: carlosga_fb Date: 2006-05-31 11:36:50 -0700 (Wed, 31 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=168&view=rev Log Message: ----------- 2006-05-31 Carlos Guzman Alvarez (car...@gm...) - Committed initial support for fetching PostGIS Box2D values. Modified Paths: -------------- trunk/PostgreSqlClient/changelog.txt Modified: trunk/PostgreSqlClient/changelog.txt =================================================================== --- trunk/PostgreSqlClient/changelog.txt 2006-05-31 18:36:25 UTC (rev 167) +++ trunk/PostgreSqlClient/changelog.txt 2006-05-31 18:36:50 UTC (rev 168) @@ -2,6 +2,10 @@ ---------------- - ----------------------------------------- +2006-05-31 Carlos Guzman Alvarez (car...@gm...) + + - Committed initial support for fetching PostGIS Box2D values. + 2006-05-23 Carlos Guzman Alvarez (car...@gm...) - PostgreSql\Data\PostgreSqlClient\Protocol\PgDatabase.cs: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-31 18:36:44
|
Revision: 167 Author: carlosga_fb Date: 2006-05-31 11:36:25 -0700 (Wed, 31 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=167&view=rev Log Message: ----------- 2006-05-31 Carlos Guzman Alvarez (car...@gm...) - Committed initial support for fetching PostGIS Box2D values. Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDbType.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-31 18:35:53 UTC (rev 166) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-31 18:36:25 UTC (rev 167) @@ -307,9 +307,9 @@ schemaRow["NumericScale"] = DBNull.Value; } schemaRow["DataType"] = this.GetFieldType(i); - schemaRow["ProviderType"] = this.GetProviderType(i); + schemaRow["ProviderType"] = this.GetProviderDbType(i); schemaRow["IsLong"] = this.IsLong(i); - schemaRow["IsRowVersion"] = false; + schemaRow["IsRowVersion"] = this.CultureAwareCompare(this.GetName(i), "oid"); schemaRow["IsUnique"] = false; schemaRow["IsAliased"] = this.IsAliased(i); schemaRow["IsExpression"] = this.IsExpression(i); @@ -664,12 +664,22 @@ return (TimeSpan)GetValue(i); } - public PgPoint GetPgPoint(int i) + public PgTimeSpan GetPgTimeSpan(int i) + { + this.CheckPosition(); + this.CheckIndex(i); + + return new PgTimeSpan(this.GetTimeSpan(i)); + } + + #region \xB7 Geometric Types \xB7 + + public PgPoint GetPgPoint(int i) { this.CheckPosition(); this.CheckIndex(i); - return (PgPoint)this.GetPgValue(i); + return (PgPoint)this.GetProviderSpecificValue(i); } public PgBox GetPgBox(int i) @@ -677,7 +687,7 @@ this.CheckPosition(); this.CheckIndex(i); - return (PgBox)this.GetPgValue(i); + return (PgBox)this.GetProviderSpecificValue(i); } public PgLSeg GetPgLSeg(int i) @@ -685,7 +695,7 @@ this.CheckPosition(); this.CheckIndex(i); - return (PgLSeg)this.GetPgValue(i); + return (PgLSeg)this.GetProviderSpecificValue(i); } public PgCircle GetPgCircle(int i) @@ -693,7 +703,7 @@ this.CheckPosition(); this.CheckIndex(i); - return (PgCircle)this.GetPgValue(i); + return (PgCircle)this.GetProviderSpecificValue(i); } public PgPath GetPgPath(int i) @@ -701,7 +711,7 @@ this.CheckPosition(); this.CheckIndex(i); - return (PgPath)this.GetPgValue(i); + return (PgPath)this.GetProviderSpecificValue(i); } public PgPolygon GetPgPolygon(int i) @@ -709,23 +719,34 @@ this.CheckPosition(); this.CheckIndex(i); - return (PgPolygon)this.GetPgValue(i); - } + return (PgPolygon)this.GetProviderSpecificValue(i); + } - public PgTimeSpan GetPgTimeSpan(int i) - { - this.CheckPosition(); - this.CheckIndex(i); + #endregion - return new PgTimeSpan(this.GetTimeSpan(i)); - } + #region \xB7 PostGIS Types \xB7 - public object GetPgValue(int i) + public PgBox2D GetPgBox2D(int i) + { + this.CheckPosition(); + this.CheckIndex(i); + + return (PgBox2D)this.GetProviderSpecificValue(i); + } + + #endregion + + public override Type GetProviderSpecificFieldType(int i) + { + return this.GetFieldType(i); + } + + public override object GetProviderSpecificValue(int i) { this.CheckPosition(); this.CheckIndex(i); - switch (this.GetProviderType(i)) + switch (this.GetProviderDbType(i)) { case PgDbType.Interval: return this.GetPgTimeSpan(i); @@ -735,7 +756,7 @@ } } - public int GetPgValues(object[] values) + public override int GetProviderSpecificValues(object[] values) { return this.GetValues(values); } @@ -820,6 +841,11 @@ return this.command.Statement.RowDescriptor.Fields[i].DataType.Size; } + private PgDbType GetProviderDbType(int i) + { + return (PgDbType)this.command.Statement.RowDescriptor.Fields[i].DataType.DataType; + } + private int GetNumericPrecision(int i) { #warning "Add implementation" @@ -832,11 +858,6 @@ return 0; } - private PgDbType GetProviderType(int i) - { - return (PgDbType)this.command.Statement.RowDescriptor.Fields[i].DataType.DataType; - } - private bool IsNumeric(int i) { if (i < 0 || i >= this.FieldCount) @@ -916,6 +937,11 @@ } } + private bool IsCommandBehavior(CommandBehavior behavior) + { + return ((behavior & this.behavior) == behavior); + } + private bool CultureAwareCompare(string strA, string strB) { return CultureInfo.CurrentCulture.CompareInfo.Compare( Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDbType.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDbType.cs 2006-05-31 18:35:53 UTC (rev 166) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDbType.cs 2006-05-31 18:36:25 UTC (rev 167) @@ -26,7 +26,9 @@ Binary , Boolean , Box , - Byte , + Box2D , + Box3D , + Byte , Char , Circle , Currency , This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-31 18:36:10
|
Revision: 166 Author: carlosga_fb Date: 2006-05-31 11:35:53 -0700 (Wed, 31 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=166&view=rev Log Message: ----------- 2006-05-31 Carlos Guzman Alvarez (car...@gm...) - Committed initial support for fetching PostGIS Box2D values. Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs Added Paths: ----------- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs Added: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs (rev 0) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgBox2D.cs 2006-05-31 18:35:53 UTC (rev 166) @@ -0,0 +1,128 @@ +using System; +using PostgreSql.Data.Protocol; + +namespace PostgreSql.Data.PgTypes +{ + [Serializable] + public struct PgBox2D + { + #region \xB7 Fields \xB7 + + private PgPoint2D upperRight; + private PgPoint2D lowerLeft; + + #endregion + + #region \xB7 Properties \xB7 + + public PgPoint2D UpperRight + { + get { return this.upperRight; } + } + + public PgPoint2D LowerLeft + { + get { return this.lowerLeft; } + } + + #endregion + + #region \xB7 Constructors \xB7 + + public PgBox2D(PgPoint2D lowerLeft, PgPoint2D upperRight) + { + this.lowerLeft = lowerLeft; + this.upperRight = upperRight; + } + + public PgBox2D(double x1, double y1, double x2, double y2) + { + this.lowerLeft = new PgPoint2D(x1, y1); + this.upperRight = new PgPoint2D(x2, y2); + } + + #endregion + + #region \xB7 Operators \xB7 + + public static bool operator ==(PgBox2D left, PgBox2D right) + { + if (left.UpperRight == right.UpperRight && + left.LowerLeft == right.LowerLeft) + { + return true; + } + else + { + return false; + } + } + + public static bool operator !=(PgBox2D left, PgBox2D right) + { + if (left.UpperRight != right.UpperRight || + left.LowerLeft != right.LowerLeft) + { + return true; + } + else + { + return false; + } + } + + #endregion + + #region \xB7 Overriden Methods \xB7 + + public override string ToString() + { + return String.Format("BOX({0},{1})", this.lowerLeft.ToString(), this.upperRight.ToString()); + } + + public override int GetHashCode() + { + return (this.UpperRight.GetHashCode() ^ this.LowerLeft.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj is PgBox2D) + { + return ((PgBox2D)obj) == this; + } + else + { + return false; + } + } + + #endregion + + #region \xB7 Static Methods \xB7 + + public static PgBox2D Parse(string s) + { + if (s == null) + { + throw new ArgumentNullException("s cannot be null"); + } + + if (s.IndexOf("(") > 0) + { + s = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1); + } + + string[] delimiters = new string[] { PgDatabase.DataTypes["box2d"].Delimiter }; + + string[] boxPoints = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); + + PgPoint2D left = PgPoint2D.Parse(boxPoints[0]); + PgPoint2D right = PgPoint2D.Parse(boxPoints[1]); + + return new PgBox2D(left, right); + } + + #endregion + } +} Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-05-31 18:35:17 UTC (rev 165) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint.cs 2006-05-31 18:35:53 UTC (rev 166) @@ -16,6 +16,8 @@ */ using System; +using System.Globalization; +using PostgreSql.Data.Protocol; namespace PostgreSql.Data.PgTypes { @@ -85,10 +87,9 @@ public override string ToString() { - System.Text.StringBuilder b = new System.Text.StringBuilder(); - b.AppendFormat("({0},{1})", this.x, this.y); + CultureInfo culture = CultureInfo.InvariantCulture; - return b.ToString(); + return String.Format(culture, "({0}{1}{2})", this.x, PgDatabase.DataTypes["point"].Delimiter, this.y); } public override int GetHashCode() @@ -114,7 +115,21 @@ public static PgPoint Parse(string s) { - throw new NotSupportedException(); + if (s == null) + { + throw new ArgumentNullException("s cannot be null"); + } + + string[] delimiters = new string[] { PgDatabase.DataTypes["point"].Delimiter }; + + string[] pointCoords = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); + + if (pointCoords == null || pointCoords.Length != 2) + { + throw new ArgumentException("s is not a valid point."); + } + + return new PgPoint(Double.Parse(pointCoords[0]), Double.Parse(pointCoords[1])); } #endregion Added: trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs (rev 0) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PgTypes/PgPoint2D.cs 2006-05-31 18:35:53 UTC (rev 166) @@ -0,0 +1,143 @@ +/* + * PgSqlClient - ADO.NET Data Provider for PostgreSQL 7.4+ + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. + * + * Software distributed under the License is distributed on + * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * Copyright (c) 2003, 2006 Carlos Guzman Alvarez + * All Rights Reserved. + */ + +using System; +using System.Globalization; +using PostgreSql.Data.Protocol; + +namespace PostgreSql.Data.PgTypes +{ + [Serializable] + public struct PgPoint2D + { + #region \xB7 Fields \xB7 + + private double x; + private double y; + + #endregion + + #region \xB7 Properties \xB7 + + public double X + { + get { return x; } + } + + public double Y + { + get { return y; } + } + + #endregion + + #region \xB7 Constructors \xB7 + + public PgPoint2D(double x, double y) + { + this.x = x; + this.y = y; + } + + #endregion + + #region \xB7 Operators \xB7 + + public static bool operator ==(PgPoint2D left, PgPoint2D right) + { + if (left.X == right.X && left.Y == right.Y) + { + return true; + } + else + { + return true; + } + } + + public static bool operator !=(PgPoint2D left, PgPoint2D right) + { + if (left.X != right.X || left.Y != right.Y) + { + return true; + } + else + { + return true; + } + } + + #endregion + + #region \xB7 Overriden Methods \xB7 + + public override string ToString() + { + CultureInfo culture = CultureInfo.InvariantCulture; + + return String.Format(culture, "{0} {1}", this.x, this.y); + } + + public override int GetHashCode() + { + return (this.x.GetHashCode() ^ this.y.GetHashCode()); + } + + public override bool Equals(object obj) + { + if (obj != null && obj is PgPoint2D) + { + return ((PgPoint2D)obj) == this; + } + else + { + return false; + } + } + + #endregion + + #region \xB7 Static Methods \xB7 + + public static PgPoint2D Parse(string s) + { + if (s == null) + { + throw new ArgumentNullException("s cannot be null"); + } + + if (s.IndexOf("(") > 0) + { + s = s.Substring(s.IndexOf("("), s.Length - s.IndexOf("(")); + } + + string[] pointCoords = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + + if (pointCoords == null || pointCoords.Length != 2) + { + throw new ArgumentException("s is not a valid point."); + } + + double x = Double.Parse(pointCoords[0], System.Globalization.CultureInfo.InvariantCulture); + double y = Double.Parse(pointCoords[1], System.Globalization.CultureInfo.InvariantCulture); + + return new PgPoint2D(x, y); + } + + #endregion + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-31 18:35:31
|
Revision: 165 Author: carlosga_fb Date: 2006-05-31 11:35:17 -0700 (Wed, 31 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=165&view=rev Log Message: ----------- 2006-05-31 Carlos Guzman Alvarez (car...@gm...) - Committed initial support for fetching PostGIS Box2D values. Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDataType.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDataType.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDataType.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDataType.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -28,6 +28,8 @@ Binary , Boolean , Box , + Box2D , + Box3D , Byte , Char , Circle , Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -61,14 +61,14 @@ DataTypes.Add(25 , "text" , PgDataType.Text , 0, PgTypeFormat.Text, Int32.MaxValue); DataTypes.Add(26 , "oid" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); DataTypes.Add(30 , "oidvector" , PgDataType.Vector , 26, PgTypeFormat.Binary, 4); - DataTypes.Add(600 , "point" , PgDataType.Point , 701, PgTypeFormat.Binary, 16); - DataTypes.Add(601 , "lseg" , PgDataType.LSeg , 600, PgTypeFormat.Binary, 32); - DataTypes.Add(602 , "path" , PgDataType.Path , 0, PgTypeFormat.Binary, 16); - DataTypes.Add(603 , "box" , PgDataType.Box , 600, PgTypeFormat.Binary, 32); - DataTypes.Add(604 , "polygon" , PgDataType.Polygon , 0, PgTypeFormat.Binary, 16); - DataTypes.Add(628 , "line" , PgDataType.Line , 701, PgTypeFormat.Binary, 32); + DataTypes.Add(600 , "point" , PgDataType.Point , 701, PgTypeFormat.Binary, 16, ","); + DataTypes.Add(601 , "lseg" , PgDataType.LSeg , 600, PgTypeFormat.Binary, 32, ","); + DataTypes.Add(602 , "path" , PgDataType.Path , 0, PgTypeFormat.Binary, 16, ","); + DataTypes.Add(603 , "box" , PgDataType.Box , 600, PgTypeFormat.Binary, 32, ";"); + DataTypes.Add(604 , "polygon" , PgDataType.Polygon , 0, PgTypeFormat.Binary, 16, ","); + DataTypes.Add(628 , "line" , PgDataType.Line , 701, PgTypeFormat.Binary, 32, ","); DataTypes.Add(629 , "_line" , PgDataType.Array , 628, PgTypeFormat.Binary, 32); - DataTypes.Add(718 , "circle" , PgDataType.Circle , 0, PgTypeFormat.Binary, 24); + DataTypes.Add(718 , "circle" , PgDataType.Circle , 0, PgTypeFormat.Binary, 24, ","); DataTypes.Add(719 , "_circle" , PgDataType.Array , 718, PgTypeFormat.Binary, 24); DataTypes.Add(700 , "float4" , PgDataType.Float , 0, PgTypeFormat.Text, 4); DataTypes.Add(701 , "float8" , PgDataType.Double , 0, PgTypeFormat.Binary, 8); @@ -105,6 +105,10 @@ 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); + + // PostGIS datatypes + DataTypes.Add(16418 , "box3d" , PgDataType.Box3D , 0, PgTypeFormat.Text, 48, ","); + DataTypes.Add(17335 , "box2d" , PgDataType.Box2D , 0, PgTypeFormat.Text, 16, ","); } public static void InitializeCharSets() Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -378,9 +378,9 @@ #endregion - #region \xB7 Common Methods \xB7 + #region \xB7 Common Methods \xB7 - public object ReadValue(PgType type, int length) + public object ReadValue(PgType type, int length) { switch (type.DataType) { @@ -560,6 +560,9 @@ case PgDataType.Path: return PgPath.Parse(stringValue); + case PgDataType.Box2D: + return PgBox2D.Parse(stringValue); + default: return this.packet.ReadBytes(length); } Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgStatement.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -245,7 +245,7 @@ } while (!response.IsRowDescription && !response.IsNoData); - // Review if there are some parameter witha domain as a Data Type + // Review if there are some parameter with a domain as a Data Type foreach (PgParameter parameter in this.parameters) { if (parameter.DataType == null) Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgType.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -30,7 +30,8 @@ private Type systemType; private int elementType; private PgTypeFormat formatCode; - private int size; + private int size; + private string delimiter; #endregion @@ -138,21 +139,39 @@ get { return (this.DataType == PgDataType.Refcursor); } } + public string Delimiter + { + get { return this.delimiter; } + } + #endregion #region \xB7 Constructors \xB7 public PgType(int oid, string name, PgDataType dataType, int elementType, PgTypeFormat formatCode, int size) + : this(oid, name, dataType, elementType, formatCode, size, "") { - this.oid = oid; - this.name = name; - this.dataType = dataType; - this.elementType = elementType; - this.formatCode = formatCode; - this.size = size; - this.systemType = this.InferSystemType(); } + public PgType( + int oid, + string name, + PgDataType dataType, + int elementType, + PgTypeFormat formatCode, + int size, + string delimiter) + { + this.oid = oid; + this.name = name; + this.dataType = dataType; + this.elementType = elementType; + this.formatCode = formatCode; + this.size = size; + this.systemType = this.InferSystemType(); + this.delimiter = delimiter; + } + #endregion #region \xB7 Private Methods \xB7 Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs 2006-05-29 07:28:34 UTC (rev 164) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgTypeCollection.cs 2006-05-31 18:35:17 UTC (rev 165) @@ -91,11 +91,29 @@ return type; } - public PgType Add(int oid, string name, PgDataType dataType, int elementType, PgTypeFormat formatCode, int size) + public PgType Add( + int oid, + string name, + PgDataType dataType, + int elementType, + PgTypeFormat formatCode, + int size) { return this.Add(new PgType(oid, name, dataType, elementType, formatCode, size)); } + public PgType Add( + int oid, + string name, + PgDataType dataType, + int elementType, + PgTypeFormat formatCode, + int size, + string delimiter) + { + return this.Add(new PgType(oid, name, dataType, elementType, formatCode, size, delimiter)); + } + #endregion #region \xB7 Private Methods \xB7 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-29 07:28:42
|
Revision: 164 Author: carlosga_fb Date: 2006-05-29 00:28:34 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=164&view=rev Log Message: ----------- Minor changes on String checking Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs 2006-05-29 07:27:56 UTC (rev 163) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgConnectionOptions.cs 2006-05-29 07:28:34 UTC (rev 164) @@ -144,7 +144,7 @@ foreach (Match element in elements) { - if (element.Groups[2].Value.Trim().Length > 0) + if (!String.IsNullOrEmpty(element.Groups[2].Value)) { switch (element.Groups[1].Value.Trim().ToLower()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-29 07:28:04
|
Revision: 163 Author: carlosga_fb Date: 2006-05-29 00:27:56 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=163&view=rev Log Message: ----------- Cleanup Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-29 07:27:21 UTC (rev 162) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-29 07:27:56 UTC (rev 163) @@ -37,7 +37,6 @@ private bool open; private int position; private int recordsAffected; - private int fieldCount; private object[] row; private DataTable schemaTable; private CommandBehavior behavior; @@ -69,7 +68,6 @@ this.open = true; this.recordsAffected = -1; this.position = STARTPOS; - this.fieldCount = -1; this.refCursors = new Queue(); this.connection = connection; this.command = command; @@ -110,7 +108,6 @@ this.refCursors = null; this.row = null; this.schemaTable = null; - this.fieldCount = -1; this.recordsAffected = -1; this.position = -1; } @@ -192,9 +189,8 @@ { string sql = String.Format("fetch all in \"{0}\"", (string)this.refCursors.Dequeue()); - // Reset position and field count + // Reset position this.position = STARTPOS; - this.fieldCount = -1; // Close the active statement this.statement.Close(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-29 07:27:29
|
Revision: 162 Author: carlosga_fb Date: 2006-05-29 00:27:21 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=162&view=rev Log Message: ----------- Minor changes on String checking Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgCommand.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgCommand.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgCommand.cs 2006-05-24 08:21:49 UTC (rev 161) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgCommand.cs 2006-05-29 07:27:21 UTC (rev 162) @@ -80,7 +80,7 @@ set { if (this.statement != null && this.commandText != value && - this.commandText != null && this.commandText.Length != 0) + !String.IsNullOrEmpty(this.CommandText)) { this.InternalClose(); } @@ -610,7 +610,7 @@ private string GetStmtName() { - return Guid.NewGuid().ToString(); + return Guid.NewGuid().GetHashCode().ToString(); } private string ParseNamedParameters(string sql) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-24 08:38:16
|
Revision: 160 Author: carlosga_fb Date: 2006-05-24 01:11:05 -0700 (Wed, 24 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=160&view=rev Log Message: ----------- ?\194?\183 Fixed bug with Text data type fields when reading the as strings Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-05-24 08:10:11 UTC (rev 159) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgResponsePacket.cs 2006-05-24 08:11:05 UTC (rev 160) @@ -489,7 +489,8 @@ return stringValue.TrimEnd(); case PgDataType.VarChar: - case PgDataType.Refcursor: + case PgDataType.Refcursor: + case PgDataType.Text: return stringValue; case PgDataType.Boolean: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-24 08:37:40
|
Revision: 161 Author: carlosga_fb Date: 2006-05-24 01:21:49 -0700 (Wed, 24 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=161&view=rev Log Message: ----------- ?\194?\183 Fixed bug when writing text values Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs 2006-05-24 08:11:05 UTC (rev 160) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgOutputPacket.cs 2006-05-24 08:21:49 UTC (rev 161) @@ -377,6 +377,7 @@ case PgDataType.Char: case PgDataType.VarChar: + case PgDataType.Text: { string paramValue = value.ToString() + PgCodes.NULL_TERMINATOR; packet.WriteString(paramValue); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-24 08:37:19
|
Revision: 159 Author: carlosga_fb Date: 2006-05-24 01:10:11 -0700 (Wed, 24 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=159&view=rev Log Message: ----------- ?\194?\183 Fixed bugs in nunit test cases Modified Paths: -------------- trunk/PostgreSqlClient/source/UnitTests/App.config trunk/PostgreSqlClient/source/UnitTests/PgBaseTest.cs Modified: trunk/PostgreSqlClient/source/UnitTests/App.config =================================================================== --- trunk/PostgreSqlClient/source/UnitTests/App.config 2006-05-23 11:18:24 UTC (rev 158) +++ trunk/PostgreSqlClient/source/UnitTests/App.config 2006-05-24 08:10:11 UTC (rev 159) @@ -3,7 +3,7 @@ <appSettings> <add key="User ID" value="postgres" /> <add key="Password" value="" /> - <add key="Catalog" value="test" /> + <add key="Initial Catalog" value="test" /> <add key="Data Source" value="localhost" /> <add key="Port Number" value="5432" /> <add key="Connection lifetime" value="1" /> Modified: trunk/PostgreSqlClient/source/UnitTests/PgBaseTest.cs =================================================================== --- trunk/PostgreSqlClient/source/UnitTests/PgBaseTest.cs 2006-05-23 11:18:24 UTC (rev 158) +++ trunk/PostgreSqlClient/source/UnitTests/PgBaseTest.cs 2006-05-24 08:10:11 UTC (rev 159) @@ -64,11 +64,11 @@ csb.DataSource = ConfigurationManager.AppSettings["Data Source"]; csb.InitialCatalog = ConfigurationManager.AppSettings["Initial Catalog"]; - csb.UserID = ConfigurationManager.AppSettings["User ID"]; - csb.Password = ConfigurationManager.AppSettings["Password"]; - csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); - csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); - csb.Pooling = false; + csb.UserID = ConfigurationManager.AppSettings["User ID"]; + csb.Password = ConfigurationManager.AppSettings["Password"]; + csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); + csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); + csb.Pooling = false; connection = new PgConnection(csb.ToString()); connection.StateChange += new StateChangeEventHandler(StateChange); @@ -95,18 +95,18 @@ csb.DataSource = ConfigurationManager.AppSettings["Data Source"]; csb.InitialCatalog = ""; - csb.UserID = ConfigurationManager.AppSettings["User ID"]; - csb.Password = ConfigurationManager.AppSettings["Password"]; - csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); - csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); - csb.Pooling = false; + csb.UserID = ConfigurationManager.AppSettings["User ID"]; + csb.Password = ConfigurationManager.AppSettings["Password"]; + csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); + csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); + csb.Pooling = false; PgConnection connection = new PgConnection(csb.ToString()); connection.StateChange += new StateChangeEventHandler(StateChange); connection.UserCertificateValidation += new System.Net.Security.RemoteCertificateValidationCallback(connection_UserCertificateValidation); connection.Open(); - PgCommand createDatabase = new PgCommand(String.Format("CREATE DATABASE {0} WITH ENCODING='UTF8'", ConfigurationManager.AppSettings["Catalog"]), connection); + PgCommand createDatabase = new PgCommand(String.Format("CREATE DATABASE {0} WITH ENCODING='UTF8'", ConfigurationManager.AppSettings["Initial Catalog"]), connection); createDatabase.ExecuteNonQuery(); createDatabase.Dispose(); @@ -119,18 +119,18 @@ csb.DataSource = ConfigurationManager.AppSettings["Data Source"]; csb.InitialCatalog = ""; - csb.UserID = ConfigurationManager.AppSettings["User ID"]; - csb.Password = ConfigurationManager.AppSettings["Password"]; - csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); - csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); - csb.Pooling = false; + csb.UserID = ConfigurationManager.AppSettings["User ID"]; + csb.Password = ConfigurationManager.AppSettings["Password"]; + csb.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port Number"]); + csb.Ssl = Convert.ToBoolean(ConfigurationManager.AppSettings["SSL"]); + csb.Pooling = false; PgConnection connection = new PgConnection(csb.ToString()); connection.StateChange += new StateChangeEventHandler(StateChange); connection.UserCertificateValidation += new System.Net.Security.RemoteCertificateValidationCallback(connection_UserCertificateValidation); connection.Open(); - PgCommand dropDatabase = new PgCommand(String.Format("drop database {0}", ConfigurationManager.AppSettings["Catalog"]), connection); + PgCommand dropDatabase = new PgCommand(String.Format("drop database {0}", ConfigurationManager.AppSettings["Initial Catalog"]), connection); try { dropDatabase.ExecuteNonQuery(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-23 11:18:58
|
Revision: 158 Author: carlosga_fb Date: 2006-05-23 04:18:24 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=158&view=rev Log Message: ----------- Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.sln trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.suo Modified: trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.sln =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.sln 2006-05-23 11:17:34 UTC (rev 157) +++ trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.sln 2006-05-23 11:18:24 UTC (rev 158) @@ -9,8 +9,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PostgreSql.Data.PostgreSqlClient.UnitTests", "UnitTests\PostgreSql.Data.PostgreSqlClient.UnitTests.csproj", "{C45C7BFF-90E8-4ED4-B015-A3CD7774B565}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PostgreSql.VisualStudio.DataTools", "PostgreSql\VisualStudio\DataTools\PostgreSql.VisualStudio.DataTools.csproj", "{371E5E40-132D-4CBA-A93A-814B835A44D5}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -33,10 +31,6 @@ {C45C7BFF-90E8-4ED4-B015-A3CD7774B565}.Debug|Any CPU.Build.0 = Debug|Any CPU {C45C7BFF-90E8-4ED4-B015-A3CD7774B565}.Release|Any CPU.ActiveCfg = Release|Any CPU {C45C7BFF-90E8-4ED4-B015-A3CD7774B565}.Release|Any CPU.Build.0 = Release|Any CPU - {371E5E40-132D-4CBA-A93A-814B835A44D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {371E5E40-132D-4CBA-A93A-814B835A44D5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {371E5E40-132D-4CBA-A93A-814B835A44D5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {371E5E40-132D-4CBA-A93A-814B835A44D5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/PostgreSqlClient/source/PostgreSql.Data.PostgreSqlClient.suo =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-23 11:17:40
|
Revision: 157 Author: carlosga_fb Date: 2006-05-23 04:17:34 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=157&view=rev Log Message: ----------- Modified Paths: -------------- trunk/PostgreSqlClient/source/UnitTests/PostgreSql.Data.PostgreSqlClient.UnitTests.csproj Modified: trunk/PostgreSqlClient/source/UnitTests/PostgreSql.Data.PostgreSqlClient.UnitTests.csproj =================================================================== --- trunk/PostgreSqlClient/source/UnitTests/PostgreSql.Data.PostgreSqlClient.UnitTests.csproj 2006-05-23 07:46:09 UTC (rev 156) +++ trunk/PostgreSqlClient/source/UnitTests/PostgreSql.Data.PostgreSqlClient.UnitTests.csproj 2006-05-23 11:17:34 UTC (rev 157) @@ -28,7 +28,7 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> - <Reference Include="nunit.framework, Version=2.2.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" /> + <Reference Include="nunit.framework, Version=2.2.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" /> <Reference Include="System" /> <Reference Include="System.configuration" /> <Reference Include="System.Data" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-23 07:46:17
|
Revision: 156 Author: carlosga_fb Date: 2006-05-23 00:46:09 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=156&view=rev Log Message: ----------- 2006-05-23 Carlos Guzman Alvarez (car...@gm...) - PostgreSql\Data\PostgreSqlClient\Protocol\PgDatabase.cs: - Added regclass datatype definition. Modified Paths: -------------- trunk/PostgreSqlClient/changelog.txt Modified: trunk/PostgreSqlClient/changelog.txt =================================================================== --- trunk/PostgreSqlClient/changelog.txt 2006-05-23 07:44:50 UTC (rev 155) +++ trunk/PostgreSqlClient/changelog.txt 2006-05-23 07:46:09 UTC (rev 156) @@ -2,6 +2,12 @@ ---------------- - ----------------------------------------- +2006-05-23 Carlos Guzman Alvarez (car...@gm...) + + - PostgreSql\Data\PostgreSqlClient\Protocol\PgDatabase.cs: + + - Added regclass datatype definition. + 2006-05-18 Carlos Guzman Alvarez (car...@gm...) * Added initial refcursor support for StoredProcedure calls This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-23 07:44:58
|
Revision: 155 Author: carlosga_fb Date: 2006-05-23 00:44:50 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=155&view=rev Log Message: ----------- 2006-05-23 Carlos Guzman Alvarez (car...@gm...) - PostgreSql\Data\PostgreSqlClient\Protocol\PgDatabase.cs: - Added regclass datatype definition. Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-05-23 07:43:25 UTC (rev 154) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/Protocol/PgDatabase.cs 2006-05-23 07:44:50 UTC (rev 155) @@ -58,7 +58,7 @@ DataTypes.Add(22 , "int2vector" , PgDataType.Vector , 21, PgTypeFormat.Binary, 2); DataTypes.Add(23 , "int4" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); DataTypes.Add(24 , "regproc" , PgDataType.VarChar , 0, PgTypeFormat.Text, 0); - DataTypes.Add(25 , "text" , PgDataType.VarChar , 0, PgTypeFormat.Text, Int32.MaxValue); + DataTypes.Add(25 , "text" , PgDataType.Text , 0, PgTypeFormat.Text, Int32.MaxValue); DataTypes.Add(26 , "oid" , PgDataType.Int4 , 0, PgTypeFormat.Binary, 4); DataTypes.Add(30 , "oidvector" , PgDataType.Vector , 26, PgTypeFormat.Binary, 4); DataTypes.Add(600 , "point" , PgDataType.Point , 701, PgTypeFormat.Binary, 16); @@ -103,6 +103,7 @@ DataTypes.Add(1562 , "varbit" , PgDataType.Byte , 0, PgTypeFormat.Binary, 0); 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); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-23 07:43:33
|
Revision: 154 Author: carlosga_fb Date: 2006-05-23 00:43:25 -0700 (Tue, 23 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=154&view=rev Log Message: ----------- Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj 2006-05-19 11:15:08 UTC (rev 153) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSql.Data.PostgreSqlClient.csproj 2006-05-23 07:43:25 UTC (rev 154) @@ -143,10 +143,6 @@ <EmbeddedResource Include="Resources\ToolBox\PgDataAdapter.bmp" /> </ItemGroup> <ItemGroup> - <Reference Include="SD.LLBLGen.Pro.DBDriverCore, Version=1.0.2005.1, Culture=neutral, PublicKeyToken=ca73b74ba4e3ff27"> - <SpecificVersion>False</SpecificVersion> - <HintPath>C:\Archivos de programa\Solutions Design\LLBLGen Pro\SD.LLBLGen.Pro.DBDriverCore.dll</HintPath> - </Reference> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Design" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2006-05-19 11:15:23
|
Revision: 153 Author: carlosga_fb Date: 2006-05-19 04:15:08 -0700 (Fri, 19 May 2006) ViewCVS: http://svn.sourceforge.net/pgsqlclient/?rev=153&view=rev Log Message: ----------- Modified Paths: -------------- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs Modified: trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs =================================================================== --- trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-19 11:12:11 UTC (rev 152) +++ trunk/PostgreSqlClient/source/PostgreSql/Data/PostgreSqlClient/PgDataReader.cs 2006-05-19 11:15:08 UTC (rev 153) @@ -205,7 +205,11 @@ string portalName = String.Format("PR{0}", statementName); this.statement = this.connection.InternalConnection.Database.CreateStatement(prepareName, portalName, sql); - this.statement.Query(); + // this.statement.Query(); + this.statement.Parse(); + this.statement.Describe(); + this.statement.Bind(); + this.statement.Execute(); // Allow the DataReader to process more refcursors hasMoreResults = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |