File: threadtest.C

package info (click to toggle)
sqlrelay 1%3A0.37.1-3.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 13,084 kB
  • ctags: 6,691
  • sloc: cpp: 48,136; python: 10,118; ansic: 9,673; java: 9,195; php: 8,839; perl: 8,827; sh: 8,554; ruby: 8,516; tcl: 5,039; makefile: 3,665
file content (61 lines) | stat: -rw-r--r-- 1,094 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright (c) 2000-2001  David Muse
// See the file COPYING for more information.

#include <stdlib.h>
#include <sqlrelay/sqlrclient.h>
#include <stdio.h>
#include <pthread.h>
#include <config.h>

char	*host;
int	port;
char	*socket;
char	*login;
char	*password;
char	*query;
int	threadcount;

void	runQuery(void *id) {

	sqlrconnection	*con=new sqlrconnection(host,port,socket,
						login,password,0,1);
	sqlrcursor	*cur=new sqlrcursor(con);

	con->debugOn();
	cur->sendQuery(query);
	con->endSession();
	
	for (int i=0; i<cur->rowCount(); i++) {
		printf("%d  ",(int)id);
		for (int j=0; j<cur->colCount(); j++) {
			printf("\"%s\",",cur->getField(i,j));
		}
		printf("\n");
	}

	delete cur;
	delete con;
}

main(int argc, char **argv) {

	host=argv[1];
	port=atoi(argv[2]);
	socket=argv[3];
	login=argv[4];
	password=argv[5];
	query=argv[6];
	threadcount=atoi(argv[7]);

	pthread_t	th[threadcount];

	for (int i=0; i<threadcount; i++) {
		pthread_create(&th[i],NULL,
			(void *(*)(void *))runQuery,
			(void *)i);
	}

	for (int i=0; i<threadcount; i++) {
		pthread_join(th[i],NULL);
	}
}