On 01.10.2016 16:47, Mark Rotteveel wrote:
> After upgrading to Firebird 3.0.1 a test that uses the services API to
> obtain table statistics nows fails with an exception:
>
> unrecognized service parameter block; All services except for getting
> server log require switches [SQLState:42000, ISC error code:335544562]
>
> This test, org.firebirdsql.management.TestFBStatisticsManager method
> testGetTableStatistics works fine in 3.0.0 and earlier.
>
> The test itself is:
>
> statManager.getTableStatistics(new String[]{"TEST"});
>
> where getTableStatistics is:
>
>       public void getTableStatistics(String[] tableNames) throws
> SQLException {
>           // create space-separated list of tables
>           StringBuilder commandLine = new StringBuilder();
>           for (int i = 0; i < tableNames.length; i++) {
>               commandLine.append(tableNames[i]);
>               if (i < tableNames.length - 1)
>                   commandLine.append(' ');
>           }
>
>           try (FbService service = attachServiceManager()) {
>               ServiceRequestBuffer srb = createStatsSRB(service,
> isc_spb_sts_table);
>               srb.addArgument(isc_spb_command_line, commandLine.toString());
>               executeServicesOperation(service, srb);
>           }
>       }
>
> Is the above doing something wrong (if so what?), or is this a regression?

I hardly understand how could that work at all, why use services v.1 
isc_spb_command_line switch?
If you need >1 table just repeat isc_spb_sts_table tag as many times as 
you need:

fbsvcmgr service_mgr action_db_stats dbname employee sts_table COUNTRY 
sts_table EMPLOYEE



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to