prestogres 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +20 -0
- data/LICENSE +202 -0
- data/NOTICE +22 -0
- data/README.md +217 -0
- data/Rakefile +13 -0
- data/VERSION +1 -0
- data/bin/prestogres +254 -0
- data/config/pcp.conf.sample +28 -0
- data/config/pgpool.conf +678 -0
- data/config/pool_hba.conf +84 -0
- data/config/pool_passwd +0 -0
- data/config/postgresql.conf +2 -0
- data/ext/.gitignore +6 -0
- data/ext/depend +26 -0
- data/ext/extconf.rb +4 -0
- data/ext/prestogres_config.c +12 -0
- data/pgpool2/.gitignore +36 -0
- data/pgpool2/AUTHORS +4 -0
- data/pgpool2/COPYING +12 -0
- data/pgpool2/ChangeLog +1 -0
- data/pgpool2/INSTALL +1 -0
- data/pgpool2/Makefile.am +159 -0
- data/pgpool2/Makefile.in +1187 -0
- data/pgpool2/NEWS +4960 -0
- data/pgpool2/README +1 -0
- data/pgpool2/README.euc_jp +1 -0
- data/pgpool2/README.online-recovery +62 -0
- data/pgpool2/TODO +103 -0
- data/pgpool2/ac_func_accept_argtypes.m4 +85 -0
- data/pgpool2/aclocal.m4 +1088 -0
- data/pgpool2/c-compiler.m4 +134 -0
- data/pgpool2/c-library.m4 +325 -0
- data/pgpool2/child.c +2097 -0
- data/pgpool2/config.guess +1532 -0
- data/pgpool2/config.h.in +332 -0
- data/pgpool2/config.sub +1640 -0
- data/pgpool2/configure +15752 -0
- data/pgpool2/configure.in +392 -0
- data/pgpool2/depcomp +522 -0
- data/pgpool2/doc/basebackup.sh +17 -0
- data/pgpool2/doc/pgpool-de.html +4220 -0
- data/pgpool2/doc/pgpool-en.html +5738 -0
- data/pgpool2/doc/pgpool-fr.html +4118 -0
- data/pgpool2/doc/pgpool-ja.css +198 -0
- data/pgpool2/doc/pgpool-ja.html +11279 -0
- data/pgpool2/doc/pgpool-zh_cn.html +4445 -0
- data/pgpool2/doc/pgpool.css +280 -0
- data/pgpool2/doc/pgpool_remote_start +13 -0
- data/pgpool2/doc/recovery.conf.sample +117 -0
- data/pgpool2/doc/tutorial-en.html +707 -0
- data/pgpool2/doc/tutorial-ja.html +422 -0
- data/pgpool2/doc/tutorial-memqcache-en.html +325 -0
- data/pgpool2/doc/tutorial-memqcache-ja.html +370 -0
- data/pgpool2/doc/tutorial-memqcache-zh_cn.html +322 -0
- data/pgpool2/doc/tutorial-watchdog-en.html +306 -0
- data/pgpool2/doc/tutorial-watchdog-ja.html +343 -0
- data/pgpool2/doc/tutorial-watchdog-zh_cn.html +301 -0
- data/pgpool2/doc/tutorial-zh_cn.html +537 -0
- data/pgpool2/doc/watchdog.png +0 -0
- data/pgpool2/doc/wd-en.html +236 -0
- data/pgpool2/doc/wd-en.jpg +0 -0
- data/pgpool2/doc/wd-ja.html +219 -0
- data/pgpool2/doc/wd-ja.jpg +0 -0
- data/pgpool2/doc/wd-zh_cn.html +201 -0
- data/pgpool2/doc/where_to_send_queries.odg +0 -0
- data/pgpool2/doc/where_to_send_queries.pdf +0 -0
- data/pgpool2/general.m4 +166 -0
- data/pgpool2/getopt_long.c +200 -0
- data/pgpool2/getopt_long.h +44 -0
- data/pgpool2/install-sh +251 -0
- data/pgpool2/ltmain.sh +8406 -0
- data/pgpool2/m4/libtool.m4 +7360 -0
- data/pgpool2/m4/ltoptions.m4 +368 -0
- data/pgpool2/m4/ltsugar.m4 +123 -0
- data/pgpool2/m4/ltversion.m4 +23 -0
- data/pgpool2/m4/lt~obsolete.m4 +92 -0
- data/pgpool2/main.c +2971 -0
- data/pgpool2/md5.c +444 -0
- data/pgpool2/md5.h +28 -0
- data/pgpool2/missing +360 -0
- data/pgpool2/mkinstalldirs +40 -0
- data/pgpool2/parser/Makefile.am +50 -0
- data/pgpool2/parser/Makefile.in +559 -0
- data/pgpool2/parser/copyfuncs.c +3310 -0
- data/pgpool2/parser/gram.c +39100 -0
- data/pgpool2/parser/gram.h +940 -0
- data/pgpool2/parser/gram.y +13408 -0
- data/pgpool2/parser/gramparse.h +74 -0
- data/pgpool2/parser/keywords.c +32 -0
- data/pgpool2/parser/keywords.h +39 -0
- data/pgpool2/parser/kwlist.h +425 -0
- data/pgpool2/parser/kwlookup.c +88 -0
- data/pgpool2/parser/list.c +1156 -0
- data/pgpool2/parser/makefuncs.c +518 -0
- data/pgpool2/parser/makefuncs.h +83 -0
- data/pgpool2/parser/memnodes.h +79 -0
- data/pgpool2/parser/nodes.c +29 -0
- data/pgpool2/parser/nodes.h +609 -0
- data/pgpool2/parser/outfuncs.c +5790 -0
- data/pgpool2/parser/parsenodes.h +2615 -0
- data/pgpool2/parser/parser.c +262 -0
- data/pgpool2/parser/parser.h +46 -0
- data/pgpool2/parser/pg_class.h +158 -0
- data/pgpool2/parser/pg_config_manual.h +273 -0
- data/pgpool2/parser/pg_list.h +352 -0
- data/pgpool2/parser/pg_trigger.h +147 -0
- data/pgpool2/parser/pg_wchar.h +492 -0
- data/pgpool2/parser/pool_memory.c +342 -0
- data/pgpool2/parser/pool_memory.h +77 -0
- data/pgpool2/parser/pool_parser.h +222 -0
- data/pgpool2/parser/pool_string.c +121 -0
- data/pgpool2/parser/pool_string.h +37 -0
- data/pgpool2/parser/primnodes.h +1280 -0
- data/pgpool2/parser/scan.c +4094 -0
- data/pgpool2/parser/scan.l +1451 -0
- data/pgpool2/parser/scanner.h +120 -0
- data/pgpool2/parser/scansup.c +221 -0
- data/pgpool2/parser/scansup.h +28 -0
- data/pgpool2/parser/snprintf.c +1102 -0
- data/pgpool2/parser/stringinfo.c +294 -0
- data/pgpool2/parser/stringinfo.h +178 -0
- data/pgpool2/parser/value.c +78 -0
- data/pgpool2/parser/value.h +62 -0
- data/pgpool2/parser/wchar.c +2048 -0
- data/pgpool2/pcp.conf.sample +28 -0
- data/pgpool2/pcp/Makefile.am +40 -0
- data/pgpool2/pcp/Makefile.in +771 -0
- data/pgpool2/pcp/libpcp_ext.h +250 -0
- data/pgpool2/pcp/md5.c +444 -0
- data/pgpool2/pcp/md5.h +28 -0
- data/pgpool2/pcp/pcp.c +1652 -0
- data/pgpool2/pcp/pcp.h +61 -0
- data/pgpool2/pcp/pcp_attach_node.c +172 -0
- data/pgpool2/pcp/pcp_detach_node.c +185 -0
- data/pgpool2/pcp/pcp_error.c +87 -0
- data/pgpool2/pcp/pcp_node_count.c +160 -0
- data/pgpool2/pcp/pcp_node_info.c +198 -0
- data/pgpool2/pcp/pcp_pool_status.c +166 -0
- data/pgpool2/pcp/pcp_proc_count.c +166 -0
- data/pgpool2/pcp/pcp_proc_info.c +261 -0
- data/pgpool2/pcp/pcp_promote_node.c +185 -0
- data/pgpool2/pcp/pcp_recovery_node.c +172 -0
- data/pgpool2/pcp/pcp_stop_pgpool.c +179 -0
- data/pgpool2/pcp/pcp_stream.c +385 -0
- data/pgpool2/pcp/pcp_stream.h +52 -0
- data/pgpool2/pcp/pcp_systemdb_info.c +194 -0
- data/pgpool2/pcp/pcp_watchdog_info.c +211 -0
- data/pgpool2/pcp_child.c +1493 -0
- data/pgpool2/pg_md5.c +305 -0
- data/pgpool2/pgpool.8.in +121 -0
- data/pgpool2/pgpool.conf +553 -0
- data/pgpool2/pgpool.conf.sample +666 -0
- data/pgpool2/pgpool.conf.sample-master-slave +665 -0
- data/pgpool2/pgpool.conf.sample-replication +664 -0
- data/pgpool2/pgpool.conf.sample-stream +664 -0
- data/pgpool2/pgpool.spec +264 -0
- data/pgpool2/pgpool_adm/TODO +7 -0
- data/pgpool2/pgpool_adm/pgpool_adm--1.0.sql +85 -0
- data/pgpool2/pgpool_adm/pgpool_adm.c +558 -0
- data/pgpool2/pgpool_adm/pgpool_adm.control +5 -0
- data/pgpool2/pgpool_adm/pgpool_adm.h +46 -0
- data/pgpool2/pgpool_adm/pgpool_adm.sql.in +85 -0
- data/pgpool2/pool.h +655 -0
- data/pgpool2/pool_auth.c +1390 -0
- data/pgpool2/pool_config.c +5007 -0
- data/pgpool2/pool_config.h +284 -0
- data/pgpool2/pool_config.l +3281 -0
- data/pgpool2/pool_config_md5.c +29 -0
- data/pgpool2/pool_connection_pool.c +812 -0
- data/pgpool2/pool_error.c +242 -0
- data/pgpool2/pool_globals.c +27 -0
- data/pgpool2/pool_hba.c +1723 -0
- data/pgpool2/pool_hba.conf.sample +67 -0
- data/pgpool2/pool_ip.c +567 -0
- data/pgpool2/pool_ip.h +65 -0
- data/pgpool2/pool_ipc.h +38 -0
- data/pgpool2/pool_lobj.c +242 -0
- data/pgpool2/pool_lobj.h +32 -0
- data/pgpool2/pool_memqcache.c +3818 -0
- data/pgpool2/pool_memqcache.h +268 -0
- data/pgpool2/pool_params.c +163 -0
- data/pgpool2/pool_passwd.c +249 -0
- data/pgpool2/pool_passwd.h +41 -0
- data/pgpool2/pool_path.c +193 -0
- data/pgpool2/pool_path.h +81 -0
- data/pgpool2/pool_process_context.c +247 -0
- data/pgpool2/pool_process_context.h +62 -0
- data/pgpool2/pool_process_query.c +5001 -0
- data/pgpool2/pool_process_reporting.c +1671 -0
- data/pgpool2/pool_process_reporting.h +44 -0
- data/pgpool2/pool_proto2.c +671 -0
- data/pgpool2/pool_proto_modules.c +3524 -0
- data/pgpool2/pool_proto_modules.h +185 -0
- data/pgpool2/pool_query_cache.c +1020 -0
- data/pgpool2/pool_query_context.c +1871 -0
- data/pgpool2/pool_query_context.h +105 -0
- data/pgpool2/pool_relcache.c +284 -0
- data/pgpool2/pool_relcache.h +78 -0
- data/pgpool2/pool_rewrite_outfuncs.c +9060 -0
- data/pgpool2/pool_rewrite_query.c +715 -0
- data/pgpool2/pool_rewrite_query.h +192 -0
- data/pgpool2/pool_select_walker.c +1150 -0
- data/pgpool2/pool_select_walker.h +68 -0
- data/pgpool2/pool_sema.c +161 -0
- data/pgpool2/pool_session_context.c +952 -0
- data/pgpool2/pool_session_context.h +203 -0
- data/pgpool2/pool_shmem.c +185 -0
- data/pgpool2/pool_signal.c +158 -0
- data/pgpool2/pool_signal.h +61 -0
- data/pgpool2/pool_ssl.c +339 -0
- data/pgpool2/pool_stream.c +962 -0
- data/pgpool2/pool_stream.h +61 -0
- data/pgpool2/pool_system.c +659 -0
- data/pgpool2/pool_timestamp.c +1215 -0
- data/pgpool2/pool_timestamp.h +38 -0
- data/pgpool2/pool_type.h +171 -0
- data/pgpool2/pool_worker_child.c +384 -0
- data/pgpool2/ps_status.c +404 -0
- data/pgpool2/recovery.c +435 -0
- data/pgpool2/redhat/pgpool.conf.sample.patch +52 -0
- data/pgpool2/redhat/pgpool.init +201 -0
- data/pgpool2/redhat/pgpool.sysconfig +7 -0
- data/pgpool2/redhat/rpm_installer/basebackup-replication.sh +53 -0
- data/pgpool2/redhat/rpm_installer/basebackup-stream.sh +55 -0
- data/pgpool2/redhat/rpm_installer/config_for_script +17 -0
- data/pgpool2/redhat/rpm_installer/failover.sh +64 -0
- data/pgpool2/redhat/rpm_installer/getsources.sh +141 -0
- data/pgpool2/redhat/rpm_installer/install.sh +1363 -0
- data/pgpool2/redhat/rpm_installer/pgpool_recovery_pitr +47 -0
- data/pgpool2/redhat/rpm_installer/pgpool_remote_start +15 -0
- data/pgpool2/redhat/rpm_installer/recovery.conf +4 -0
- data/pgpool2/redhat/rpm_installer/uninstall.sh +57 -0
- data/pgpool2/sample/dist_def_pgbench.sql +73 -0
- data/pgpool2/sample/pgpool.pam +3 -0
- data/pgpool2/sample/pgpool_recovery +20 -0
- data/pgpool2/sample/pgpool_recovery_pitr +19 -0
- data/pgpool2/sample/pgpool_remote_start +13 -0
- data/pgpool2/sample/replicate_def_pgbench.sql +18 -0
- data/pgpool2/sql/insert_lock.sql +15 -0
- data/pgpool2/sql/pgpool-recovery/pgpool-recovery.c +280 -0
- data/pgpool2/sql/pgpool-recovery/pgpool-recovery.sql.in +19 -0
- data/pgpool2/sql/pgpool-recovery/pgpool_recovery--1.0.sql +24 -0
- data/pgpool2/sql/pgpool-recovery/pgpool_recovery.control +5 -0
- data/pgpool2/sql/pgpool-recovery/uninstall_pgpool-recovery.sql +3 -0
- data/pgpool2/sql/pgpool-regclass/pgpool-regclass.c +206 -0
- data/pgpool2/sql/pgpool-regclass/pgpool-regclass.sql.in +4 -0
- data/pgpool2/sql/pgpool-regclass/pgpool_regclass--1.0.sql +7 -0
- data/pgpool2/sql/pgpool-regclass/pgpool_regclass.control +5 -0
- data/pgpool2/sql/pgpool-regclass/uninstall_pgpool-regclass.sql +1 -0
- data/pgpool2/sql/system_db.sql +38 -0
- data/pgpool2/strlcpy.c +85 -0
- data/pgpool2/test/C/test_extended.c +98 -0
- data/pgpool2/test/jdbc/.cvsignore +2 -0
- data/pgpool2/test/jdbc/AutoCommitTest.java +45 -0
- data/pgpool2/test/jdbc/BatchTest.java +55 -0
- data/pgpool2/test/jdbc/ColumnTest.java +60 -0
- data/pgpool2/test/jdbc/CreateTempTableTest.java +48 -0
- data/pgpool2/test/jdbc/InsertTest.java +34 -0
- data/pgpool2/test/jdbc/LockTest.java +36 -0
- data/pgpool2/test/jdbc/PgpoolTest.java +75 -0
- data/pgpool2/test/jdbc/README.euc_jp +73 -0
- data/pgpool2/test/jdbc/RunTest.java +83 -0
- data/pgpool2/test/jdbc/SelectTest.java +37 -0
- data/pgpool2/test/jdbc/UpdateTest.java +32 -0
- data/pgpool2/test/jdbc/expected/CreateTempTable +1 -0
- data/pgpool2/test/jdbc/expected/autocommit +10 -0
- data/pgpool2/test/jdbc/expected/batch +1 -0
- data/pgpool2/test/jdbc/expected/column +100 -0
- data/pgpool2/test/jdbc/expected/insert +1 -0
- data/pgpool2/test/jdbc/expected/lock +100 -0
- data/pgpool2/test/jdbc/expected/select +2 -0
- data/pgpool2/test/jdbc/expected/update +1 -0
- data/pgpool2/test/jdbc/pgpool.properties +7 -0
- data/pgpool2/test/jdbc/prepare.sql +54 -0
- data/pgpool2/test/jdbc/run.sh +6 -0
- data/pgpool2/test/parser/.cvsignore +6 -0
- data/pgpool2/test/parser/README +32 -0
- data/pgpool2/test/parser/expected/copy.out +17 -0
- data/pgpool2/test/parser/expected/create.out +64 -0
- data/pgpool2/test/parser/expected/cursor.out +37 -0
- data/pgpool2/test/parser/expected/delete.out +10 -0
- data/pgpool2/test/parser/expected/drop.out +12 -0
- data/pgpool2/test/parser/expected/insert.out +13 -0
- data/pgpool2/test/parser/expected/misc.out +28 -0
- data/pgpool2/test/parser/expected/prepare.out +4 -0
- data/pgpool2/test/parser/expected/privileges.out +31 -0
- data/pgpool2/test/parser/expected/scanner.out +30 -0
- data/pgpool2/test/parser/expected/select.out +89 -0
- data/pgpool2/test/parser/expected/transaction.out +38 -0
- data/pgpool2/test/parser/expected/update.out +11 -0
- data/pgpool2/test/parser/expected/v84.out +37 -0
- data/pgpool2/test/parser/expected/v90.out +25 -0
- data/pgpool2/test/parser/expected/var.out +22 -0
- data/pgpool2/test/parser/input/alter.sql +2 -0
- data/pgpool2/test/parser/input/copy.sql +17 -0
- data/pgpool2/test/parser/input/create.sql +64 -0
- data/pgpool2/test/parser/input/cursor.sql +37 -0
- data/pgpool2/test/parser/input/delete.sql +10 -0
- data/pgpool2/test/parser/input/drop.sql +12 -0
- data/pgpool2/test/parser/input/insert.sql +13 -0
- data/pgpool2/test/parser/input/misc.sql +28 -0
- data/pgpool2/test/parser/input/prepare.sql +4 -0
- data/pgpool2/test/parser/input/privileges.sql +31 -0
- data/pgpool2/test/parser/input/scanner.sql +34 -0
- data/pgpool2/test/parser/input/select.sql +89 -0
- data/pgpool2/test/parser/input/transaction.sql +38 -0
- data/pgpool2/test/parser/input/update.sql +11 -0
- data/pgpool2/test/parser/input/v84.sql +37 -0
- data/pgpool2/test/parser/input/v90.sql +38 -0
- data/pgpool2/test/parser/input/var.sql +22 -0
- data/pgpool2/test/parser/main.c +96 -0
- data/pgpool2/test/parser/parse_schedule +16 -0
- data/pgpool2/test/parser/pool.h +13 -0
- data/pgpool2/test/parser/run-test +62 -0
- data/pgpool2/test/pdo-test/README.euc_jp +58 -0
- data/pgpool2/test/pdo-test/SQLlist/test1.sql +3 -0
- data/pgpool2/test/pdo-test/SQLlist/test2.sql +3 -0
- data/pgpool2/test/pdo-test/collections.inc +11 -0
- data/pgpool2/test/pdo-test/def.inc +7 -0
- data/pgpool2/test/pdo-test/log.txt +0 -0
- data/pgpool2/test/pdo-test/mod/database.inc +36 -0
- data/pgpool2/test/pdo-test/mod/def.inc +0 -0
- data/pgpool2/test/pdo-test/mod/errorhandler.inc +27 -0
- data/pgpool2/test/pdo-test/pdotest.php +11 -0
- data/pgpool2/test/pdo-test/regsql.inc +56 -0
- data/pgpool2/test/pgpool_setup +898 -0
- data/pgpool2/test/regression/README +39 -0
- data/pgpool2/test/regression/clean.sh +21 -0
- data/pgpool2/test/regression/libs.sh +16 -0
- data/pgpool2/test/regression/regress.sh +166 -0
- data/pgpool2/test/regression/tests/001.load_balance/test.sh +128 -0
- data/pgpool2/test/regression/tests/002.native_replication/PgTester.java +47 -0
- data/pgpool2/test/regression/tests/002.native_replication/create.sql +6 -0
- data/pgpool2/test/regression/tests/002.native_replication/test.sh +71 -0
- data/pgpool2/test/regression/tests/003.failover/expected.r +6 -0
- data/pgpool2/test/regression/tests/003.failover/expected.s +6 -0
- data/pgpool2/test/regression/tests/003.failover/test.sh +45 -0
- data/pgpool2/test/regression/tests/004.watchdog/master.conf +12 -0
- data/pgpool2/test/regression/tests/004.watchdog/standby.conf +19 -0
- data/pgpool2/test/regression/tests/004.watchdog/test.sh +52 -0
- data/pgpool2/test/regression/tests/050.bug58/test.sh +50 -0
- data/pgpool2/test/regression/tests/051.bug60/bug.sql +12 -0
- data/pgpool2/test/regression/tests/051.bug60/database-clean.sql +6 -0
- data/pgpool2/test/regression/tests/051.bug60/database-setup.sql +28 -0
- data/pgpool2/test/regression/tests/051.bug60/test.sh +79 -0
- data/pgpool2/test/regression/tests/052.do_query/test.sh +44 -0
- data/pgpool2/test/regression/tests/053.insert_lock_hangs/test.sh +81 -0
- data/pgpool2/test/regression/tests/054.postgres_fdw/test.sh +67 -0
- data/pgpool2/test/regression/tests/055.backend_all_down/test.sh +52 -0
- data/pgpool2/test/regression/tests/056.bug63/jdbctest2.java +66 -0
- data/pgpool2/test/regression/tests/056.bug63/test.sh +47 -0
- data/pgpool2/test/regression/tests/057.bug61/test.sh +40 -0
- data/pgpool2/test/regression/tests/058.bug68/jdbctest3.java +45 -0
- data/pgpool2/test/regression/tests/058.bug68/test.sh +47 -0
- data/pgpool2/test/timestamp/expected/insert.out +16 -0
- data/pgpool2/test/timestamp/expected/misc.out +3 -0
- data/pgpool2/test/timestamp/expected/update.out +6 -0
- data/pgpool2/test/timestamp/input/insert.sql +16 -0
- data/pgpool2/test/timestamp/input/misc.sql +3 -0
- data/pgpool2/test/timestamp/input/update.sql +6 -0
- data/pgpool2/test/timestamp/main.c +129 -0
- data/pgpool2/test/timestamp/parse_schedule +3 -0
- data/pgpool2/test/timestamp/run-test +69 -0
- data/pgpool2/version.h +1 -0
- data/pgpool2/watchdog/Makefile.am +17 -0
- data/pgpool2/watchdog/Makefile.in +505 -0
- data/pgpool2/watchdog/test/stab.c +266 -0
- data/pgpool2/watchdog/test/test.c +85 -0
- data/pgpool2/watchdog/test/wd_child_t.c +87 -0
- data/pgpool2/watchdog/test/wd_lifecheck_t.c +87 -0
- data/pgpool2/watchdog/test/wd_packet_t.c +87 -0
- data/pgpool2/watchdog/test/wd_ping_t.c +20 -0
- data/pgpool2/watchdog/watchdog.c +408 -0
- data/pgpool2/watchdog/watchdog.h +209 -0
- data/pgpool2/watchdog/wd_child.c +444 -0
- data/pgpool2/watchdog/wd_ext.h +123 -0
- data/pgpool2/watchdog/wd_heartbeat.c +577 -0
- data/pgpool2/watchdog/wd_if.c +216 -0
- data/pgpool2/watchdog/wd_init.c +126 -0
- data/pgpool2/watchdog/wd_interlock.c +347 -0
- data/pgpool2/watchdog/wd_lifecheck.c +512 -0
- data/pgpool2/watchdog/wd_list.c +429 -0
- data/pgpool2/watchdog/wd_packet.c +1159 -0
- data/pgpool2/watchdog/wd_ping.c +330 -0
- data/pgpool2/ylwrap +223 -0
- data/pgsql/presto_client.py +346 -0
- data/pgsql/prestogres.py +156 -0
- data/pgsql/setup_functions.sql +21 -0
- data/pgsql/setup_language.sql +3 -0
- data/prestogres.gemspec +23 -0
- metadata +496 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import java.util.*;
|
|
2
|
+
import java.io.*;
|
|
3
|
+
import java.sql.*;
|
|
4
|
+
|
|
5
|
+
public class AutoCommitTest extends PgpoolTest{
|
|
6
|
+
public String sql = "select * from autocommit where a = ?";
|
|
7
|
+
|
|
8
|
+
public static void main(String[] args) throws SQLException {
|
|
9
|
+
AutoCommitTest test = new AutoCommitTest();
|
|
10
|
+
test.do_test();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public void do_test() throws SQLException
|
|
14
|
+
{
|
|
15
|
+
connection.setAutoCommit(true);
|
|
16
|
+
|
|
17
|
+
PreparedStatement stmt = null;
|
|
18
|
+
ResultSet rs = null;
|
|
19
|
+
|
|
20
|
+
try {
|
|
21
|
+
for(int i = 0; i < 10; i++) {
|
|
22
|
+
stmt = connection.prepareStatement(sql);
|
|
23
|
+
try {
|
|
24
|
+
stmt.setInt(1, i + 1);
|
|
25
|
+
rs = stmt.executeQuery();
|
|
26
|
+
|
|
27
|
+
while(rs.next()){
|
|
28
|
+
logwriter.print(rs.getInt(1) + " ");
|
|
29
|
+
}
|
|
30
|
+
logwriter.println();
|
|
31
|
+
} finally {
|
|
32
|
+
if(rs != null) rs.close();
|
|
33
|
+
if(stmt != null) stmt.close();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
} finally {
|
|
37
|
+
connection.close();
|
|
38
|
+
logwriter.close();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public String getTestName() {
|
|
43
|
+
return "autocommit";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import java.util.*;
|
|
2
|
+
import java.io.*;
|
|
3
|
+
import java.sql.*;
|
|
4
|
+
|
|
5
|
+
public class BatchTest extends PgpoolTest {
|
|
6
|
+
public String [] batchSqls = new String[] {
|
|
7
|
+
"INSERT INTO batch VALUES (1)",
|
|
8
|
+
"INSERT INTO batch VALUES (1)",
|
|
9
|
+
"INSERT INTO batch VALUES (1)",
|
|
10
|
+
"INSERT INTO batch VALUES (1)",
|
|
11
|
+
"INSERT INTO batch VALUES (1)",
|
|
12
|
+
"INSERT INTO batch VALUES (1)",
|
|
13
|
+
"INSERT INTO batch VALUES (1)",
|
|
14
|
+
"INSERT INTO batch VALUES (1)",
|
|
15
|
+
"INSERT INTO batch VALUES (1)",
|
|
16
|
+
"INSERT INTO batch VALUES (1)",
|
|
17
|
+
"INSERT INTO batch VALUES (1)",
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
public void do_test() throws SQLException {
|
|
21
|
+
connection.setAutoCommit(false);
|
|
22
|
+
|
|
23
|
+
Statement stmt = null;
|
|
24
|
+
ResultSet rs = null;
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
try {
|
|
28
|
+
stmt = connection.createStatement();
|
|
29
|
+
for(int i=0; i<batchSqls.length; i++) {
|
|
30
|
+
stmt.addBatch(batchSqls[i]);
|
|
31
|
+
}
|
|
32
|
+
int [] r = stmt.executeBatch();
|
|
33
|
+
|
|
34
|
+
connection.commit();
|
|
35
|
+
stmt.close();
|
|
36
|
+
|
|
37
|
+
stmt = connection.createStatement();
|
|
38
|
+
rs = stmt.executeQuery("SELECT count(*) FROM batch");
|
|
39
|
+
rs.next();
|
|
40
|
+
logwriter.println(rs.getInt(1));
|
|
41
|
+
connection.commit();
|
|
42
|
+
} finally {
|
|
43
|
+
if(rs != null) rs.close();
|
|
44
|
+
if(stmt != null) stmt.close();
|
|
45
|
+
}
|
|
46
|
+
} finally {
|
|
47
|
+
connection.close();
|
|
48
|
+
logwriter.close();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public String getTestName() {
|
|
53
|
+
return "batch";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import java.sql.Connection;
|
|
2
|
+
import java.sql.DriverManager;
|
|
3
|
+
import java.sql.ResultSet;
|
|
4
|
+
import java.sql.SQLException;
|
|
5
|
+
import java.sql.Statement;
|
|
6
|
+
|
|
7
|
+
public class ColumnTest extends PgpoolTest {
|
|
8
|
+
public static String sql =
|
|
9
|
+
"SELECT"
|
|
10
|
+
+" columntest.v1 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz001,"
|
|
11
|
+
+" columntest.v2 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz002,"
|
|
12
|
+
+" columntest.v3 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz003,"
|
|
13
|
+
+" columntest.v4 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz004,"
|
|
14
|
+
+" columntest.v5 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz005,"
|
|
15
|
+
+" columntest.v6 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz006,"
|
|
16
|
+
+" columntest.v7 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz007,"
|
|
17
|
+
+" columntest.v8 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz008,"
|
|
18
|
+
+" columntest.v9 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz009,"
|
|
19
|
+
+" columntest.v10 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz010,"
|
|
20
|
+
+" columntest.v11 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz011,"
|
|
21
|
+
+" columntest.v12 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz012,"
|
|
22
|
+
+" columntest.v13 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz013,"
|
|
23
|
+
+" columntest.v14 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz014,"
|
|
24
|
+
+" columntest.v15 as abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz015"
|
|
25
|
+
+" FROM columntest";
|
|
26
|
+
static String url = "jdbc:postgresql://localhost:9999/test";
|
|
27
|
+
static String user = "y-asaba";
|
|
28
|
+
static String password = "postgres";
|
|
29
|
+
static final int COUNT = 100;
|
|
30
|
+
|
|
31
|
+
public void do_test() throws SQLException {
|
|
32
|
+
connection.setAutoCommit(false);
|
|
33
|
+
|
|
34
|
+
Statement stmt = null;
|
|
35
|
+
ResultSet rs = null;
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
for (int i = 0; i < COUNT; i++) {
|
|
39
|
+
try {
|
|
40
|
+
stmt = connection.createStatement();
|
|
41
|
+
rs = stmt.executeQuery(sql);
|
|
42
|
+
|
|
43
|
+
while(rs.next()){
|
|
44
|
+
logwriter.println(rs.getInt(1));
|
|
45
|
+
}
|
|
46
|
+
} finally {
|
|
47
|
+
if(rs != null) rs.close();
|
|
48
|
+
if(stmt != null) stmt.close();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
connection.close();
|
|
53
|
+
logwriter.close();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public String getTestName() {
|
|
58
|
+
return "column";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Test for master/slave mode + temporary tables
|
|
3
|
+
*/
|
|
4
|
+
import java.sql.*;
|
|
5
|
+
|
|
6
|
+
public class CreateTempTableTest extends PgpoolTest {
|
|
7
|
+
public void do_test() throws SQLException {
|
|
8
|
+
|
|
9
|
+
try {
|
|
10
|
+
ResultSet rs;
|
|
11
|
+
PreparedStatement pstmt = null;
|
|
12
|
+
Statement stmt = null;
|
|
13
|
+
|
|
14
|
+
connection.setAutoCommit(false);
|
|
15
|
+
|
|
16
|
+
pstmt = connection.prepareStatement("CREATE TEMP TABLE t1(i INTEGER)");
|
|
17
|
+
pstmt.executeUpdate();
|
|
18
|
+
pstmt.close();
|
|
19
|
+
|
|
20
|
+
pstmt = connection.prepareStatement("/*NO LOAD BALANCE*/ INSERT INTO t1 SELECT ?");
|
|
21
|
+
pstmt.setInt(1, 100);
|
|
22
|
+
pstmt.executeUpdate();
|
|
23
|
+
pstmt.close();
|
|
24
|
+
|
|
25
|
+
pstmt = connection.prepareStatement("/*NO LOAD BALANCE*/ UPDATE t1 SET i = ?");
|
|
26
|
+
pstmt.setInt(1, 200);
|
|
27
|
+
pstmt.executeUpdate();
|
|
28
|
+
pstmt.close();
|
|
29
|
+
|
|
30
|
+
pstmt = connection.prepareStatement("/*NO LOAD BALANCE*/ SELECT sum(i) FROM t1");
|
|
31
|
+
rs = pstmt.executeQuery();
|
|
32
|
+
rs.next();
|
|
33
|
+
logwriter.println(rs.getInt(1));
|
|
34
|
+
rs.close();
|
|
35
|
+
pstmt.close();
|
|
36
|
+
|
|
37
|
+
connection.commit();
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
connection.close();
|
|
41
|
+
logwriter.close();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public String getTestName() {
|
|
46
|
+
return "CreateTempTable";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import java.sql.*;
|
|
2
|
+
|
|
3
|
+
public class InsertTest extends PgpoolTest {
|
|
4
|
+
public void do_test() throws SQLException {
|
|
5
|
+
int N = 100;
|
|
6
|
+
|
|
7
|
+
try {
|
|
8
|
+
ResultSet rs;
|
|
9
|
+
PreparedStatement pstmt = null;
|
|
10
|
+
Statement stmt = null;
|
|
11
|
+
|
|
12
|
+
for (int i = 0; i < N; i++) {
|
|
13
|
+
connection.setAutoCommit(false);
|
|
14
|
+
pstmt = connection.prepareStatement("INSERT INTO ins VALUES (?)");
|
|
15
|
+
pstmt.setInt(1, i);
|
|
16
|
+
pstmt.executeUpdate();
|
|
17
|
+
pstmt.close();
|
|
18
|
+
connection.commit();
|
|
19
|
+
}
|
|
20
|
+
connection.setAutoCommit(true);
|
|
21
|
+
stmt = connection.createStatement();
|
|
22
|
+
rs = stmt.executeQuery("SELECT count(a) FROM ins" );
|
|
23
|
+
rs.next();
|
|
24
|
+
logwriter.println(rs.getInt(1));
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
connection.close();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public String getTestName() {
|
|
32
|
+
return "insert";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import java.sql.*;
|
|
2
|
+
import java.io.*;
|
|
3
|
+
|
|
4
|
+
public class LockTest extends PgpoolTest {
|
|
5
|
+
public final int COUNT = 100;
|
|
6
|
+
|
|
7
|
+
public void do_test() throws SQLException, IOException {
|
|
8
|
+
PreparedStatement pstmt = null;
|
|
9
|
+
Statement stmt = null;
|
|
10
|
+
ResultSet rs = null;
|
|
11
|
+
try{
|
|
12
|
+
for (int i = 0; i < COUNT; i++) {
|
|
13
|
+
connection.setAutoCommit(false);
|
|
14
|
+
/* table lock */
|
|
15
|
+
stmt = connection.createStatement();
|
|
16
|
+
stmt.executeUpdate("LOCK locktest");
|
|
17
|
+
|
|
18
|
+
pstmt = connection.prepareStatement("SELECT * FROM locktest");
|
|
19
|
+
rs = pstmt.executeQuery();
|
|
20
|
+
rs.next();
|
|
21
|
+
logwriter.println(rs.getInt(1));
|
|
22
|
+
rs.close();
|
|
23
|
+
connection.commit();
|
|
24
|
+
}
|
|
25
|
+
} finally {
|
|
26
|
+
if (connection != null) {
|
|
27
|
+
connection.close();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public String getTestName() {
|
|
34
|
+
return "lock";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import java.util.*;
|
|
2
|
+
import java.io.*;
|
|
3
|
+
import java.sql.*;
|
|
4
|
+
|
|
5
|
+
public abstract class PgpoolTest {
|
|
6
|
+
protected String url = "jdbc:postgresql://";
|
|
7
|
+
protected String user;
|
|
8
|
+
protected String password;
|
|
9
|
+
protected String dbname;
|
|
10
|
+
protected String host;
|
|
11
|
+
protected String port;
|
|
12
|
+
protected String options;
|
|
13
|
+
protected Connection connection;
|
|
14
|
+
protected PrintWriter logwriter;
|
|
15
|
+
|
|
16
|
+
public PgpoolTest()
|
|
17
|
+
{
|
|
18
|
+
try {
|
|
19
|
+
Properties prop = new Properties();
|
|
20
|
+
prop.load(new FileInputStream("pgpool.properties"));
|
|
21
|
+
host = prop.getProperty("pgpooltest.host");
|
|
22
|
+
port = prop.getProperty("pgpooltest.port");
|
|
23
|
+
user = prop.getProperty("pgpooltest.user");
|
|
24
|
+
password = prop.getProperty("pgpooltest.password");
|
|
25
|
+
dbname = prop.getProperty("pgpooltest.dbname");
|
|
26
|
+
options = prop.getProperty("pgpooltest.options");
|
|
27
|
+
|
|
28
|
+
url = url + host + ":" + port + "/" + dbname;
|
|
29
|
+
|
|
30
|
+
if (!options.equals(""))
|
|
31
|
+
url = url + "?" + options;
|
|
32
|
+
|
|
33
|
+
File dir = new File("result");
|
|
34
|
+
dir.mkdir();
|
|
35
|
+
|
|
36
|
+
logwriter = new PrintWriter(new FileWriter("result/" + getTestName()), true);
|
|
37
|
+
try {
|
|
38
|
+
Class.forName("org.postgresql.Driver");
|
|
39
|
+
connection = DriverManager.getConnection(url, user, password);
|
|
40
|
+
} catch (ClassNotFoundException e) {
|
|
41
|
+
System.out.println("cannot load JDBC Driver");
|
|
42
|
+
System.exit(1);
|
|
43
|
+
} catch (Exception e) {
|
|
44
|
+
System.out.println("cannot connect to pgpool");
|
|
45
|
+
System.exit(1);
|
|
46
|
+
}
|
|
47
|
+
} catch (Exception e) {
|
|
48
|
+
System.out.println("cannot read property file");
|
|
49
|
+
System.exit(1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public void check() {
|
|
54
|
+
try {
|
|
55
|
+
String command_line = "diff -u expected/" + getTestName() + " result/" +
|
|
56
|
+
getTestName();
|
|
57
|
+
Process proc;
|
|
58
|
+
|
|
59
|
+
proc = Runtime.getRuntime().exec(command_line);
|
|
60
|
+
proc.waitFor();
|
|
61
|
+
System.out.print(getTestName() + ": ");
|
|
62
|
+
if (proc.exitValue() == 0)
|
|
63
|
+
System.out.println("ok");
|
|
64
|
+
else if (proc.exitValue() == 0)
|
|
65
|
+
System.out.println("FAIL");
|
|
66
|
+
else
|
|
67
|
+
System.out.println("unknown error" + proc.exitValue());
|
|
68
|
+
} catch (Exception e) {
|
|
69
|
+
e.printStackTrace();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public abstract void do_test() throws SQLException, IOException;
|
|
74
|
+
public abstract String getTestName();
|
|
75
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
$Header$
|
|
2
|
+
|
|
3
|
+
1. JDBC �ɥ饤�Хƥ��ȥ�������
|
|
4
|
+
JDBC �ɥ饤�Хƥ��ȥ������ȤǤϡ�JDBC �ɥ饤�Ф�Ȥä� pgpool ����³����
|
|
5
|
+
�������¹Ԥ��ޤ���
|
|
6
|
+
|
|
7
|
+
1.1 ����
|
|
8
|
+
���餫���� CLASSPATH �� JDBC �ɥ饤�Ф� jar �ե�������̤��Ƥ����Ƥ���
|
|
9
|
+
����������ޤ���
|
|
10
|
+
|
|
11
|
+
export CLASSPATH=.:/home/t-ishii/lib/postgresql-8.3-604.jdbc4.jar
|
|
12
|
+
|
|
13
|
+
��³�����Υƥ��ȴĶ�������� pgpool.properties ��������ޤ���
|
|
14
|
+
|
|
15
|
+
pgpooltest.host=localhost
|
|
16
|
+
pgpool ��ư��Ƥ���ۥ���̾����ꤷ�ޤ���
|
|
17
|
+
|
|
18
|
+
pgpooltest.port=9999
|
|
19
|
+
pgpool �� LISTEN ���Ƥ���ݡ����ֹ����ꤷ�ޤ���
|
|
20
|
+
|
|
21
|
+
pgpooltest.user=pgpool
|
|
22
|
+
��³�桼������ꤷ�ޤ���
|
|
23
|
+
|
|
24
|
+
pgpooltest.password=
|
|
25
|
+
��³�ѥ���ɤ���ꤷ�ޤ���
|
|
26
|
+
|
|
27
|
+
pgpooltest.dbname=pgpooltest
|
|
28
|
+
��³�ǡ����١���̾����ꤷ�ޤ���
|
|
29
|
+
|
|
30
|
+
pgpooltest.options=
|
|
31
|
+
JDBC�ɥ饤�ФΥ��ץ�������ꤷ�ޤ���
|
|
32
|
+
|
|
33
|
+
pgpooltest.tests=autocommit batch column lock select update insert
|
|
34
|
+
�ƥ��ȥ���������ꤷ�ޤ���
|
|
35
|
+
|
|
36
|
+
1.2 �¹���ˡ
|
|
37
|
+
run.sh ������ץȤ�¹Ԥ��Ƥ���������.java ��ѥ��뤷���ƥ��Ȥ�
|
|
38
|
+
�Ϥ��ޤ���
|
|
39
|
+
|
|
40
|
+
autocommit: ok
|
|
41
|
+
|
|
42
|
+
�Ƚ��Ϥ����С����ꤷ���ƥ��ȥ���������������λ���Ƥ��ޤ������Ԥ�����
|
|
43
|
+
��ˤϡ�diff ���ޥ�ɤǺ�ʬ���ǧ���Ƥ���������
|
|
44
|
+
|
|
45
|
+
% diff -u {expected,result}/autocommit
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
2. �ƥ��ȥ��������ɲä�����ˡ
|
|
49
|
+
��˳�ȯ�Ը����ξ���Ǥ����ƥ��ȥ��������ɲä�����ˡ���������ޤ���
|
|
50
|
+
�ƥ��Ȥ� 1 ���饹 1 �ƥ��ȹ����ˤʤäƤ��ޤ����ƥ��Ȥ�����ˤϡ�
|
|
51
|
+
PgpoolTest ���饹��Ѿ����ޤ����ʲ��� 2 �ĤΥ�åɤ�������Ƥ���������
|
|
52
|
+
|
|
53
|
+
* do_test()
|
|
54
|
+
�ƥ��ȥ������Ҥ��ޤ���
|
|
55
|
+
|
|
56
|
+
* getTestName()
|
|
57
|
+
�ƥ��ȥ�����̾����ꤷ�ޤ���pgpool.properties �˻��ꤹ��ƥ���̾�Ǥ���
|
|
58
|
+
|
|
59
|
+
�ƥ��ȥ��������饹���ɲä����顢�ƥ��Ȥ�Ǥ���褦�� RunTest.java ��
|
|
60
|
+
testFactory() ���ɲä��ޤ���
|
|
61
|
+
|
|
62
|
+
public PgpoolTest testFactory(String testcase)
|
|
63
|
+
{
|
|
64
|
+
if (testcase == null)
|
|
65
|
+
return null;
|
|
66
|
+
|
|
67
|
+
if (testcase.equals("autocommit"))
|
|
68
|
+
return new AutoCommitTest();
|
|
69
|
+
....
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
�Ǹ�ˡ����Ԥ�����̤� expected/ �ʲ����Ѱդ���pgpool.properties ��
|
|
73
|
+
��Ͽ����д�λ�Ǥ���
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import java.sql.*;
|
|
2
|
+
import java.util.*;
|
|
3
|
+
import java.io.*;
|
|
4
|
+
|
|
5
|
+
public class RunTest {
|
|
6
|
+
public static void main(String[] args)
|
|
7
|
+
{
|
|
8
|
+
RunTest test = new RunTest();
|
|
9
|
+
test.run();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public void run()
|
|
13
|
+
{
|
|
14
|
+
try {
|
|
15
|
+
PgpoolTest test;
|
|
16
|
+
Properties prop = new Properties();
|
|
17
|
+
prop.load(new FileInputStream("pgpool.properties"));
|
|
18
|
+
String tests = prop.getProperty("pgpooltest.tests");
|
|
19
|
+
String host = prop.getProperty("pgpooltest.host");
|
|
20
|
+
String port = prop.getProperty("pgpooltest.port");
|
|
21
|
+
String user = prop.getProperty("pgpooltest.user");
|
|
22
|
+
String password = prop.getProperty("pgpooltest.password");
|
|
23
|
+
String dbname = prop.getProperty("pgpooltest.dbname");
|
|
24
|
+
|
|
25
|
+
// setup database
|
|
26
|
+
String command_line = "psql -f prepare.sql";
|
|
27
|
+
command_line = command_line + " -h " + host + " -p " + port +
|
|
28
|
+
" -U " + user + " " + dbname;
|
|
29
|
+
Process proc = Runtime.getRuntime().exec(command_line);
|
|
30
|
+
proc.waitFor();
|
|
31
|
+
|
|
32
|
+
StringTokenizer tokenizer = new StringTokenizer(tests, " ");
|
|
33
|
+
|
|
34
|
+
while(tokenizer.hasMoreTokens()) {
|
|
35
|
+
test = testFactory(tokenizer.nextToken());
|
|
36
|
+
if (test == null) {
|
|
37
|
+
System.out.println("unknown testcase");
|
|
38
|
+
System.exit(1);
|
|
39
|
+
}
|
|
40
|
+
test.do_test();
|
|
41
|
+
test.check();
|
|
42
|
+
}
|
|
43
|
+
} catch (IOException e) {
|
|
44
|
+
System.out.println("cannot read property file");
|
|
45
|
+
System.exit(1);
|
|
46
|
+
} catch (Exception e) {
|
|
47
|
+
e.printStackTrace();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public PgpoolTest testFactory(String testcase)
|
|
52
|
+
{
|
|
53
|
+
if (testcase == null)
|
|
54
|
+
return null;
|
|
55
|
+
|
|
56
|
+
if (testcase.equals("autocommit"))
|
|
57
|
+
return new AutoCommitTest();
|
|
58
|
+
|
|
59
|
+
if (testcase.equals("batch"))
|
|
60
|
+
return new BatchTest();
|
|
61
|
+
|
|
62
|
+
if (testcase.equals("column"))
|
|
63
|
+
return new ColumnTest();
|
|
64
|
+
|
|
65
|
+
if (testcase.equals("lock"))
|
|
66
|
+
return new LockTest();
|
|
67
|
+
|
|
68
|
+
if (testcase.equals("select"))
|
|
69
|
+
return new SelectTest();
|
|
70
|
+
|
|
71
|
+
if (testcase.equals("update"))
|
|
72
|
+
return new UpdateTest();
|
|
73
|
+
|
|
74
|
+
if (testcase.equals("insert"))
|
|
75
|
+
return new InsertTest();
|
|
76
|
+
|
|
77
|
+
if (testcase.equals("CreateTempTable"))
|
|
78
|
+
return new CreateTempTableTest();
|
|
79
|
+
|
|
80
|
+
/* unknown test case */
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|