!|dbfit.MySqlTest|
!|Connect|19.168.0.23|user_mysql|password|mysql_db|!define q1 {SELECT col1
, col2
, col3
, 'q1' as source
FROM table1}
!|dbfit.PostgresTest|
!|Connect|sqlhost.aws.com|user_postgres|password|cloud_db|
!define q2 {SELECT col1
, col2
, col3
, 'q2' as source
FROM table2}
|query|(${q1} MINUS ${q2}) UNION (${q2} MINUS ${q1})|
|col1 |col2 |col3 |source |
If not, is there any other way possible, or if someone has tried out something which they can help me out with?
Thank You.
Regards,Gagneet--
You received this message because you are subscribed to the Google Groups "dbfit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbfit+un...@googlegroups.com.
To post to this group, send email to db...@googlegroups.com.
Visit this group at https://groups.google.com/group/dbfit.
For more options, visit https://groups.google.com/d/optout.
!|dbfit.MySqlTest|
!|Connect|19.168.0.23|user_mysql|password|mysql_db|
|Store Query|select * from testtbl|fromtable|
!|dbfit.PostgresTest|
!|Connect|sqlhost.aws.com|user_postgres|password|cloud_db|
|Store Query|!-select n, concat('NAME',n) as name from ( select 1 as n union
select 3 union select 2) x-!|fromdual|
|compare stored queries|fromtable|fromdual|
|name |n? |
Hi Gagneet,
!|dbfit.PostgresTest |
!|Connect|sdg001.cgi1234.ap-southeast-2.rds.amazonaws.com:5555|batchuser|password|sdg001|
!|Execute|set schema 'sor'|
|Store query|!-SELECT count(*) as source_cnt FROM postgres_tbl-!|frompostgres|
!|dbfit.Netezza |
!|Connect|netezzaprd01|U356965|password|netezza_db|
|Store query|!-SELECT count(*) as target_cnt FROM netezza_tbl-!|fromnetezza|
!|Query|<<frompostgres|
!|Query|<<fromnetezza|
|compare stored queries|frompostgres|fromnetezza|
|query|(${q1} MINUS ${q2}) UNION (${q2} MINUS ${q1})|
|Count|source_cnt|target_cnt|
If I run this query, it gives me the following:
Test System: fit:fit.FitServer
|
dbfit.PostgresTest |
|
Connect |
batchuser |
password |
sds001 |
|
Execute |
set schema 'sor' |
|
Store query |
SELECT count(*) as source_cnt postgres_tbl |
frompostgres |
|
dbfit.Netezza Missing class or Missing methods: public TypeOfResult getDbfitDotNetezza() { } OR: public TypeOfResult dbfitDotNetezza() { } in class dbfit.PostgresTest |
|
Connect |
|
netezza1 |
user_nz |
password |
postgres_tbl |
|
Store query org.postgresql.util.PSQLException: ERROR: relation "netezza_tbl" does not exist Position: 36 |
|
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302) at dbfit.fixture.StoreQuery.doTable(StoreQuery.java:44) |
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) |
|
at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
SELECT count(*) as target_cnt FROM netezza_tbl |
fromnetezza |
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) |
|
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<frompostgres |
|
Query java.lang.UnsupportedOperationException: Stored queries can only be used on symbols that contain result sets at dbfit.fixture.Query.getFromSymbol(Query.java:59) at dbfit.fixture.Query.getDataTable(Query.java:39) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:92) at fit.Fixture.doTable(Fixture.java:156) |
|
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<fromnetezza |
|
compare stored queries java.lang.UnsupportedOperationException: Cannot load a stored query from fromnetezza at dbfit.util.SymbolUtil.getDataTable(SymbolUtil.java:30) at dbfit.fixture.CompareStoredQueries.initialiseDataTables(CompareStoredQueries.java:45) |
|
at dbfit.fixture.CompareStoredQueries.doTable(CompareStoredQueries.java:50) at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
frompostgres |
fromnetezza |
|
|
query |
(undefined variable: q1 MINUS undefined variable: q2) UNION (undefined variable: q2 MINUS undefined variable: q1) |
|
|
Count |
source_cnt |
target_cnt |
The problem comes when it tries to connect to the second DB, which might be NEtezza or Postgres (I tried reversing the order of the, it gives the following error:
|
dbfit.NetezzaTest |
|
Connect |
netezzaprd01 |
netezza_user |
password |
Netezza_db |
|
Store query |
SELECT count(*) as target_cnt FROM netezza_tbl |
fromnetezza |
|
dbfit.PostgresTest |
|
Connect org.netezza.error.NzSQLException: FATAL: no PostgreSQL user name specified in startup packet at org.netezza.sql.NzConnection$Initializer.negotiateVersion(NzConnection.java:1981) at org.netezza.sql.NzConnection$Initializer.init(NzConnection.java:1941) at org.netezza.sql.NzConnection.open(NzConnection.java:257) at org.netezza.datasource.NzDatasource.getConnection(NzDatasource.java:523) at org.netezza.datasource.NzDatasource.getConnection(NzDatasource.java:510) at org.netezza.Driver.connect(Driver.java:153) |
|
batchuser |
password |
sds001 |
|
Execute org.netezza.error.NzSQLException: ERROR: 'set schema 'sor'' error ^ found "'" (at char 16) expecting `TO' or `'='' at org.netezza.internal.QueryExecutor.getNextResult(QueryExecutor.java:276) at org.netezza.internal.QueryExecutor.execute(QueryExecutor.java:73) at org.netezza.sql.NzConnection.execute(NzConnection.java:2673) at org.netezza.sql.NzStatement._execute(NzStatement.java:849) at org.netezza.sql.NzPreparedStatament.execute(NzPreparedStatament.java:152) at dbfit.fixture.StatementExecution.run(StatementExecution.java:24) at dbfit.fixture.Execute.doRows(Execute.java:27) at fit.Fixture.doTable(Fixture.java:156) |
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
set schema 'sor' |
|
Store query org.netezza.error.NzSQLException: No results were returned by the query. at org.netezza.sql.NzPreparedStatament.executeQuery(NzPreparedStatament.java:176) at dbfit.fixture.StoreQuery.doTable(StoreQuery.java:44) |
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
SELECT count(*) as source_cnt FROM postgres_tbl |
frompostgres |
|
Query java.lang.UnsupportedOperationException: Stored queries can only be used on symbols that contain result sets at dbfit.fixture.Query.getFromSymbol(Query.java:59) at dbfit.fixture.Query.getDataTable(Query.java:39) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:92) at fit.Fixture.doTable(Fixture.java:156) |
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<frompostgres |
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) |
at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<fromnetezza |
|
compare stored queries |
java.lang.UnsupportedOperationException: Cannot load a stored query from frompostgres at dbfit.util.SymbolUtil.getDataTable(SymbolUtil.java:30) at dbfit.fixture.CompareStoredQueries.initialiseDataTables(CompareStoredQueries.java:44) at dbfit.fixture.CompareStoredQueries.doTable(CompareStoredQueries.java:50) at fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:21) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:104) at fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:89) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73) at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27) at fitlibrary.DoFixture.interpretTables(DoFixture.java:42) at dbfit.DatabaseTest.interpretTables(DatabaseTest.java:26) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
frompostgres |
fromnetezza |
|
|
query |
(undefined variable: q1 MINUS undefined variable: q2) UNION (undefined variable: q2 MINUS undefined variable: q1) |
|
|
Count |
source_cnt |
target_cnt |
Thank You.
Regards,
Gagneet
Regards,
Gagneet
--
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) |
at fit.Fixture.interpretFollowingTables(Fixture.java:121) at fit.Fixture.interpretTables(Fixture.java:107) |
|
at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<fromnz |
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) |
at fit.Fixture.interpretFollowingTables(Fixture.java:121) at fit.Fixture.interpretTables(Fixture.java:107) |
|
at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<frompg |
|
compare stored queries |
frompg |
fromnz |
|
query |
(undefined variable: frompg MINUS undefined variable: fromnz) UNION (undefined variable: fromnz MINUS undefined variable: frompg) |
|
|
null missing |
null |
|
|
null missing |
null |
|
...
--
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) at fit.Fixture.interpretFollowingTables(Fixture.java:121) at fit.Fixture.interpretTables(Fixture.java:107) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<fromnetezza |
|
Query java.lang.NullPointerException at fit.ColumnFixture.doRows(ColumnFixture.java:18) at dbfit.fixture.RowSetFixture.doRows(RowSetFixture.java:93) at fit.Fixture.doTable(Fixture.java:156) at fit.Fixture.interpretFollowingTables(Fixture.java:121) at fit.Fixture.interpretTables(Fixture.java:107) at fit.Fixture.doTables(Fixture.java:81) at fit.FitServer.process(FitServer.java:81) at fit.FitServer.run(FitServer.java:56) at fit.FitServer.main(FitServer.java:41) |
|
<<frompostgres |
|
compare stored queries |
frompostgres |
fromnetezza |
|
query |
(undefined variable: frompostgres MINUS undefined variable: fromnetezza) UNION (undefined variable: fromnetezza MINUS undefined variable: frompostgres) |
|
|
null missing |
null |
|
|
null missing |
null |