diff options
author | Justin Clark-Casey (justincc) | 2014-05-15 22:45:01 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-05-15 22:45:01 +0100 |
commit | 6dc1b113d0a7cdf3d7b6d567728d39568f1ed982 (patch) | |
tree | 32c9c2199baa31a9464465c25b23fe25afa6ca6e /OpenSim/Data/PGSQL | |
parent | Escape find string in MySQL core groups plugin (diff) | |
download | opensim-SC-6dc1b113d0a7cdf3d7b6d567728d39568f1ed982.zip opensim-SC-6dc1b113d0a7cdf3d7b6d567728d39568f1ed982.tar.gz opensim-SC-6dc1b113d0a7cdf3d7b6d567728d39568f1ed982.tar.bz2 opensim-SC-6dc1b113d0a7cdf3d7b6d567728d39568f1ed982.tar.xz |
Escape find string in PgSQL core groups plugin
Diffstat (limited to 'OpenSim/Data/PGSQL')
-rw-r--r-- | OpenSim/Data/PGSQL/PGSQLGenericTableHandler.cs | 18 | ||||
-rw-r--r-- | OpenSim/Data/PGSQL/PGSQLGroupsData.cs | 10 |
2 files changed, 25 insertions, 3 deletions
diff --git a/OpenSim/Data/PGSQL/PGSQLGenericTableHandler.cs b/OpenSim/Data/PGSQL/PGSQLGenericTableHandler.cs index 2151568..826c6fc 100644 --- a/OpenSim/Data/PGSQL/PGSQLGenericTableHandler.cs +++ b/OpenSim/Data/PGSQL/PGSQLGenericTableHandler.cs | |||
@@ -300,9 +300,27 @@ namespace OpenSim.Data.PGSQL | |||
300 | m_Realm, where); | 300 | m_Realm, where); |
301 | cmd.Connection = conn; | 301 | cmd.Connection = conn; |
302 | cmd.CommandText = query; | 302 | cmd.CommandText = query; |
303 | //m_log.WarnFormat("[PGSQLGenericTable]: SELECT {0} WHERE {1}", m_Realm, where); | ||
304 | |||
305 | conn.Open(); | ||
306 | return DoQuery(cmd); | ||
307 | } | ||
308 | } | ||
303 | 309 | ||
310 | public virtual T[] Get(string where, NpgsqlParameter parameter) | ||
311 | { | ||
312 | using (NpgsqlConnection conn = new NpgsqlConnection(m_ConnectionString)) | ||
313 | using (NpgsqlCommand cmd = new NpgsqlCommand()) | ||
314 | { | ||
315 | |||
316 | string query = String.Format("SELECT * FROM {0} WHERE {1}", | ||
317 | m_Realm, where); | ||
318 | cmd.Connection = conn; | ||
319 | cmd.CommandText = query; | ||
304 | //m_log.WarnFormat("[PGSQLGenericTable]: SELECT {0} WHERE {1}", m_Realm, where); | 320 | //m_log.WarnFormat("[PGSQLGenericTable]: SELECT {0} WHERE {1}", m_Realm, where); |
305 | 321 | ||
322 | cmd.Parameters.Add(parameter); | ||
323 | |||
306 | conn.Open(); | 324 | conn.Open(); |
307 | return DoQuery(cmd); | 325 | return DoQuery(cmd); |
308 | } | 326 | } |
diff --git a/OpenSim/Data/PGSQL/PGSQLGroupsData.cs b/OpenSim/Data/PGSQL/PGSQLGroupsData.cs index ed75b63..15c965b 100644 --- a/OpenSim/Data/PGSQL/PGSQLGroupsData.cs +++ b/OpenSim/Data/PGSQL/PGSQLGroupsData.cs | |||
@@ -83,11 +83,15 @@ namespace OpenSim.Data.PGSQL | |||
83 | public GroupData[] RetrieveGroups(string pattern) | 83 | public GroupData[] RetrieveGroups(string pattern) |
84 | { | 84 | { |
85 | if (string.IsNullOrEmpty(pattern)) // True for where clause | 85 | if (string.IsNullOrEmpty(pattern)) // True for where clause |
86 | { | ||
86 | pattern = " true ORDER BY lower(\"Name\") LIMIT 100"; | 87 | pattern = " true ORDER BY lower(\"Name\") LIMIT 100"; |
88 | return m_Groups.Get(pattern); | ||
89 | } | ||
87 | else | 90 | else |
88 | pattern = string.Format(" lower(\"Name\") LIKE lower('%{0}%') ORDER BY lower(\"Name\") LIMIT 100", pattern); | 91 | { |
89 | 92 | pattern = string.Format(" lower(\"Name\") LIKE lower('%:pattern%') ORDER BY lower(\"Name\") LIMIT 100"); | |
90 | return m_Groups.Get(pattern); | 93 | return m_Groups.Get(pattern, new NpgsqlParameter("pattern", pattern)); |
94 | } | ||
91 | } | 95 | } |
92 | 96 | ||
93 | public bool DeleteGroup(UUID groupID) | 97 | public bool DeleteGroup(UUID groupID) |