do not forget to add dbutils to the pom.xml _and_ lib/ folder, in case you commit something. ..ede
On 13.01.2016 18:10, Nicolas Ribot wrote: > ;) > Ok, I finaluze code with DbUtils and test it. > > Nicolas > > On 13 January 2016 at 18:00, <edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> wrote: > > On 13.01.2016 17:19, Nicolas Ribot wrote: > > Ouch ;) > > > > With DButils approach though, we still have to build queries manually > to add schema and table names for some databases. > > true.. but we use prepared statements and utilize it's magic to 1. escape > identifiers properly, 2. usually only allow one statement, no appending w/ > semicolon possible > > > SQLBuilder on the other side, encapsulates the FROM/JOIN clause in a > object. It seems safer (though not tested against SQL injection), but needs > more code to write. > > if i had the choice i'd try dbutils or plain prepared statements first > > > For me, the 2 doors for SQL injections are custom WHERE clause in > Datasource queries and adhoc queries. > > well, wrong! that is plain user input, that the user sees and puts in in > the first place. real issue here are eg. shapefiles with weird column names > or row content that when simply put into a sql string and run against a db > dorp tables or such. see http://imgs.xkcd.com/comics/exploits_of_a_mom.png > > > It can't be easily fixed except if we could find a good java SQL parser > that can tell if query seems valid before executing it (with all OJ db > supported, I doubt such a parser exists). Here, other GIS I know of are also > sensitive to SQL injection as soon as user can enter free parameters. > > no need to fix anything on that front.. see above. > > > > > DBUtil and SQLBuilder are useless here. > > > > I would say that using SQBuilder is a bit heavy to use just to avoid > building SQL strings. > > What do you think ? > > using dbutils or prepared statement should suffice. ..ede > > > > Nicolas > > > > On 13 January 2016 at 16:26, <edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> wrote: > > > > am looking forward to your implementation ;).. ede > > > > On 13.01.2016 16:18, Nicolas Ribot wrote: > > > Yes, really worth the size (also integrates well conceptually > with other commons libs used). > > > > > > Very few impact indeed: > > > • A new JDBCUtil.query method to mimic existing execute > > > • A ResultSetHandler interface offered by the lib instead of > ResultSetBlock: same convenient usage in anonymous blocks. > > > • Query parameters are passed directly by > SpatialDatabasesMetadata methods to JDBCUtils.query instead of building a > final SQL query with formatted parameters. > > > • SQL queries parameters are replaced by ? instead of %s. > > > > > > Nicolas > > > > > > On 13 January 2016 at 16:10, <edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>> wrote: > > > > > > if you say that it's worth a 77k jar, i won't object. i'd > suggest you try out one code path and see how it goes and come back w/ a > result. > > > > > > ..ede > > > > > > On 13.01.2016 16:03, Nicolas Ribot wrote: > > > > It provides varargs query method taking a SQL query and the > list of parameters to bind. > > > > No need to call ps.setXXX to bind parameters. > > > > > > > > On 13 January 2016 at 15:42, <edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>>> wrote: > > > > > > > > how do you mean? ..ede > > > > > > > > On 13.01.2016 15:40, Nicolas Ribot wrote: > > > > > It could be useful to encapsulate parameters binding, > though. > > > > > > > > > > On 13 January 2016 at 15:21, Nicolas Ribot > <nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>>>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>>> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>> > <mailto:nicola s.ri...@gmail.com <mailto:nicolas.ri...@gmail.com> > <mailto:nicolas.ri...@gmail.com <mailto:nicolas.ri...@gmail.com>>>>>> > wrote: > > > > > > > > > > Yes, indeed, as we trap exceptions ourselves for > JDBC stuff, simple PreparedStatement should be enough. > > > > > I will give it a test. > > > > > > > > > > Nicolas > > > > > > > > > > On 13 January 2016 at 15:17, <edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>>>> wrote: > > > > > > > > > > hmm.. don't see what the advantage is besides > as they call it "abstract out all of the cleanup tasks" . > > > > > > > > > > you might as well work w/ plain prepared > statements before using it. > > > > > > > > > > Mike: wanna pitch in :) ? > > > > > > > > > > ..ede > > > > > > > > > > On 13.01.2016 14:57, Nicolas Ribot wrote: > > > > > > Maybe the lightweight Apache commons DB > Utils would be enough ? > > > > > > > https://commons.apache.org/proper/commons-dbutils/examples.html > > > > > > > > > > > > It provides preparedStatement and a very > thin interface for resultSets. It seems to integrate well with current code. > > > > > > > > > > > > Nicolas > > > > > > > > > > > > On 13 January 2016 at 14:35, > <edgar.sol...@web.de <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>>> <mailto:edga r.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>>>>> wrote: > > > > > > > > > > > > there are probably other alternatives > out there, don't feel obliged to use the first one i found ;) . > > > > > > > > > > > > ..ede > > > > > > > > > > > > On 13.01.2016 14:28, Nicolas Ribot > wrote: > > > > > > > Yes, definitely agree it would be far > better than current code. > > > > > > > Will look at sqlbuilder. > > > > > > > > > > > > > > Nicolas > > > > > > > > > > > > > > On 13 January 2016 at 14:25, > <edgar.sol...@web.de <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>>>>> <mailt o:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>>>> <mailto:edga > <mailto:edga> > r.sol...@web.de <mailto:r.sol...@web.de> <mailto:edgar.sol...@web.de > <mailto:edgar.sol...@web.de>> > > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de> > <mailto:edgar.sol...@web.de <mailto:edgar.sol...@web.de>>>>>>>> wrote: > > > > > > > > > > > > > > hey Nico, > > > > > > > > > > > > > > good start. but before escaping > every little speciality consider using prepared statements again ;). > > > > > > > > > > > > > > or how about > > > > > > > > http://openhms.sourceforge.net/sqlbuilder/ > > > > > > > looks fairly simple and w/ 200k > size affordable. > > > > > > > > > > > > > > ..ede > > > > > > > > > > > > > > > > > > > > > On 13.01.2016 14:02, > jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> <mailto:jump-pilot-s v...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> <mailto:jump-pilot-svn@lis > <mailto:jump-pilot-svn@lis> > ts.sourceforge.net <http://ts.sourceforge.net> > > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>> > <mailto:jump-pilot-...@lists.sou <mailto:jump-pilot-...@lists.sou> > <mailto:jump-pilot-...@lists.sou <mailto:jump-pilot-...@lists.sou>> > > rceforge.net <http://rceforge.net> <http://rceforge.net> > > > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>> > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net> > > <mailto:jump-pilot-...@lists.sourceforge.net > <mailto:jump-pilot-...@lists.sourceforge.net>>>>>>> wrote: > > > > > > > > Revision: 4784 > > > > > > > > > http://sourceforge.net/p/jump-pilot/code/4784 > > > > > > > > Author: elnico > > > > > > > > Date: 2016-01-13 13:02:12 > +0000 (Wed, 13 Jan 2016) > > > > > > > > Log Message: > > > > > > > > ----------- > > > > > > > > Escape of single quotes in SQL > identifiers names, as most database identifiers can contain quotes. > > > > > > > > > > > > > > > > Modified Paths: > > > > > > > > -------------- > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/h2/H2DSMetadata.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/mariadb/MariadbDSMetadata.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/oracle/OracleDSMetadata.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesDSMetadata.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesSQLBuilder.java > > > > > > > > > core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/h2/H2DSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/h2/H2DSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/h2/H2DSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -3,6 +3,7 @@ > > > > > > > > import > com.vividsolutions.jump.datastore.DataStoreConnection; > > > > > > > > import > com.vividsolutions.jump.datastore.GeometryColumn; > > > > > > > > import > com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesDSMetadata; > > > > > > > > +import > com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesSQLBuilder; > > > > > > > > > > > > > > > > import java.util.List; > > > > > > > > > > > > > > > > @@ -18,7 +19,7 @@ > > > > > > > > defaultSchemaName = > "PUBLIC"; > > > > > > > > spatialDbName = "H2"; > > > > > > > > //spatialExtentQuery1 > = "SELECT ST_AsBinary(ST_Estimated_Extent( '%s', '%s', '%s' ))"; > > > > > > > > - spatialExtentQuery1 = > "SELECT ST_AsBinary(ST_Envelope(ST_Extent(%s))) FROM %s.%s"; > > > > > > > > + spatialExtentQuery1 = > "SELECT ST_AsBinary(ST_Envelope(ST_Extent(%s))) FROM \"%s\".\"%s\""; > > > > > > > > geoColumnsQuery = > "SELECT f_geometry_column, srid, type FROM geometry_columns where > f_table_schema = '%s' and f_table_name = '%s'"; > > > > > > > > sridQuery = "SELECT > srid FROM geometry_columns where f_table_schema = '%s' and f_table_name = > '%s' and f_geometry_column = '%s'"; > > > > > > > > } > > > > > > > > @@ -35,13 +36,18 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getGeoColumnsQuery(String datasetName) { > > > > > > > > - return > String.format(this.geoColumnsQuery, getSchemaName(datasetName), > getTableName(datasetName)); > > > > > > > > + // escape single quotes > > > > > > > > + return > String.format(this.geoColumnsQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getSchemaName(datasetName)), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getTableName(datasetName))); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSridQuery(String schemaName, String tableName, String colName) { > > > > > > > > - // TODO > > > > > > > > - return > String.format(this.sridQuery, schemaName, tableName, colName); > > > > > > > > + // escape single quotes > > > > > > > > + return > String.format(this.sridQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(schemaName), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(tableName), colName); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/mariadb/MariadbDSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/mariadb/MariadbDSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/mariadb/MariadbDSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -3,12 +3,8 @@ > > > > > > > > import > com.vividsolutions.jump.datastore.DataStoreConnection; > > > > > > > > import > com.vividsolutions.jump.datastore.spatialdatabases.*; > > > > > > > > import > com.vividsolutions.jump.datastore.GeometryColumn; > > > > > > > > -import > com.vividsolutions.jump.datastore.jdbc.JDBCUtil; > > > > > > > > -import > com.vividsolutions.jump.datastore.jdbc.ResultSetBlock; > > > > > > > > import > java.sql.DatabaseMetaData; > > > > > > > > import java.sql.ResultSet; > > > > > > > > -import java.sql.SQLException; > > > > > > > > -import java.util.ArrayList; > > > > > > > > import java.util.List; > > > > > > > > > > > > > > > > public class MariadbDSMetadata > extends SpatialDatabasesDSMetadata { > > > > > > > > @@ -73,6 +69,7 @@ > > > > > > > > > > > > > > > > // query according to > detected layout: > > > > > > > > geoColumnsQuery = "SELECT > f_geometry_column, srid, type FROM geometry_columns where f_table_name = > '%s'"; > > > > > > > > + // TODO: not the same > number of param to replace... > > > > > > > > if (geometryColumnsLayout > == GeometryColumnsLayout.NO_LAYOUT) { > > > > > > > > geoColumnsQuery = > "select c.COLUMN_NAME, 0, 'geometry' \n" > > > > > > > > + "from > information_schema.TABLES t join information_schema.COLUMNS C \n" > > > > > > > > @@ -86,8 +83,9 @@ > > > > > > > > // query according to > detected layout: > > > > > > > > sridQuery = "SELECT srid > FROM geometry_columns where f_table_name = '%s' and f_geometry_column = '%s'"; > > > > > > > > if (geometryColumnsLayout > == GeometryColumnsLayout.NO_LAYOUT) { > > > > > > > > - sridQuery = "select case > when min(st_srid(%s)) <> max(st_srid(%s)) then 0 else min(st_srid(%s)) end as > srid\n" > > > > > > > > - + "from %s.%s"; > > > > > > > > + // quote identifiers > > > > > > > > + sridQuery2 = "select > case when min(st_srid(%s)) <> max(st_srid(%s)) then 0 else min(st_srid(%s)) > end as srid\n" > > > > > > > > + + "from `%s`.`%s`"; > > > > > > > > } > > > > > > > > > > > > > > > > } > > > > > > > > @@ -104,7 +102,9 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getGeoColumnsQuery(String datasetName) { > > > > > > > > - return > String.format(this.geoColumnsQuery, getTableName(datasetName)); > > > > > > > > + // escape single quotes in > identifier > > > > > > > > + return > String.format(this.geoColumnsQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getTableName(datasetName))); > > > > > > > > } > > > > > > > > > > > > > > > > public String > getGeoColumnsQuery2(String datasetName) { > > > > > > > > @@ -113,11 +113,16 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSridQuery(String schemaName, String tableName, String colName) { > > > > > > > > - return > String.format(this.sridQuery, tableName, colName); > > > > > > > > + // escape single quotes in > identifier > > > > > > > > + // TODO: geom ? > > > > > > > > + return > String.format(this.sridQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(tableName), colName); > > > > > > > > } > > > > > > > > > > > > > > > > public String > getSridQuery2(String schemaName, String tableName, String colName) { > > > > > > > > - return > String.format(this.sridQuery2, colName, colName, colName, schemaName, > tableName); > > > > > > > > + return > String.format(this.sridQuery2, colName, colName, colName, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(schemaName), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(tableName)); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/oracle/OracleDSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/oracle/OracleDSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/oracle/OracleDSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -45,9 +45,9 @@ > > > > > > > > " > (select sdo_lb from tmp where sdo_dimname = 'Y'))\n" + > > > > > > > > " )) as geom \n" + > > > > > > > > "from dual"; > > > > > > > > + // double quotes > identifiers > > > > > > > > + spatialExtentQuery2 = > "select sdo_util.to_wktgeometry(sdo_aggr_mbr(%s)) as geom from \"%s\".\"%s\""; > > > > > > > > > > > > > > > > - spatialExtentQuery2 = > "select sdo_util.to_wktgeometry(sdo_aggr_mbr(%s)) as geom from %s.%s"; > > > > > > > > - > > > > > > > > geoColumnsQuery = > "select t.column_name, t.srid, 'SDO_GEOMETRY' as type from > ALL_SDO_GEOM_METADATA t " > > > > > > > > + "where t.owner = > '%s' and t.table_name = '%s'"; > > > > > > > > sridQuery = "select > t.srid from ALL_SDO_GEOM_METADATA t " > > > > > > > > @@ -56,7 +56,10 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSpatialExtentQuery1(String schema, String table, String attributeName) { > > > > > > > > - return > String.format(this.spatialExtentQuery1, schema, table, attributeName); > > > > > > > > + // escape single quote > for table name: > > > > > > > > + // TODO: do it for > schema/user name ? > > > > > > > > + return > String.format(this.spatialExtentQuery1, schema, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(table), attributeName); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > @@ -66,13 +69,18 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getGeoColumnsQuery(String datasetName) { > > > > > > > > - return > String.format(this.geoColumnsQuery, getSchemaName(datasetName), > getTableName(datasetName)); > > > > > > > > + // escape single quote > for table name: > > > > > > > > + // TODO: do it for > schema/user name ? > > > > > > > > + return > String.format(this.geoColumnsQuery, getSchemaName(datasetName), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getTableName(datasetName))); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSridQuery(String schemaName, String tableName, String colName) { > > > > > > > > - // TODO > > > > > > > > - return > String.format(this.sridQuery, schemaName, tableName, colName); > > > > > > > > + // escape single quote > for table name: > > > > > > > > + // TODO: do it for > schema/user name ? > > > > > > > > + return > String.format(this.sridQuery, schemaName, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(tableName), colName); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -14,14 +14,19 @@ > > > > > > > > defaultSchemaName = > "public"; > > > > > > > > spatialDbName = > "PostGIS"; > > > > > > > > spatialExtentQuery1 = > "SELECT ST_AsBinary(ST_Estimated_Extent( '%s', '%s', '%s' ))"; > > > > > > > > - spatialExtentQuery2 = > "SELECT ST_AsBinary(ST_Envelope(ST_Extent(\"%s\"))) FROM %s.%s"; > > > > > > > > + // Nicolas Ribot: add > double quotes for identifiers > > > > > > > > + spatialExtentQuery2 = > "SELECT ST_AsBinary(ST_Envelope(ST_Extent(\"%s\"))) FROM \"%s\".\"%s\""; > > > > > > > > geoColumnsQuery = > "SELECT f_geometry_column, srid, type FROM geometry_columns where > f_table_schema='%s' and f_table_name = '%s'"; > > > > > > > > sridQuery = "SELECT > srid FROM geometry_columns where f_table_schema = '%s' and f_table_name = > '%s' and f_geometry_column = '%s'"; > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSpatialExtentQuery1(String schema, String table, String attributeName) { > > > > > > > > - return > String.format(this.spatialExtentQuery1, schema, table, attributeName); > > > > > > > > + //must escape single > quote in idenfifiers before formatting query > > > > > > > > + return > String.format(this.spatialExtentQuery1, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(schema), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(table), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(attributeName)); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > @@ -31,13 +36,19 @@ > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getGeoColumnsQuery(String datasetName) { > > > > > > > > - return > String.format(this.geoColumnsQuery, getSchemaName(datasetName), > getTableName(datasetName)); > > > > > > > > + //must escape single > quote in idenfifiers before formatting query > > > > > > > > + return > String.format(this.geoColumnsQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getSchemaName(datasetName)), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(getTableName(datasetName))); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > public String > getSridQuery(String schemaName, String tableName, String colName) { > > > > > > > > - // TODO > > > > > > > > - return > String.format(this.sridQuery, schemaName, tableName, colName); > > > > > > > > + //must escape single > quote in idenfifiers before formatting query > > > > > > > > + return > String.format(this.sridQuery, > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(schemaName), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(tableName), > > > > > > > > + > SpatialDatabasesSQLBuilder.escapeSingleQuote(colName)); > > > > > > > > } > > > > > > > > > > > > > > > > @Override > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesDSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesDSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesDSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -93,9 +93,6 @@ > > > > > > > > } > > > > > > > > > > > > > > > > public > SpatialDatabasesDSMetadata(DataStoreConnection conn) { > > > > > > > > - > JUMPWorkbench.getInstance().getFrame().log("creating a > SpatialDatabasesDSMetadata (class:" + this.getClass() > > > > > > > > - + " ) (con: " + > conn.toString() + ") id" > > > > > > > > - + this.hashCode(), > this.getClass()); > > > > > > > > this.conn = conn; > > > > > > > > // TODO: use bind > parameters to avoid SQL injection > > > > > > > > this.datasetNameQuery = ""; > > > > > > > > @@ -289,6 +286,7 @@ > > > > > > > > new ResultSetBlock() { > > > > > > > > public void > yield(ResultSet resultSet) throws SQLException { > > > > > > > > while > (resultSet.next()) { > > > > > > > > + // TODO: escape > single quotes in geo column name ? > > > > > > > > > geometryAttributes.add(new GeometryColumn( > > > > > > > > > resultSet.getString(1), > > > > > > > > > resultSet.getInt(2), > > > > > > > > @@ -353,6 +351,7 @@ > > > > > > > > DatabaseMetaData dbMd = > this.conn.getJdbcConnection().getMetaData(); > > > > > > > > rs = > dbMd.getColumns(null, getSchemaName(datasetName), getTableName(datasetName), > null); > > > > > > > > while (rs.next()) { > > > > > > > > + // TODO: escape quotes > in column names ? > > > > > > > > > cols.add(rs.getString(4)); > > > > > > > > } > > > > > > > > } catch (SQLException > sqle) { > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesSQLBuilder.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesSQLBuilder.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDatabasesSQLBuilder.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -69,4 +69,14 @@ > > > > > > > > else > > > > > > > > return srid.getString(); > > > > > > > > } > > > > > > > > + > > > > > > > > + /** > > > > > > > > + * Utility method to escape > single quotes in given identifier. > > > > > > > > + * Replace all single quotes > ("'") by double single quotes ("''") > > > > > > > > + * @param identifier > > > > > > > > + * @return the identifier > with single quotes escaped, or identifier if no string found > > > > > > > > + */ > > > > > > > > + public static String > escapeSingleQuote(String identifier) { > > > > > > > > + return identifier == null > ? null : identifier.replaceAll("'", "''"); > > > > > > > > + } > > > > > > > > } > > > > > > > > > > > > > > > > Modified: > core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java > > > > > > > > > =================================================================== > > > > > > > > --- > core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java > 2016-01-13 10:49:14 UTC (rev 4783) > > > > > > > > +++ > core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteDSMetadata.java > 2016-01-13 13:02:12 UTC (rev 4784) > > > > > > > > @@ -84,7 +84,7 @@ > > > > > > > > > > > > > > > > defaultSchemaName = ""; > > > > > > > > spatialDbName = > isSpatialiteLoaded() ? "Spatialite" : "SQLite"; > > > > > > > > - spatialExtentQuery1 = > "SELECT %s from %s"; > > > > > > > > + spatialExtentQuery1 = > "SELECT %s from \"%s\""; > > > > > > > > // no second query for > spatialite > > > > > > > > spatialExtentQuery2 = null; > > > > > > > > if > (this.geometryColumnsLayout == GeometryColumnsLayout.OGC_GEOPACKAGE_LAYOUT) { > > > > > > > > @@ -129,11 +129,12 @@ > > > > > > > > // TODO: switch case > > > > > > > > if > (this.isSpatialiteLoaded()) { > > > > > > > > if (gcType == > GeometricColumnType.WKB) { > > > > > > > > - ret = > String.format("select st_asBinary(extent(st_geomFromWkb(%s))) from %s", > attributeName, table); > > > > > > > > + // quotes identifier. > > > > > > > > + ret = > String.format("select st_asBinary(extent(st_geomFromWkb(%s))) from \"%s\"", > attributeName, table); > > > > > > > > } else if (gcType == > GeometricColumnType.WKT) { > > > > > > > > - ret = > String.format("select st_asBinary(extent(st_geomFromText(%s))) from %s", > attributeName, table); > > > > > > > > + ret = > String.format("select st_asBinary(extent(st_geomFromText(%s))) from \"%s\"", > attributeName, table); > > > > > > > > } else if (gcType == > GeometricColumnType.SPATIALITE) { > > > > > > > > - ret = > String.format("select st_asBinary(extent(CastAutomagic(%s))) from %s", > attributeName, table); > > > > > > > > + ret = > String.format("select st_asBinary(extent(CastAutomagic(%s))) from \"%s\"", > attributeName, table); > > > > > > > > } else { > > > > > > > > // unknown geom type > > > > > > > > // TODO: log > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > Site24x7 APM Insight: Get Deep > Visibility into Application Performance > > > > > > > APM + Mobile APM + RUM: Monitor 3 > App instances at just $35/Month > > > > > > > Monitor end-to-end web > transactions and take corrective actions now > > > > > > > Troubleshoot faster and improve > end-user experience. Signup Now! > > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > _______________________________________________ > > > > > > > Jump-pilot-devel mailing list > > > > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>>>> > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > Site24x7 APM Insight: Get Deep > Visibility into Application Performance > > > > > > > APM + Mobile APM + RUM: Monitor 3 App > instances at just $35/Month > > > > > > > Monitor end-to-end web transactions > and take corrective actions now > > > > > > > Troubleshoot faster and improve > end-user experience. Signup Now! > > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Jump-pilot-devel mailing list > > > > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>>> > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > Site24x7 APM Insight: Get Deep > Visibility into Application Performance > > > > > > APM + Mobile APM + RUM: Monitor 3 App > instances at just $35/Month > > > > > > Monitor end-to-end web transactions and > take corrective actions now > > > > > > Troubleshoot faster and improve > end-user experience. Signup Now! > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > _______________________________________________ > > > > > > Jump-pilot-devel mailing list > > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>>> > > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > Site24x7 APM Insight: Get Deep Visibility > into Application Performance > > > > > > APM + Mobile APM + RUM: Monitor 3 App > instances at just $35/Month > > > > > > Monitor end-to-end web transactions and > take corrective actions now > > > > > > Troubleshoot faster and improve end-user > experience. Signup Now! > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > Jump-pilot-devel mailing list > > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > Site24x7 APM Insight: Get Deep Visibility > into Application Performance > > > > > APM + Mobile APM + RUM: Monitor 3 App > instances at just $35/Month > > > > > Monitor end-to-end web transactions and take > corrective actions now > > > > > Troubleshoot faster and improve end-user > experience. Signup Now! > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > _______________________________________________ > > > > > Jump-pilot-devel mailing list > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>>> > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > Site24x7 APM Insight: Get Deep Visibility into > Application Performance > > > > > APM + Mobile APM + RUM: Monitor 3 App instances at > just $35/Month > > > > > Monitor end-to-end web transactions and take > corrective actions now > > > > > Troubleshoot faster and improve end-user experience. > Signup Now! > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Jump-pilot-devel mailing list > > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > Site24x7 APM Insight: Get Deep Visibility into > Application Performance > > > > APM + Mobile APM + RUM: Monitor 3 App instances at just > $35/Month > > > > Monitor end-to-end web transactions and take corrective > actions now > > > > Troubleshoot faster and improve end-user experience. > Signup Now! > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > _______________________________________________ > > > > Jump-pilot-devel mailing list > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>>> > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > > > > APM + Mobile APM + RUM: Monitor 3 App instances at just > $35/Month > > > > Monitor end-to-end web transactions and take corrective > actions now > > > > Troubleshoot faster and improve end-user experience. Signup > Now! > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > > > > > > > > > _______________________________________________ > > > > Jump-pilot-devel mailing list > > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > > > APM + Mobile APM + RUM: Monitor 3 App instances at just > $35/Month > > > Monitor end-to-end web transactions and take corrective > actions now > > > Troubleshoot faster and improve end-user experience. Signup > Now! > > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > _______________________________________________ > > > Jump-pilot-devel mailing list > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>>> > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > > Monitor end-to-end web transactions and take corrective actions > now > > > Troubleshoot faster and improve end-user experience. Signup Now! > > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > > > > > _______________________________________________ > > > Jump-pilot-devel mailing list > > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > > > > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > > > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel