This file is indexed.

/usr/share/doc/libolap4j-java/api/src-html/org/olap4j/OlapDatabaseMetaData.html is in libolap4j-java-doc 1.0.1.500-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
<span class="sourceLineNo">002</span>// $Id: OlapDatabaseMetaData.java 482 2012-01-05 23:27:27Z jhyde $<a name="line.2"></a>
<span class="sourceLineNo">003</span>//<a name="line.3"></a>
<span class="sourceLineNo">004</span>// Licensed to Julian Hyde under one or more contributor license<a name="line.4"></a>
<span class="sourceLineNo">005</span>// agreements. See the NOTICE file distributed with this work for<a name="line.5"></a>
<span class="sourceLineNo">006</span>// additional information regarding copyright ownership.<a name="line.6"></a>
<span class="sourceLineNo">007</span>//<a name="line.7"></a>
<span class="sourceLineNo">008</span>// Julian Hyde licenses this file to you under the Apache License,<a name="line.8"></a>
<span class="sourceLineNo">009</span>// Version 2.0 (the "License"); you may not use this file except in<a name="line.9"></a>
<span class="sourceLineNo">010</span>// compliance with the License. You may obtain a copy of the License at:<a name="line.10"></a>
<span class="sourceLineNo">011</span>//<a name="line.11"></a>
<span class="sourceLineNo">012</span>// http://www.apache.org/licenses/LICENSE-2.0<a name="line.12"></a>
<span class="sourceLineNo">013</span>//<a name="line.13"></a>
<span class="sourceLineNo">014</span>// Unless required by applicable law or agreed to in writing, software<a name="line.14"></a>
<span class="sourceLineNo">015</span>// distributed under the License is distributed on an "AS IS" BASIS,<a name="line.15"></a>
<span class="sourceLineNo">016</span>// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.16"></a>
<span class="sourceLineNo">017</span>// See the License for the specific language governing permissions and<a name="line.17"></a>
<span class="sourceLineNo">018</span>// limitations under the License.<a name="line.18"></a>
<span class="sourceLineNo">019</span>*/<a name="line.19"></a>
<span class="sourceLineNo">020</span>package org.olap4j;<a name="line.20"></a>
<span class="sourceLineNo">021</span><a name="line.21"></a>
<span class="sourceLineNo">022</span>import org.olap4j.metadata.Member;<a name="line.22"></a>
<span class="sourceLineNo">023</span><a name="line.23"></a>
<span class="sourceLineNo">024</span>import java.sql.*;<a name="line.24"></a>
<span class="sourceLineNo">025</span>import java.util.Set;<a name="line.25"></a>
<span class="sourceLineNo">026</span><a name="line.26"></a>
<span class="sourceLineNo">027</span>/**<a name="line.27"></a>
<span class="sourceLineNo">028</span> * Information about an OLAP database.<a name="line.28"></a>
<span class="sourceLineNo">029</span> *<a name="line.29"></a>
<span class="sourceLineNo">030</span> * &lt;p&gt;Methods are provided to query the metadata catalog of the database.<a name="line.30"></a>
<span class="sourceLineNo">031</span> * There is a method for each metadata class, and each method takes zero or more<a name="line.31"></a>
<span class="sourceLineNo">032</span> * parameters to qualify the instances should be returned, and returns a JDBC<a name="line.32"></a>
<span class="sourceLineNo">033</span> * {@link java.sql.ResultSet}.<a name="line.33"></a>
<span class="sourceLineNo">034</span> *<a name="line.34"></a>
<span class="sourceLineNo">035</span> * &lt;p&gt;For example, {@link #getCubes} returns the description of a cube.<a name="line.35"></a>
<span class="sourceLineNo">036</span> *<a name="line.36"></a>
<span class="sourceLineNo">037</span> * @author jhyde<a name="line.37"></a>
<span class="sourceLineNo">038</span> * @version $Id: OlapDatabaseMetaData.java 482 2012-01-05 23:27:27Z jhyde $<a name="line.38"></a>
<span class="sourceLineNo">039</span> * @since Oct 12, 2006<a name="line.39"></a>
<span class="sourceLineNo">040</span> */<a name="line.40"></a>
<span class="sourceLineNo">041</span>public interface OlapDatabaseMetaData extends DatabaseMetaData, OlapWrapper {<a name="line.41"></a>
<span class="sourceLineNo">042</span><a name="line.42"></a>
<span class="sourceLineNo">043</span>    // override return type<a name="line.43"></a>
<span class="sourceLineNo">044</span>    /**<a name="line.44"></a>
<span class="sourceLineNo">045</span>     * {@inheritDoc}<a name="line.45"></a>
<span class="sourceLineNo">046</span>     */<a name="line.46"></a>
<span class="sourceLineNo">047</span>    OlapConnection getConnection() throws SQLException;<a name="line.47"></a>
<span class="sourceLineNo">048</span><a name="line.48"></a>
<span class="sourceLineNo">049</span>    /**<a name="line.49"></a>
<span class="sourceLineNo">050</span>     * Returns the granularity of changes to cell sets that the database is<a name="line.50"></a>
<span class="sourceLineNo">051</span>     * capable of providing.<a name="line.51"></a>
<span class="sourceLineNo">052</span>     *<a name="line.52"></a>
<span class="sourceLineNo">053</span>     * &lt;p&gt;It's optional whether an olap4j provider supports cellset listeners,<a name="line.53"></a>
<span class="sourceLineNo">054</span>     * and also optional which granularities it supports. If the provider does<a name="line.54"></a>
<span class="sourceLineNo">055</span>     * not support the cell set listener API, returns an empty set. Never<a name="line.55"></a>
<span class="sourceLineNo">056</span>     * returns null.<a name="line.56"></a>
<span class="sourceLineNo">057</span>     *<a name="line.57"></a>
<span class="sourceLineNo">058</span>     * @return set of the granularities that are supported when listening for<a name="line.58"></a>
<span class="sourceLineNo">059</span>     * changes to a cell set, never null<a name="line.59"></a>
<span class="sourceLineNo">060</span>     */<a name="line.60"></a>
<span class="sourceLineNo">061</span>    Set&lt;CellSetListener.Granularity&gt; getSupportedCellSetListenerGranularities()<a name="line.61"></a>
<span class="sourceLineNo">062</span>        throws OlapException;<a name="line.62"></a>
<span class="sourceLineNo">063</span><a name="line.63"></a>
<span class="sourceLineNo">064</span>    /**<a name="line.64"></a>
<span class="sourceLineNo">065</span>     * Retrieves a result set describing the Actions in this database.<a name="line.65"></a>
<span class="sourceLineNo">066</span>     *<a name="line.66"></a>
<span class="sourceLineNo">067</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_ACTIONS schema rowset.<a name="line.67"></a>
<span class="sourceLineNo">068</span>     *<a name="line.68"></a>
<span class="sourceLineNo">069</span>     * &lt;p&gt;Each action description has the following columns:<a name="line.69"></a>
<span class="sourceLineNo">070</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.70"></a>
<span class="sourceLineNo">071</span>     *         the database.&lt;/li&gt;<a name="line.71"></a>
<span class="sourceLineNo">072</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.72"></a>
<span class="sourceLineNo">073</span>     *         the schema to which this action belongs.&lt;/li&gt;<a name="line.73"></a>
<span class="sourceLineNo">074</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube to which this action<a name="line.74"></a>
<span class="sourceLineNo">075</span>     *         belongs.&lt;/li&gt;<a name="line.75"></a>
<span class="sourceLineNo">076</span>     * &lt;li&gt;&lt;b&gt;ACTION_NAME&lt;/b&gt; String =&gt; The name of the action.&lt;/li&gt;<a name="line.76"></a>
<span class="sourceLineNo">077</span>     * &lt;li&gt;&lt;b&gt;COORDINATE&lt;/b&gt; String =&gt; null&lt;/li&gt;<a name="line.77"></a>
<span class="sourceLineNo">078</span>     * &lt;li&gt;&lt;b&gt;COORDINATE_TYPE&lt;/b&gt; int =&gt; null&lt;/li&gt;<a name="line.78"></a>
<span class="sourceLineNo">079</span>     * &lt;/ol&gt;<a name="line.79"></a>
<span class="sourceLineNo">080</span>     *<a name="line.80"></a>
<span class="sourceLineNo">081</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.81"></a>
<span class="sourceLineNo">082</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.82"></a>
<span class="sourceLineNo">083</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.83"></a>
<span class="sourceLineNo">084</span>     *        to narrow the search<a name="line.84"></a>
<span class="sourceLineNo">085</span>     *<a name="line.85"></a>
<span class="sourceLineNo">086</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.86"></a>
<span class="sourceLineNo">087</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.87"></a>
<span class="sourceLineNo">088</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.88"></a>
<span class="sourceLineNo">089</span>     *        be used to narrow the search<a name="line.89"></a>
<span class="sourceLineNo">090</span>     *<a name="line.90"></a>
<span class="sourceLineNo">091</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.91"></a>
<span class="sourceLineNo">092</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.92"></a>
<span class="sourceLineNo">093</span>     *        without a cube (such as shared dimensions);<a name="line.93"></a>
<span class="sourceLineNo">094</span>     *        &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.94"></a>
<span class="sourceLineNo">095</span>     *        not be used to narrow the search<a name="line.95"></a>
<span class="sourceLineNo">096</span>     *<a name="line.96"></a>
<span class="sourceLineNo">097</span>     * @param actionNamePattern an action name pattern; must match the<a name="line.97"></a>
<span class="sourceLineNo">098</span>     *        action name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.98"></a>
<span class="sourceLineNo">099</span>     *        means that the action name should not be used to narrow the<a name="line.99"></a>
<span class="sourceLineNo">100</span>     *        search<a name="line.100"></a>
<span class="sourceLineNo">101</span>     *<a name="line.101"></a>
<span class="sourceLineNo">102</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is an<a name="line.102"></a>
<span class="sourceLineNo">103</span>     *         action description<a name="line.103"></a>
<span class="sourceLineNo">104</span>     *<a name="line.104"></a>
<span class="sourceLineNo">105</span>     * @exception OlapException if a database access error occurs<a name="line.105"></a>
<span class="sourceLineNo">106</span>     *<a name="line.106"></a>
<span class="sourceLineNo">107</span>     * @see #getSearchStringEscape<a name="line.107"></a>
<span class="sourceLineNo">108</span>     */<a name="line.108"></a>
<span class="sourceLineNo">109</span>    ResultSet getActions(<a name="line.109"></a>
<span class="sourceLineNo">110</span>        String catalog,<a name="line.110"></a>
<span class="sourceLineNo">111</span>        String schemaPattern,<a name="line.111"></a>
<span class="sourceLineNo">112</span>        String cubeNamePattern,<a name="line.112"></a>
<span class="sourceLineNo">113</span>        String actionNamePattern) throws OlapException;<a name="line.113"></a>
<span class="sourceLineNo">114</span><a name="line.114"></a>
<span class="sourceLineNo">115</span>    /**<a name="line.115"></a>
<span class="sourceLineNo">116</span>     * Retrieves a row set describing the databases that are available on the<a name="line.116"></a>
<span class="sourceLineNo">117</span>     * server.<a name="line.117"></a>
<span class="sourceLineNo">118</span>     *<a name="line.118"></a>
<span class="sourceLineNo">119</span>     * &lt;p&gt;Specification as for XML/A DISCOVER_DATASOURCES schema rowset.<a name="line.119"></a>
<span class="sourceLineNo">120</span>     *<a name="line.120"></a>
<span class="sourceLineNo">121</span>     * &lt;ol&gt;<a name="line.121"></a>
<span class="sourceLineNo">122</span>     * &lt;li&gt;&lt;b&gt;DATA_SOURCE_NAME&lt;/b&gt; String =&gt; The name of the data source, such<a name="line.122"></a>
<span class="sourceLineNo">123</span>     *         as FoodMart 2000.&lt;/li&gt;<a name="line.123"></a>
<span class="sourceLineNo">124</span>     * &lt;li&gt;&lt;b&gt;DATA_SOURCE_DESCRIPTION&lt;/b&gt; String =&gt; A description of the data<a name="line.124"></a>
<span class="sourceLineNo">125</span>     *         source, as entered by the publisher. (may be<a name="line.125"></a>
<span class="sourceLineNo">126</span>     *         &lt;code&gt;null&lt;/code&gt;)&lt;/li&gt;<a name="line.126"></a>
<span class="sourceLineNo">127</span>     * &lt;li&gt;&lt;b&gt;URL&lt;/b&gt; String =&gt; The unique path that shows where to invoke the<a name="line.127"></a>
<span class="sourceLineNo">128</span>     *         XML for Analysis methods for that data source. (may be<a name="line.128"></a>
<span class="sourceLineNo">129</span>     *         &lt;code&gt;null&lt;/code&gt;)&lt;/li&gt;<a name="line.129"></a>
<span class="sourceLineNo">130</span>     * &lt;li&gt;&lt;b&gt;DATA_SOURCE_INFO&lt;/b&gt; String =&gt; A string containing any additional<a name="line.130"></a>
<span class="sourceLineNo">131</span>     *         information required to connect to the data source. This can<a name="line.131"></a>
<span class="sourceLineNo">132</span>     *         include the Initial Catalog property or other information for<a name="line.132"></a>
<span class="sourceLineNo">133</span>     *         the provider.&lt;br/&gt;Example: "Provider=MSOLAP;Data<a name="line.133"></a>
<span class="sourceLineNo">134</span>     *         Source=Local;" (may be &lt;code&gt;null&lt;/code&gt;)&lt;/li&gt;<a name="line.134"></a>
<span class="sourceLineNo">135</span>     * &lt;li&gt;&lt;b&gt;PROVIDER_NAME&lt;/b&gt; String =&gt; The name of the provider behind the<a name="line.135"></a>
<span class="sourceLineNo">136</span>     *         data source. &lt;br/&gt;Example: "MSDASQL" (may be<a name="line.136"></a>
<span class="sourceLineNo">137</span>     *         &lt;code&gt;null&lt;/code&gt;)&lt;/li&gt;<a name="line.137"></a>
<span class="sourceLineNo">138</span>     * &lt;li&gt;&lt;b&gt;PROVIDER_TYPE&lt;/b&gt; EnumerationArray =&gt; The types of data supported<a name="line.138"></a>
<span class="sourceLineNo">139</span>     *         by the provider. May include one or more of the following<a name="line.139"></a>
<span class="sourceLineNo">140</span>     *         types. Example follows this table.&lt;br/&gt;TDP: tabular data<a name="line.140"></a>
<span class="sourceLineNo">141</span>     *         provider.&lt;br/&gt;MDP: multidimensional data provider.&lt;br/&gt;DMP:<a name="line.141"></a>
<span class="sourceLineNo">142</span>     *         data mining provider. A DMP provider implements the OLE DB for<a name="line.142"></a>
<span class="sourceLineNo">143</span>     *         Data Mining specification.&lt;/li&gt;<a name="line.143"></a>
<span class="sourceLineNo">144</span>     * &lt;li&gt;&lt;b&gt;AUTHENTICATION_MODE&lt;/b&gt; EnumString =&gt; Specification of what type<a name="line.144"></a>
<span class="sourceLineNo">145</span>     *         of security mode the data source uses. Values can be one of<a name="line.145"></a>
<span class="sourceLineNo">146</span>     *         the following:&lt;br/&gt;Unauthenticated: no user ID or password<a name="line.146"></a>
<span class="sourceLineNo">147</span>     *         needs to be sent.&lt;br/&gt;Authenticated: User ID and Password must<a name="line.147"></a>
<span class="sourceLineNo">148</span>     *         be included in the information required for the<a name="line.148"></a>
<span class="sourceLineNo">149</span>     *         connection.&lt;br/&gt;Integrated: the data source uses the<a name="line.149"></a>
<span class="sourceLineNo">150</span>     *         underlying security to determine authorization, such as<a name="line.150"></a>
<span class="sourceLineNo">151</span>     *         Integrated Security provided by Microsoft Internet Information<a name="line.151"></a>
<span class="sourceLineNo">152</span>     *         Services (IIS).&lt;/li&gt;<a name="line.152"></a>
<span class="sourceLineNo">153</span>     * &lt;/ol&gt;<a name="line.153"></a>
<span class="sourceLineNo">154</span>     *<a name="line.154"></a>
<span class="sourceLineNo">155</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is an<a name="line.155"></a>
<span class="sourceLineNo">156</span>     *         OLAP database description<a name="line.156"></a>
<span class="sourceLineNo">157</span>     * @throws OlapException if a database access error occurs<a name="line.157"></a>
<span class="sourceLineNo">158</span>     */<a name="line.158"></a>
<span class="sourceLineNo">159</span>    ResultSet getDatabases() throws OlapException;<a name="line.159"></a>
<span class="sourceLineNo">160</span><a name="line.160"></a>
<span class="sourceLineNo">161</span>    /**<a name="line.161"></a>
<span class="sourceLineNo">162</span>     * Retrieves a list of information on supported literals, including data<a name="line.162"></a>
<span class="sourceLineNo">163</span>     * types and values.<a name="line.163"></a>
<span class="sourceLineNo">164</span>     *<a name="line.164"></a>
<span class="sourceLineNo">165</span>     * &lt;p&gt;Specification as for XML/A DISCOVER_LITERALS schema rowset.<a name="line.165"></a>
<span class="sourceLineNo">166</span>     *<a name="line.166"></a>
<span class="sourceLineNo">167</span>     * &lt;ol&gt;<a name="line.167"></a>
<span class="sourceLineNo">168</span>     * &lt;li&gt;&lt;b&gt;LITERAL_NAME&lt;/b&gt; String =&gt; The name of the literal described in<a name="line.168"></a>
<span class="sourceLineNo">169</span>     *         the row.&lt;br/&gt;Example: DBLITERAL_LIKE_PERCENT&lt;/li&gt;<a name="line.169"></a>
<span class="sourceLineNo">170</span>     * &lt;li&gt;&lt;b&gt;LITERAL_VALUE&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Contains<a name="line.170"></a>
<span class="sourceLineNo">171</span>     *         the actual literal value.&lt;br/&gt;Example, if LiteralName is<a name="line.171"></a>
<span class="sourceLineNo">172</span>     *         DBLITERAL_LIKE_PERCENT and the percent character (%) is used<a name="line.172"></a>
<span class="sourceLineNo">173</span>     *         to match zero or more characters in a LIKE clause, this<a name="line.173"></a>
<span class="sourceLineNo">174</span>     *         column's value would be "%".&lt;/li&gt;<a name="line.174"></a>
<span class="sourceLineNo">175</span>     * &lt;li&gt;&lt;b&gt;LITERAL_INVALID_CHARS&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.175"></a>
<span class="sourceLineNo">176</span>     *         The characters, in the literal, that are not valid.&lt;br/&gt;For<a name="line.176"></a>
<span class="sourceLineNo">177</span>     *         example, if table names can contain anything other than a<a name="line.177"></a>
<span class="sourceLineNo">178</span>     *         numeric character, this string would be "0123456789".&lt;/li&gt;<a name="line.178"></a>
<span class="sourceLineNo">179</span>     * &lt;li&gt;&lt;b&gt;LITERAL_INVALID_STARTING_CHARS&lt;/b&gt; String (may be<a name="line.179"></a>
<span class="sourceLineNo">180</span>     *         &lt;code&gt;null&lt;/code&gt;) =&gt; The characters that are not valid as the<a name="line.180"></a>
<span class="sourceLineNo">181</span>     *         first character of the literal. If the literal can start with<a name="line.181"></a>
<span class="sourceLineNo">182</span>     *         any valid character, this is null.&lt;/li&gt;<a name="line.182"></a>
<span class="sourceLineNo">183</span>     * &lt;li&gt;&lt;b&gt;LITERAL_MAX_LENGTH&lt;/b&gt; int (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The<a name="line.183"></a>
<span class="sourceLineNo">184</span>     *         maximum number of characters in the literal. If there is no<a name="line.184"></a>
<span class="sourceLineNo">185</span>     *         maximum or the maximum is unknown, the value is -1.&lt;/li&gt;<a name="line.185"></a>
<span class="sourceLineNo">186</span>     * &lt;/ol&gt;<a name="line.186"></a>
<span class="sourceLineNo">187</span>     *<a name="line.187"></a>
<span class="sourceLineNo">188</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.188"></a>
<span class="sourceLineNo">189</span>     *         literal description<a name="line.189"></a>
<span class="sourceLineNo">190</span>     *<a name="line.190"></a>
<span class="sourceLineNo">191</span>     * @exception OlapException if a database access error occurs<a name="line.191"></a>
<span class="sourceLineNo">192</span>     */<a name="line.192"></a>
<span class="sourceLineNo">193</span>    ResultSet getLiterals() throws OlapException;<a name="line.193"></a>
<span class="sourceLineNo">194</span><a name="line.194"></a>
<span class="sourceLineNo">195</span>    /**<a name="line.195"></a>
<span class="sourceLineNo">196</span>     * Retrieves a list of the standard and provider-specific properties<a name="line.196"></a>
<span class="sourceLineNo">197</span>     * supported by an olap4j provider. Properties that are not supported by a<a name="line.197"></a>
<span class="sourceLineNo">198</span>     * provider are not listed in the return result set.<a name="line.198"></a>
<span class="sourceLineNo">199</span>     *<a name="line.199"></a>
<span class="sourceLineNo">200</span>     * &lt;p&gt;Specification as for XML/A DISCOVER_PROPERTIES schema rowset.<a name="line.200"></a>
<span class="sourceLineNo">201</span>     *<a name="line.201"></a>
<span class="sourceLineNo">202</span>     * &lt;p&gt;Not to be confused with {@link #getProperties}.<a name="line.202"></a>
<span class="sourceLineNo">203</span>     *<a name="line.203"></a>
<span class="sourceLineNo">204</span>     * &lt;ol&gt;<a name="line.204"></a>
<span class="sourceLineNo">205</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_NAME&lt;/b&gt; String =&gt; The name of the property.&lt;/li&gt;<a name="line.205"></a>
<span class="sourceLineNo">206</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_DESCRIPTION&lt;/b&gt; String =&gt; A localizable text description<a name="line.206"></a>
<span class="sourceLineNo">207</span>     *         of the property.&lt;/li&gt;<a name="line.207"></a>
<span class="sourceLineNo">208</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_TYPE&lt;/b&gt; String =&gt; The XML data type of the<a name="line.208"></a>
<span class="sourceLineNo">209</span>     *         property.&lt;/li&gt;<a name="line.209"></a>
<span class="sourceLineNo">210</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_ACCESS_TYPE&lt;/b&gt; EnumString =&gt; Access for the property.<a name="line.210"></a>
<span class="sourceLineNo">211</span>     *         The value can be Read, Write, or ReadWrite.&lt;/li&gt;<a name="line.211"></a>
<span class="sourceLineNo">212</span>     * &lt;li&gt;&lt;b&gt;IS_REQUIRED&lt;/b&gt; Boolean =&gt; True if a property is required, false<a name="line.212"></a>
<span class="sourceLineNo">213</span>     *         if it is not required.&lt;/li&gt;<a name="line.213"></a>
<span class="sourceLineNo">214</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_VALUE&lt;/b&gt; String =&gt; The current value of the<a name="line.214"></a>
<span class="sourceLineNo">215</span>     *         property.&lt;/li&gt;<a name="line.215"></a>
<span class="sourceLineNo">216</span>     * &lt;/ol&gt;<a name="line.216"></a>
<span class="sourceLineNo">217</span>     *<a name="line.217"></a>
<span class="sourceLineNo">218</span>     * @param dataSourceName Name of data source<a name="line.218"></a>
<span class="sourceLineNo">219</span>     *<a name="line.219"></a>
<span class="sourceLineNo">220</span>     * @param propertyNamePattern an property name pattern; must match the<a name="line.220"></a>
<span class="sourceLineNo">221</span>     *        property name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.221"></a>
<span class="sourceLineNo">222</span>     *        means that the property name should not be used to narrow the<a name="line.222"></a>
<span class="sourceLineNo">223</span>     *        search<a name="line.223"></a>
<span class="sourceLineNo">224</span>     *<a name="line.224"></a>
<span class="sourceLineNo">225</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.225"></a>
<span class="sourceLineNo">226</span>     *         the description of a database property<a name="line.226"></a>
<span class="sourceLineNo">227</span>     *<a name="line.227"></a>
<span class="sourceLineNo">228</span>     * @exception OlapException if a database access error occurs<a name="line.228"></a>
<span class="sourceLineNo">229</span>     *<a name="line.229"></a>
<span class="sourceLineNo">230</span>     * @see #getSearchStringEscape<a name="line.230"></a>
<span class="sourceLineNo">231</span>     */<a name="line.231"></a>
<span class="sourceLineNo">232</span>    ResultSet getDatabaseProperties(<a name="line.232"></a>
<span class="sourceLineNo">233</span>        String dataSourceName,<a name="line.233"></a>
<span class="sourceLineNo">234</span>        String propertyNamePattern) throws OlapException;<a name="line.234"></a>
<span class="sourceLineNo">235</span><a name="line.235"></a>
<span class="sourceLineNo">236</span>    /**<a name="line.236"></a>
<span class="sourceLineNo">237</span>     * Retrieves a result set describing member and cell Properties.<a name="line.237"></a>
<span class="sourceLineNo">238</span>     *<a name="line.238"></a>
<span class="sourceLineNo">239</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_PROPERTIES schema rowset.<a name="line.239"></a>
<span class="sourceLineNo">240</span>     *<a name="line.240"></a>
<span class="sourceLineNo">241</span>     * &lt;p&gt;Not to be confused with {@link #getDatabaseProperties(String,String)}.<a name="line.241"></a>
<span class="sourceLineNo">242</span>     *<a name="line.242"></a>
<span class="sourceLineNo">243</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.243"></a>
<span class="sourceLineNo">244</span>     *         the database.&lt;/li&gt;<a name="line.244"></a>
<span class="sourceLineNo">245</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.245"></a>
<span class="sourceLineNo">246</span>     *         the schema to which this property belongs.&lt;/li&gt;<a name="line.246"></a>
<span class="sourceLineNo">247</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube.&lt;/li&gt;<a name="line.247"></a>
<span class="sourceLineNo">248</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.248"></a>
<span class="sourceLineNo">249</span>     *         dimension.&lt;/li&gt;<a name="line.249"></a>
<span class="sourceLineNo">250</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.250"></a>
<span class="sourceLineNo">251</span>     *         hierarchy.&lt;/li&gt;<a name="line.251"></a>
<span class="sourceLineNo">252</span>     * &lt;li&gt;&lt;b&gt;LEVEL_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the level to<a name="line.252"></a>
<span class="sourceLineNo">253</span>     *         which this property belongs.&lt;/li&gt;<a name="line.253"></a>
<span class="sourceLineNo">254</span>     * &lt;li&gt;&lt;b&gt;MEMBER_UNIQUE_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The<a name="line.254"></a>
<span class="sourceLineNo">255</span>     *         unique name of the member to which the property belongs.&lt;/li&gt;<a name="line.255"></a>
<span class="sourceLineNo">256</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_NAME&lt;/b&gt; String =&gt; Name of the property.&lt;/li&gt;<a name="line.256"></a>
<span class="sourceLineNo">257</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_CAPTION&lt;/b&gt; String =&gt; A label or caption associated with<a name="line.257"></a>
<span class="sourceLineNo">258</span>     *         the property, used primarily for display purposes.&lt;/li&gt;<a name="line.258"></a>
<span class="sourceLineNo">259</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_TYPE&lt;/b&gt; Short =&gt; A bitmap that specifies the type of<a name="line.259"></a>
<span class="sourceLineNo">260</span>     *         the property&lt;/li&gt;<a name="line.260"></a>
<span class="sourceLineNo">261</span>     * &lt;li&gt;&lt;b&gt;DATA_TYPE&lt;/b&gt; UnsignedShort =&gt; Data type of the property.&lt;/li&gt;<a name="line.261"></a>
<span class="sourceLineNo">262</span>     * &lt;li&gt;&lt;b&gt;PROPERTY_CONTENT_TYPE&lt;/b&gt; Short (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The<a name="line.262"></a>
<span class="sourceLineNo">263</span>     *         type of the property. &lt;/li&gt;<a name="line.263"></a>
<span class="sourceLineNo">264</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.264"></a>
<span class="sourceLineNo">265</span>     *         human-readable description of the measure. &lt;/li&gt;<a name="line.265"></a>
<span class="sourceLineNo">266</span>     * &lt;/ol&gt;<a name="line.266"></a>
<span class="sourceLineNo">267</span>     *<a name="line.267"></a>
<span class="sourceLineNo">268</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.268"></a>
<span class="sourceLineNo">269</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.269"></a>
<span class="sourceLineNo">270</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.270"></a>
<span class="sourceLineNo">271</span>     *        to narrow the search<a name="line.271"></a>
<span class="sourceLineNo">272</span>     *<a name="line.272"></a>
<span class="sourceLineNo">273</span>     * @param schemaPattern a schema name pattern; must match the schema<a name="line.273"></a>
<span class="sourceLineNo">274</span>     *        name as it is stored in the database; "" retrieves those without<a name="line.274"></a>
<span class="sourceLineNo">275</span>     *        a schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.275"></a>
<span class="sourceLineNo">276</span>     *        be used to narrow the search<a name="line.276"></a>
<span class="sourceLineNo">277</span>     *<a name="line.277"></a>
<span class="sourceLineNo">278</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.278"></a>
<span class="sourceLineNo">279</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.279"></a>
<span class="sourceLineNo">280</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.280"></a>
<span class="sourceLineNo">281</span>     *        not be used to narrow the search<a name="line.281"></a>
<span class="sourceLineNo">282</span>     *<a name="line.282"></a>
<span class="sourceLineNo">283</span>     * @param dimensionUniqueName unique name of a dimension (not a pattern);<a name="line.283"></a>
<span class="sourceLineNo">284</span>     *        must match the dimension name as it is stored in the database;<a name="line.284"></a>
<span class="sourceLineNo">285</span>     *        &lt;code&gt;null&lt;/code&gt; means that the dimension name should not be<a name="line.285"></a>
<span class="sourceLineNo">286</span>     *        used to narrow the search<a name="line.286"></a>
<span class="sourceLineNo">287</span>     *<a name="line.287"></a>
<span class="sourceLineNo">288</span>     * @param hierarchyUniqueName unique name of a hierarchy (not a pattern);<a name="line.288"></a>
<span class="sourceLineNo">289</span>     *        must match the<a name="line.289"></a>
<span class="sourceLineNo">290</span>     *        hierarchy name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.290"></a>
<span class="sourceLineNo">291</span>     *        means that the hierarchy name should not be used to narrow the<a name="line.291"></a>
<span class="sourceLineNo">292</span>     *        search<a name="line.292"></a>
<span class="sourceLineNo">293</span>     *<a name="line.293"></a>
<span class="sourceLineNo">294</span>     * @param levelUniqueName unique name of a level (not a pattern);<a name="line.294"></a>
<span class="sourceLineNo">295</span>     *        must match the<a name="line.295"></a>
<span class="sourceLineNo">296</span>     *        level name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.296"></a>
<span class="sourceLineNo">297</span>     *        means that the level name should not be used to narrow the<a name="line.297"></a>
<span class="sourceLineNo">298</span>     *        search<a name="line.298"></a>
<span class="sourceLineNo">299</span>     *<a name="line.299"></a>
<span class="sourceLineNo">300</span>     * @param memberUniqueName unique name of member (not a pattern);<a name="line.300"></a>
<span class="sourceLineNo">301</span>     *        &lt;code&gt;null&lt;/code&gt;<a name="line.301"></a>
<span class="sourceLineNo">302</span>     *        means that the member unique name should not be used to narrow<a name="line.302"></a>
<span class="sourceLineNo">303</span>     *        the search<a name="line.303"></a>
<span class="sourceLineNo">304</span>     *<a name="line.304"></a>
<span class="sourceLineNo">305</span>     * @param propertyNamePattern a property name pattern; must match the<a name="line.305"></a>
<span class="sourceLineNo">306</span>     *        property name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.306"></a>
<span class="sourceLineNo">307</span>     *        means that the property name should not be used to narrow the<a name="line.307"></a>
<span class="sourceLineNo">308</span>     *        search<a name="line.308"></a>
<span class="sourceLineNo">309</span>     *<a name="line.309"></a>
<span class="sourceLineNo">310</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.310"></a>
<span class="sourceLineNo">311</span>     *         description of a member or cell property<a name="line.311"></a>
<span class="sourceLineNo">312</span>     *<a name="line.312"></a>
<span class="sourceLineNo">313</span>     * @exception OlapException if a database access error occurs<a name="line.313"></a>
<span class="sourceLineNo">314</span>     *<a name="line.314"></a>
<span class="sourceLineNo">315</span>     * @see #getSearchStringEscape<a name="line.315"></a>
<span class="sourceLineNo">316</span>     * @see org.olap4j.metadata.Property<a name="line.316"></a>
<span class="sourceLineNo">317</span>     */<a name="line.317"></a>
<span class="sourceLineNo">318</span>    ResultSet getProperties(<a name="line.318"></a>
<span class="sourceLineNo">319</span>        String catalog,<a name="line.319"></a>
<span class="sourceLineNo">320</span>        String schemaPattern,<a name="line.320"></a>
<span class="sourceLineNo">321</span>        String cubeNamePattern,<a name="line.321"></a>
<span class="sourceLineNo">322</span>        String dimensionUniqueName,<a name="line.322"></a>
<span class="sourceLineNo">323</span>        String hierarchyUniqueName,<a name="line.323"></a>
<span class="sourceLineNo">324</span>        String levelUniqueName,<a name="line.324"></a>
<span class="sourceLineNo">325</span>        String memberUniqueName,<a name="line.325"></a>
<span class="sourceLineNo">326</span>        String propertyNamePattern) throws OlapException;<a name="line.326"></a>
<span class="sourceLineNo">327</span><a name="line.327"></a>
<span class="sourceLineNo">328</span>    /**<a name="line.328"></a>
<span class="sourceLineNo">329</span>     * Retrieves a comma-separated list of all of this database's MDX keywords.<a name="line.329"></a>
<span class="sourceLineNo">330</span>     *<a name="line.330"></a>
<span class="sourceLineNo">331</span>     * @return the list of this database's MDX keywords<a name="line.331"></a>
<span class="sourceLineNo">332</span>     *<a name="line.332"></a>
<span class="sourceLineNo">333</span>     * @exception OlapException if a database access error occurs<a name="line.333"></a>
<span class="sourceLineNo">334</span>     */<a name="line.334"></a>
<span class="sourceLineNo">335</span>    String getMdxKeywords() throws OlapException;<a name="line.335"></a>
<span class="sourceLineNo">336</span><a name="line.336"></a>
<span class="sourceLineNo">337</span>    /**<a name="line.337"></a>
<span class="sourceLineNo">338</span>     * Retrieves a result set describing the Cubes in this database.<a name="line.338"></a>
<span class="sourceLineNo">339</span>     *<a name="line.339"></a>
<span class="sourceLineNo">340</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_CUBES schema rowset.<a name="line.340"></a>
<span class="sourceLineNo">341</span>     *<a name="line.341"></a>
<span class="sourceLineNo">342</span>     * &lt;p&gt;Each cube description has the following columns:<a name="line.342"></a>
<span class="sourceLineNo">343</span>     * &lt;ol&gt;<a name="line.343"></a>
<span class="sourceLineNo">344</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.344"></a>
<span class="sourceLineNo">345</span>     *         the catalog to which this cube belongs.&lt;/li&gt;<a name="line.345"></a>
<span class="sourceLineNo">346</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.346"></a>
<span class="sourceLineNo">347</span>     *         the schema to which this cube belongs.&lt;/li&gt;<a name="line.347"></a>
<span class="sourceLineNo">348</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; Name of the cube.&lt;/li&gt;<a name="line.348"></a>
<span class="sourceLineNo">349</span>     * &lt;li&gt;&lt;b&gt;CUBE_TYPE&lt;/b&gt; String =&gt; Cube type.&lt;/li&gt;<a name="line.349"></a>
<span class="sourceLineNo">350</span>     * &lt;li&gt;&lt;b&gt;CUBE_GUID&lt;/b&gt; UUID (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Cube type.&lt;/li&gt;<a name="line.350"></a>
<span class="sourceLineNo">351</span>     * &lt;li&gt;&lt;b&gt;CREATED_ON&lt;/b&gt; Timestamp (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Date and<a name="line.351"></a>
<span class="sourceLineNo">352</span>     *         time of cube creation.&lt;/li&gt;<a name="line.352"></a>
<span class="sourceLineNo">353</span>     * &lt;li&gt;&lt;b&gt;LAST_SCHEMA_UPDATE&lt;/b&gt; Timestamp (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.353"></a>
<span class="sourceLineNo">354</span>     *         Date and time of last schema update.&lt;/li&gt;<a name="line.354"></a>
<span class="sourceLineNo">355</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_UPDATED_BY&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; User<a name="line.355"></a>
<span class="sourceLineNo">356</span>     *         ID of the person who last updated the schema.&lt;/li&gt;<a name="line.356"></a>
<span class="sourceLineNo">357</span>     * &lt;li&gt;&lt;b&gt;LAST_DATA_UPDATE&lt;/b&gt; Timestamp (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Date<a name="line.357"></a>
<span class="sourceLineNo">358</span>     *         and time of last data update.&lt;/li&gt;<a name="line.358"></a>
<span class="sourceLineNo">359</span>     * &lt;li&gt;&lt;b&gt;DATA_UPDATED_BY&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; User ID<a name="line.359"></a>
<span class="sourceLineNo">360</span>     *         of the person who last updated the data. &lt;/li&gt;<a name="line.360"></a>
<span class="sourceLineNo">361</span>     * &lt;li&gt;&lt;b&gt;IS_DRILLTHROUGH_ENABLED&lt;/b&gt; boolean =&gt; Describes whether<a name="line.361"></a>
<span class="sourceLineNo">362</span>     *         DRILLTHROUGH can be performed on the members of a cube&lt;/li&gt;<a name="line.362"></a>
<span class="sourceLineNo">363</span>     * &lt;li&gt;&lt;b&gt;IS_WRITE_ENABLED&lt;/b&gt; boolean =&gt; Describes whether a cube is<a name="line.363"></a>
<span class="sourceLineNo">364</span>     *         write-enabled&lt;/li&gt;<a name="line.364"></a>
<span class="sourceLineNo">365</span>     * &lt;li&gt;&lt;b&gt;IS_LINKABLE&lt;/b&gt; boolean =&gt; Describes whether a cube can be used<a name="line.365"></a>
<span class="sourceLineNo">366</span>     *         in a linked cube&lt;/li&gt;<a name="line.366"></a>
<span class="sourceLineNo">367</span>     * &lt;li&gt;&lt;b&gt;IS_SQL_ENABLED&lt;/b&gt; boolean =&gt; Describes whether or not SQL can be<a name="line.367"></a>
<span class="sourceLineNo">368</span>     *         used on the cube&lt;/li&gt;<a name="line.368"></a>
<span class="sourceLineNo">369</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.369"></a>
<span class="sourceLineNo">370</span>     *         user-friendly description of the cube.&lt;/li&gt;<a name="line.370"></a>
<span class="sourceLineNo">371</span>     * &lt;li&gt;&lt;b&gt;CUBE_CAPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.371"></a>
<span class="sourceLineNo">372</span>     *         The caption of the cube.&lt;/li&gt;<a name="line.372"></a>
<span class="sourceLineNo">373</span>     * &lt;li&gt;&lt;b&gt;BASE_CUBE_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.373"></a>
<span class="sourceLineNo">374</span>     *         The name of the source cube if this cube is a perspective<a name="line.374"></a>
<span class="sourceLineNo">375</span>     *         cube.&lt;/li&gt;<a name="line.375"></a>
<span class="sourceLineNo">376</span>     * &lt;/ol&gt;<a name="line.376"></a>
<span class="sourceLineNo">377</span>     *<a name="line.377"></a>
<span class="sourceLineNo">378</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.378"></a>
<span class="sourceLineNo">379</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.379"></a>
<span class="sourceLineNo">380</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.380"></a>
<span class="sourceLineNo">381</span>     *        to narrow the search<a name="line.381"></a>
<span class="sourceLineNo">382</span>     *<a name="line.382"></a>
<span class="sourceLineNo">383</span>     * @param schemaPattern a schema name pattern; must match the schema<a name="line.383"></a>
<span class="sourceLineNo">384</span>     *        name as it is stored in the database; "" retrieves those without<a name="line.384"></a>
<span class="sourceLineNo">385</span>     *        a schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.385"></a>
<span class="sourceLineNo">386</span>     *        be used to narrow the search<a name="line.386"></a>
<span class="sourceLineNo">387</span>     *<a name="line.387"></a>
<span class="sourceLineNo">388</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.388"></a>
<span class="sourceLineNo">389</span>     *        cube name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.389"></a>
<span class="sourceLineNo">390</span>     *        means that the cube name should not be used to narrow the search<a name="line.390"></a>
<span class="sourceLineNo">391</span>     *<a name="line.391"></a>
<span class="sourceLineNo">392</span>     * @return &lt;code&gt;ResultSet&lt;/code&gt; in which each row is a cube description<a name="line.392"></a>
<span class="sourceLineNo">393</span>     *<a name="line.393"></a>
<span class="sourceLineNo">394</span>     * @exception OlapException if a database access error occurs<a name="line.394"></a>
<span class="sourceLineNo">395</span>     *<a name="line.395"></a>
<span class="sourceLineNo">396</span>     * @see #getSearchStringEscape<a name="line.396"></a>
<span class="sourceLineNo">397</span>     * @see org.olap4j.metadata.Cube<a name="line.397"></a>
<span class="sourceLineNo">398</span>     */<a name="line.398"></a>
<span class="sourceLineNo">399</span>    public ResultSet getCubes(<a name="line.399"></a>
<span class="sourceLineNo">400</span>        String catalog,<a name="line.400"></a>
<span class="sourceLineNo">401</span>        String schemaPattern,<a name="line.401"></a>
<span class="sourceLineNo">402</span>        String cubeNamePattern) throws OlapException;<a name="line.402"></a>
<span class="sourceLineNo">403</span><a name="line.403"></a>
<span class="sourceLineNo">404</span>    /**<a name="line.404"></a>
<span class="sourceLineNo">405</span>     * Retrieves a result set describing the shared and private Dimensions<a name="line.405"></a>
<span class="sourceLineNo">406</span>     * in this database.<a name="line.406"></a>
<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
<span class="sourceLineNo">408</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_DIMENSIONS schema rowset.<a name="line.408"></a>
<span class="sourceLineNo">409</span>     *<a name="line.409"></a>
<span class="sourceLineNo">410</span>     * &lt;p&gt;Each dimension description has the following columns:<a name="line.410"></a>
<span class="sourceLineNo">411</span>     * &lt;ol&gt;<a name="line.411"></a>
<span class="sourceLineNo">412</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.412"></a>
<span class="sourceLineNo">413</span>     *         the database.&lt;/li&gt;<a name="line.413"></a>
<span class="sourceLineNo">414</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Not<a name="line.414"></a>
<span class="sourceLineNo">415</span>     *         supported.&lt;/li&gt;<a name="line.415"></a>
<span class="sourceLineNo">416</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube.&lt;/li&gt;<a name="line.416"></a>
<span class="sourceLineNo">417</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_NAME&lt;/b&gt; String =&gt; The name of the dimension. &lt;/li&gt;<a name="line.417"></a>
<span class="sourceLineNo">418</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.418"></a>
<span class="sourceLineNo">419</span>     *         dimension.&lt;/li&gt;<a name="line.419"></a>
<span class="sourceLineNo">420</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_GUID&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Not<a name="line.420"></a>
<span class="sourceLineNo">421</span>     *         supported.&lt;/li&gt;<a name="line.421"></a>
<span class="sourceLineNo">422</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_CAPTION&lt;/b&gt; String =&gt; The caption of the<a name="line.422"></a>
<span class="sourceLineNo">423</span>     *         dimension.&lt;/li&gt;<a name="line.423"></a>
<span class="sourceLineNo">424</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_ORDINAL&lt;/b&gt; int =&gt; The position of the dimension within<a name="line.424"></a>
<span class="sourceLineNo">425</span>     *         the cube.&lt;/li&gt;<a name="line.425"></a>
<span class="sourceLineNo">426</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_TYPE&lt;/b&gt; Short =&gt; The type of the dimension.&lt;/li&gt;<a name="line.426"></a>
<span class="sourceLineNo">427</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_CARDINALITY&lt;/b&gt; int =&gt; The number of members in the key<a name="line.427"></a>
<span class="sourceLineNo">428</span>     *         attribute.&lt;/li&gt;<a name="line.428"></a>
<span class="sourceLineNo">429</span>     * &lt;li&gt;&lt;b&gt;DEFAULT_HIERARCHY&lt;/b&gt; String =&gt; A hierarchy from the dimension.<a name="line.429"></a>
<span class="sourceLineNo">430</span>     *         Preserved for backwards compatibility.&lt;/li&gt;<a name="line.430"></a>
<span class="sourceLineNo">431</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.431"></a>
<span class="sourceLineNo">432</span>     *         user-friendly description of the dimension.&lt;/li&gt;<a name="line.432"></a>
<span class="sourceLineNo">433</span>     * &lt;li&gt;&lt;b&gt;IS_VIRTUAL&lt;/b&gt; boolean (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Always<a name="line.433"></a>
<span class="sourceLineNo">434</span>     *         FALSE.&lt;/li&gt;<a name="line.434"></a>
<span class="sourceLineNo">435</span>     * &lt;li&gt;&lt;b&gt;IS_READWRITE&lt;/b&gt; boolean (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A Boolean<a name="line.435"></a>
<span class="sourceLineNo">436</span>     *         that indicates whether the dimension is write-enabled.&lt;/li&gt;<a name="line.436"></a>
<span class="sourceLineNo">437</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_SETTINGS&lt;/b&gt; int (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.437"></a>
<span class="sourceLineNo">438</span>     *         bitmap that specifies which columns contain unique values if<a name="line.438"></a>
<span class="sourceLineNo">439</span>     *         the dimension contains only members with unique names.&lt;/li&gt;<a name="line.439"></a>
<span class="sourceLineNo">440</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_MASTER_UNIQUE_NAME&lt;/b&gt; String (may be<a name="line.440"></a>
<span class="sourceLineNo">441</span>     *         &lt;code&gt;null&lt;/code&gt;) =&gt; Always NULL.&lt;/li&gt;<a name="line.441"></a>
<span class="sourceLineNo">442</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_IS_VISIBLE&lt;/b&gt; boolean (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.442"></a>
<span class="sourceLineNo">443</span>     *         Always TRUE.&lt;/li&gt;<a name="line.443"></a>
<span class="sourceLineNo">444</span>     * &lt;/ol&gt;<a name="line.444"></a>
<span class="sourceLineNo">445</span>     *<a name="line.445"></a>
<span class="sourceLineNo">446</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.446"></a>
<span class="sourceLineNo">447</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.447"></a>
<span class="sourceLineNo">448</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.448"></a>
<span class="sourceLineNo">449</span>     *        to narrow the search<a name="line.449"></a>
<span class="sourceLineNo">450</span>     *<a name="line.450"></a>
<span class="sourceLineNo">451</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.451"></a>
<span class="sourceLineNo">452</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.452"></a>
<span class="sourceLineNo">453</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.453"></a>
<span class="sourceLineNo">454</span>     *        be used to narrow the search<a name="line.454"></a>
<span class="sourceLineNo">455</span>     *<a name="line.455"></a>
<span class="sourceLineNo">456</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.456"></a>
<span class="sourceLineNo">457</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.457"></a>
<span class="sourceLineNo">458</span>     *        without a cube (such as shared dimensions);<a name="line.458"></a>
<span class="sourceLineNo">459</span>     *        &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.459"></a>
<span class="sourceLineNo">460</span>     *        not be used to narrow the search<a name="line.460"></a>
<span class="sourceLineNo">461</span>     *<a name="line.461"></a>
<span class="sourceLineNo">462</span>     * @param dimensionNamePattern a dimension name pattern; must match the<a name="line.462"></a>
<span class="sourceLineNo">463</span>     *        dimension name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.463"></a>
<span class="sourceLineNo">464</span>     *        means that the dimension name should not be used to narrow the<a name="line.464"></a>
<span class="sourceLineNo">465</span>     *        search<a name="line.465"></a>
<span class="sourceLineNo">466</span>     *<a name="line.466"></a>
<span class="sourceLineNo">467</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.467"></a>
<span class="sourceLineNo">468</span>     *         dimension description<a name="line.468"></a>
<span class="sourceLineNo">469</span>     *<a name="line.469"></a>
<span class="sourceLineNo">470</span>     * @exception OlapException if a database access error occurs<a name="line.470"></a>
<span class="sourceLineNo">471</span>     *<a name="line.471"></a>
<span class="sourceLineNo">472</span>     * @see #getSearchStringEscape<a name="line.472"></a>
<span class="sourceLineNo">473</span>     * @see org.olap4j.metadata.Dimension<a name="line.473"></a>
<span class="sourceLineNo">474</span>     */<a name="line.474"></a>
<span class="sourceLineNo">475</span>    ResultSet getDimensions(<a name="line.475"></a>
<span class="sourceLineNo">476</span>        String catalog,<a name="line.476"></a>
<span class="sourceLineNo">477</span>        String schemaPattern,<a name="line.477"></a>
<span class="sourceLineNo">478</span>        String cubeNamePattern,<a name="line.478"></a>
<span class="sourceLineNo">479</span>        String dimensionNamePattern) throws OlapException;<a name="line.479"></a>
<span class="sourceLineNo">480</span><a name="line.480"></a>
<span class="sourceLineNo">481</span>    /**<a name="line.481"></a>
<span class="sourceLineNo">482</span>     * Retrieves a result set describing the Functions available to client<a name="line.482"></a>
<span class="sourceLineNo">483</span>     * applications connected to the database.<a name="line.483"></a>
<span class="sourceLineNo">484</span>     *<a name="line.484"></a>
<span class="sourceLineNo">485</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_FUNCTIONS schema rowset.<a name="line.485"></a>
<span class="sourceLineNo">486</span>     *<a name="line.486"></a>
<span class="sourceLineNo">487</span>     * &lt;p&gt;Each function description has the following columns:<a name="line.487"></a>
<span class="sourceLineNo">488</span>     * &lt;li&gt;&lt;b&gt;FUNCTION_NAME&lt;/b&gt; String =&gt; The name of the function.&lt;/li&gt;<a name="line.488"></a>
<span class="sourceLineNo">489</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.489"></a>
<span class="sourceLineNo">490</span>     *         description of the function.&lt;/li&gt;<a name="line.490"></a>
<span class="sourceLineNo">491</span>     * &lt;li&gt;&lt;b&gt;PARAMETER_LIST&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A comma<a name="line.491"></a>
<span class="sourceLineNo">492</span>     *         delimited list of parameters.&lt;/li&gt;<a name="line.492"></a>
<span class="sourceLineNo">493</span>     * &lt;li&gt;&lt;b&gt;RETURN_TYPE&lt;/b&gt; int =&gt; The VARTYPE of the return data type of the<a name="line.493"></a>
<span class="sourceLineNo">494</span>     *         function.&lt;/li&gt;<a name="line.494"></a>
<span class="sourceLineNo">495</span>     * &lt;li&gt;&lt;b&gt;ORIGIN&lt;/b&gt; int =&gt; The origin of the function:  1 for MDX<a name="line.495"></a>
<span class="sourceLineNo">496</span>     *         functions.  2 for user-defined functions.&lt;/li&gt;<a name="line.496"></a>
<span class="sourceLineNo">497</span>     * &lt;li&gt;&lt;b&gt;INTERFACE_NAME&lt;/b&gt; String =&gt; The name of the interface for<a name="line.497"></a>
<span class="sourceLineNo">498</span>     *         user-defined functions&lt;/li&gt;<a name="line.498"></a>
<span class="sourceLineNo">499</span>     * &lt;li&gt;&lt;b&gt;LIBRARY_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.499"></a>
<span class="sourceLineNo">500</span>     *         the type library for user-defined functions. NULL for MDX<a name="line.500"></a>
<span class="sourceLineNo">501</span>     *         functions.&lt;/li&gt;<a name="line.501"></a>
<span class="sourceLineNo">502</span>     * &lt;li&gt;&lt;b&gt;CAPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The display<a name="line.502"></a>
<span class="sourceLineNo">503</span>     *         caption for the function.&lt;/li&gt;<a name="line.503"></a>
<span class="sourceLineNo">504</span>     * &lt;/ol&gt;<a name="line.504"></a>
<span class="sourceLineNo">505</span>     *<a name="line.505"></a>
<span class="sourceLineNo">506</span>     * @param functionNamePattern a function name pattern; must match the<a name="line.506"></a>
<span class="sourceLineNo">507</span>     *        function name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.507"></a>
<span class="sourceLineNo">508</span>     *        means that the function name should not be used to narrow the<a name="line.508"></a>
<span class="sourceLineNo">509</span>     *        search<a name="line.509"></a>
<span class="sourceLineNo">510</span>     *<a name="line.510"></a>
<span class="sourceLineNo">511</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.511"></a>
<span class="sourceLineNo">512</span>     *         function description<a name="line.512"></a>
<span class="sourceLineNo">513</span>     *<a name="line.513"></a>
<span class="sourceLineNo">514</span>     * @exception OlapException if a database access error occurs<a name="line.514"></a>
<span class="sourceLineNo">515</span>     *<a name="line.515"></a>
<span class="sourceLineNo">516</span>     * @see #getSearchStringEscape<a name="line.516"></a>
<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
<span class="sourceLineNo">518</span>    // NOTE: '#getFunctions(String, String, String)' above generates a javadoc<a name="line.518"></a>
<span class="sourceLineNo">519</span>    // error on JDK 1.5, because it is new in JDBC 4.0/JDK 1.6. But please leave<a name="line.519"></a>
<span class="sourceLineNo">520</span>    // it in. Most olap4j users run on JDK 1.6 or later, and the javadoc is<a name="line.520"></a>
<span class="sourceLineNo">521</span>    // intended for them.<a name="line.521"></a>
<span class="sourceLineNo">522</span>    ResultSet getOlapFunctions(<a name="line.522"></a>
<span class="sourceLineNo">523</span>        String functionNamePattern) throws OlapException;<a name="line.523"></a>
<span class="sourceLineNo">524</span><a name="line.524"></a>
<span class="sourceLineNo">525</span>    /**<a name="line.525"></a>
<span class="sourceLineNo">526</span>     * Retrieves a result set describing the Hierarchies in this database.<a name="line.526"></a>
<span class="sourceLineNo">527</span>     *<a name="line.527"></a>
<span class="sourceLineNo">528</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_HIERARCHIES schema rowset.<a name="line.528"></a>
<span class="sourceLineNo">529</span>     *<a name="line.529"></a>
<span class="sourceLineNo">530</span>     * &lt;p&gt;Each hierarchy description has the following columns:<a name="line.530"></a>
<span class="sourceLineNo">531</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.531"></a>
<span class="sourceLineNo">532</span>     *         the catalog to which this hierarchy belongs.&lt;/li&gt;<a name="line.532"></a>
<span class="sourceLineNo">533</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Not<a name="line.533"></a>
<span class="sourceLineNo">534</span>     *         supported&lt;/li&gt;<a name="line.534"></a>
<span class="sourceLineNo">535</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube to which this<a name="line.535"></a>
<span class="sourceLineNo">536</span>     *         hierarchy belongs.&lt;/li&gt;<a name="line.536"></a>
<span class="sourceLineNo">537</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.537"></a>
<span class="sourceLineNo">538</span>     *         dimension to which this hierarchy belongs. &lt;/li&gt;<a name="line.538"></a>
<span class="sourceLineNo">539</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_NAME&lt;/b&gt; String =&gt; The name of the hierarchy. Blank if<a name="line.539"></a>
<span class="sourceLineNo">540</span>     *         there is only a single hierarchy in the dimension.&lt;/li&gt;<a name="line.540"></a>
<span class="sourceLineNo">541</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.541"></a>
<span class="sourceLineNo">542</span>     *         hierarchy.&lt;/li&gt;<a name="line.542"></a>
<span class="sourceLineNo">543</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_GUID&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Hierarchy<a name="line.543"></a>
<span class="sourceLineNo">544</span>     *         GUID.&lt;/li&gt;<a name="line.544"></a>
<span class="sourceLineNo">545</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_CAPTION&lt;/b&gt; String =&gt; A label or a caption associated<a name="line.545"></a>
<span class="sourceLineNo">546</span>     *         with the hierarchy.&lt;/li&gt;<a name="line.546"></a>
<span class="sourceLineNo">547</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_TYPE&lt;/b&gt; Short =&gt; The type of the dimension. &lt;/li&gt;<a name="line.547"></a>
<span class="sourceLineNo">548</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_CARDINALITY&lt;/b&gt; int =&gt; The number of members in the<a name="line.548"></a>
<span class="sourceLineNo">549</span>     *         hierarchy.&lt;/li&gt;<a name="line.549"></a>
<span class="sourceLineNo">550</span>     * &lt;li&gt;&lt;b&gt;DEFAULT_MEMBER&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The<a name="line.550"></a>
<span class="sourceLineNo">551</span>     *         default member for this hierarchy. &lt;/li&gt;<a name="line.551"></a>
<span class="sourceLineNo">552</span>     * &lt;li&gt;&lt;b&gt;ALL_MEMBER&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The member at<a name="line.552"></a>
<span class="sourceLineNo">553</span>     *         the highest level of rollup in the hierarchy.&lt;/li&gt;<a name="line.553"></a>
<span class="sourceLineNo">554</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.554"></a>
<span class="sourceLineNo">555</span>     *         human-readable description of the hierarchy. NULL if no<a name="line.555"></a>
<span class="sourceLineNo">556</span>     *         description exists.&lt;/li&gt;<a name="line.556"></a>
<span class="sourceLineNo">557</span>     * &lt;li&gt;&lt;b&gt;STRUCTURE&lt;/b&gt; Short =&gt; The structure of the hierarchy.&lt;/li&gt;<a name="line.557"></a>
<span class="sourceLineNo">558</span>     * &lt;li&gt;&lt;b&gt;IS_VIRTUAL&lt;/b&gt; boolean =&gt; Always returns False.&lt;/li&gt;<a name="line.558"></a>
<span class="sourceLineNo">559</span>     * &lt;li&gt;&lt;b&gt;IS_READWRITE&lt;/b&gt; boolean =&gt; A Boolean that indicates whether the<a name="line.559"></a>
<span class="sourceLineNo">560</span>     *         Write Back to dimension column is enabled.&lt;/li&gt;<a name="line.560"></a>
<span class="sourceLineNo">561</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_SETTINGS&lt;/b&gt; int =&gt; Always returns<a name="line.561"></a>
<span class="sourceLineNo">562</span>     *         MDDIMENSIONS_MEMBER_KEY_UNIQUE (1).&lt;/li&gt;<a name="line.562"></a>
<span class="sourceLineNo">563</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_IS_VISIBLE&lt;/b&gt; boolean =&gt; Always returns true.&lt;/li&gt;<a name="line.563"></a>
<span class="sourceLineNo">564</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_ORDINAL&lt;/b&gt; int =&gt; The ordinal number of the hierarchy<a name="line.564"></a>
<span class="sourceLineNo">565</span>     *         across all hierarchies of the cube.&lt;/li&gt;<a name="line.565"></a>
<span class="sourceLineNo">566</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_IS_SHARED&lt;/b&gt; boolean =&gt; Always returns true.&lt;/li&gt;<a name="line.566"></a>
<span class="sourceLineNo">567</span>     * &lt;li&gt;&lt;b&gt;PARENT_CHILD&lt;/b&gt; boolean (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Is<a name="line.567"></a>
<span class="sourceLineNo">568</span>     *         hierarchy a parent.&lt;/li&gt;<a name="line.568"></a>
<span class="sourceLineNo">569</span>     * &lt;/ol&gt;<a name="line.569"></a>
<span class="sourceLineNo">570</span>     *<a name="line.570"></a>
<span class="sourceLineNo">571</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.571"></a>
<span class="sourceLineNo">572</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.572"></a>
<span class="sourceLineNo">573</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.573"></a>
<span class="sourceLineNo">574</span>     *        to narrow the search<a name="line.574"></a>
<span class="sourceLineNo">575</span>     *<a name="line.575"></a>
<span class="sourceLineNo">576</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.576"></a>
<span class="sourceLineNo">577</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.577"></a>
<span class="sourceLineNo">578</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.578"></a>
<span class="sourceLineNo">579</span>     *        be used to narrow the search<a name="line.579"></a>
<span class="sourceLineNo">580</span>     *<a name="line.580"></a>
<span class="sourceLineNo">581</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.581"></a>
<span class="sourceLineNo">582</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.582"></a>
<span class="sourceLineNo">583</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.583"></a>
<span class="sourceLineNo">584</span>     *        not be used to narrow the search<a name="line.584"></a>
<span class="sourceLineNo">585</span>     *<a name="line.585"></a>
<span class="sourceLineNo">586</span>     * @param dimensionUniqueName unique name of a dimension (not a pattern);<a name="line.586"></a>
<span class="sourceLineNo">587</span>     *        must match the<a name="line.587"></a>
<span class="sourceLineNo">588</span>     *        dimension name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.588"></a>
<span class="sourceLineNo">589</span>     *        means that the dimension name should not be used to narrow the<a name="line.589"></a>
<span class="sourceLineNo">590</span>     *        search<a name="line.590"></a>
<span class="sourceLineNo">591</span>     *<a name="line.591"></a>
<span class="sourceLineNo">592</span>     * @param hierarchyNamePattern a hierarchy name pattern; must match the<a name="line.592"></a>
<span class="sourceLineNo">593</span>     *        hierarchy name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.593"></a>
<span class="sourceLineNo">594</span>     *        means that the hierarchy name should not be used to narrow the<a name="line.594"></a>
<span class="sourceLineNo">595</span>     *        search<a name="line.595"></a>
<span class="sourceLineNo">596</span>     *<a name="line.596"></a>
<span class="sourceLineNo">597</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.597"></a>
<span class="sourceLineNo">598</span>     *         hierarchy description<a name="line.598"></a>
<span class="sourceLineNo">599</span>     *<a name="line.599"></a>
<span class="sourceLineNo">600</span>     * @exception OlapException if a database access error occurs<a name="line.600"></a>
<span class="sourceLineNo">601</span>     *<a name="line.601"></a>
<span class="sourceLineNo">602</span>     * @see #getSearchStringEscape<a name="line.602"></a>
<span class="sourceLineNo">603</span>     * @see org.olap4j.metadata.Hierarchy<a name="line.603"></a>
<span class="sourceLineNo">604</span>     */<a name="line.604"></a>
<span class="sourceLineNo">605</span>    ResultSet getHierarchies(<a name="line.605"></a>
<span class="sourceLineNo">606</span>        String catalog,<a name="line.606"></a>
<span class="sourceLineNo">607</span>        String schemaPattern,<a name="line.607"></a>
<span class="sourceLineNo">608</span>        String cubeNamePattern,<a name="line.608"></a>
<span class="sourceLineNo">609</span>        String dimensionUniqueName,<a name="line.609"></a>
<span class="sourceLineNo">610</span>        String hierarchyNamePattern) throws OlapException;<a name="line.610"></a>
<span class="sourceLineNo">611</span><a name="line.611"></a>
<span class="sourceLineNo">612</span>    /**<a name="line.612"></a>
<span class="sourceLineNo">613</span>     * Retrieves a result set describing the Levels in this database.<a name="line.613"></a>
<span class="sourceLineNo">614</span>     *<a name="line.614"></a>
<span class="sourceLineNo">615</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_LEVELS schema rowset.<a name="line.615"></a>
<span class="sourceLineNo">616</span>     *<a name="line.616"></a>
<span class="sourceLineNo">617</span>     * &lt;p&gt;Each level description has the following columns:<a name="line.617"></a>
<span class="sourceLineNo">618</span>     * &lt;ol&gt;<a name="line.618"></a>
<span class="sourceLineNo">619</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.619"></a>
<span class="sourceLineNo">620</span>     *         the catalog to which this level belongs.&lt;/li&gt;<a name="line.620"></a>
<span class="sourceLineNo">621</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.621"></a>
<span class="sourceLineNo">622</span>     *         the schema to which this level belongs.&lt;/li&gt;<a name="line.622"></a>
<span class="sourceLineNo">623</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube to which this level<a name="line.623"></a>
<span class="sourceLineNo">624</span>     *         belongs.&lt;/li&gt;<a name="line.624"></a>
<span class="sourceLineNo">625</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.625"></a>
<span class="sourceLineNo">626</span>     *         dimension to which this level belongs.&lt;/li&gt;<a name="line.626"></a>
<span class="sourceLineNo">627</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_UNIQUE_NAME&lt;/b&gt; String =&gt; The unique name of the<a name="line.627"></a>
<span class="sourceLineNo">628</span>     *         hierarchy.&lt;/li&gt;<a name="line.628"></a>
<span class="sourceLineNo">629</span>     * &lt;li&gt;&lt;b&gt;LEVEL_NAME&lt;/b&gt; String =&gt; The name of the level.&lt;/li&gt;<a name="line.629"></a>
<span class="sourceLineNo">630</span>     * &lt;li&gt;&lt;b&gt;LEVEL_UNIQUE_NAME&lt;/b&gt; String =&gt; The properly escaped unique name<a name="line.630"></a>
<span class="sourceLineNo">631</span>     *         of the level.&lt;/li&gt;<a name="line.631"></a>
<span class="sourceLineNo">632</span>     * &lt;li&gt;&lt;b&gt;LEVEL_GUID&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Level<a name="line.632"></a>
<span class="sourceLineNo">633</span>     *         GUID.&lt;/li&gt;<a name="line.633"></a>
<span class="sourceLineNo">634</span>     * &lt;li&gt;&lt;b&gt;LEVEL_CAPTION&lt;/b&gt; String =&gt; A label or caption associated with<a name="line.634"></a>
<span class="sourceLineNo">635</span>     *         the hierarchy.&lt;/li&gt;<a name="line.635"></a>
<span class="sourceLineNo">636</span>     * &lt;li&gt;&lt;b&gt;LEVEL_NUMBER&lt;/b&gt; int =&gt; The distance of the level from the root<a name="line.636"></a>
<span class="sourceLineNo">637</span>     *         of the hierarchy. Root level is zero (0).&lt;/li&gt;<a name="line.637"></a>
<span class="sourceLineNo">638</span>     * &lt;li&gt;&lt;b&gt;LEVEL_CARDINALITY&lt;/b&gt; int =&gt; The number of members in the level.<a name="line.638"></a>
<span class="sourceLineNo">639</span>     *         This value can be an approximation of the real<a name="line.639"></a>
<span class="sourceLineNo">640</span>     *         cardinality.&lt;/li&gt;<a name="line.640"></a>
<span class="sourceLineNo">641</span>     * &lt;li&gt;&lt;b&gt;LEVEL_TYPE&lt;/b&gt; int =&gt; Type of the level&lt;/li&gt;<a name="line.641"></a>
<span class="sourceLineNo">642</span>     * &lt;li&gt;&lt;b&gt;CUSTOM_ROLLUP_SETTINGS&lt;/b&gt; int =&gt; A bitmap that specifies the<a name="line.642"></a>
<span class="sourceLineNo">643</span>     *         custom rollup options.&lt;/li&gt;<a name="line.643"></a>
<span class="sourceLineNo">644</span>     * &lt;li&gt;&lt;b&gt;LEVEL_UNIQUE_SETTINGS&lt;/b&gt; int =&gt; A bitmap that specifies which<a name="line.644"></a>
<span class="sourceLineNo">645</span>     *         columns contain unique values, if the level only has members<a name="line.645"></a>
<span class="sourceLineNo">646</span>     *         with unique names or keys.&lt;/li&gt;<a name="line.646"></a>
<span class="sourceLineNo">647</span>     * &lt;li&gt;&lt;b&gt;LEVEL_IS_VISIBLE&lt;/b&gt; boolean =&gt; A Boolean that indicates whether<a name="line.647"></a>
<span class="sourceLineNo">648</span>     *         the level is visible.&lt;/li&gt;<a name="line.648"></a>
<span class="sourceLineNo">649</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.649"></a>
<span class="sourceLineNo">650</span>     *         human-readable description of the level. NULL if no<a name="line.650"></a>
<span class="sourceLineNo">651</span>     *         description exists.&lt;/li&gt;<a name="line.651"></a>
<span class="sourceLineNo">652</span>     * &lt;/ol&gt;<a name="line.652"></a>
<span class="sourceLineNo">653</span>     *<a name="line.653"></a>
<span class="sourceLineNo">654</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.654"></a>
<span class="sourceLineNo">655</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.655"></a>
<span class="sourceLineNo">656</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.656"></a>
<span class="sourceLineNo">657</span>     *        to narrow the search<a name="line.657"></a>
<span class="sourceLineNo">658</span>     *<a name="line.658"></a>
<span class="sourceLineNo">659</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.659"></a>
<span class="sourceLineNo">660</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.660"></a>
<span class="sourceLineNo">661</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.661"></a>
<span class="sourceLineNo">662</span>     *        be used to narrow the search<a name="line.662"></a>
<span class="sourceLineNo">663</span>     *<a name="line.663"></a>
<span class="sourceLineNo">664</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.664"></a>
<span class="sourceLineNo">665</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.665"></a>
<span class="sourceLineNo">666</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.666"></a>
<span class="sourceLineNo">667</span>     *        not be used to narrow the search<a name="line.667"></a>
<span class="sourceLineNo">668</span>     *<a name="line.668"></a>
<span class="sourceLineNo">669</span>     * @param dimensionUniqueName unique name of a dimension (not a pattern);<a name="line.669"></a>
<span class="sourceLineNo">670</span>     *        must match the<a name="line.670"></a>
<span class="sourceLineNo">671</span>     *        dimension name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.671"></a>
<span class="sourceLineNo">672</span>     *        means that the dimension name should not be used to narrow the<a name="line.672"></a>
<span class="sourceLineNo">673</span>     *        search<a name="line.673"></a>
<span class="sourceLineNo">674</span>     *<a name="line.674"></a>
<span class="sourceLineNo">675</span>     * @param hierarchyUniqueName unique name of a hierarchy (not a pattern);<a name="line.675"></a>
<span class="sourceLineNo">676</span>     *        must match the<a name="line.676"></a>
<span class="sourceLineNo">677</span>     *        hierarchy name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.677"></a>
<span class="sourceLineNo">678</span>     *        means that the hierarchy name should not be used to narrow the<a name="line.678"></a>
<span class="sourceLineNo">679</span>     *        search<a name="line.679"></a>
<span class="sourceLineNo">680</span>     *<a name="line.680"></a>
<span class="sourceLineNo">681</span>     * @param levelNamePattern a level name pattern; must match the<a name="line.681"></a>
<span class="sourceLineNo">682</span>     *        level name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.682"></a>
<span class="sourceLineNo">683</span>     *        means that the level name should not be used to narrow the<a name="line.683"></a>
<span class="sourceLineNo">684</span>     *        search<a name="line.684"></a>
<span class="sourceLineNo">685</span>     *<a name="line.685"></a>
<span class="sourceLineNo">686</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.686"></a>
<span class="sourceLineNo">687</span>     *         level description<a name="line.687"></a>
<span class="sourceLineNo">688</span>     *<a name="line.688"></a>
<span class="sourceLineNo">689</span>     * @exception OlapException if a database access error occurs<a name="line.689"></a>
<span class="sourceLineNo">690</span>     *<a name="line.690"></a>
<span class="sourceLineNo">691</span>     * @see #getSearchStringEscape<a name="line.691"></a>
<span class="sourceLineNo">692</span>     * @see org.olap4j.metadata.Level<a name="line.692"></a>
<span class="sourceLineNo">693</span>     */<a name="line.693"></a>
<span class="sourceLineNo">694</span>    ResultSet getLevels(<a name="line.694"></a>
<span class="sourceLineNo">695</span>        String catalog,<a name="line.695"></a>
<span class="sourceLineNo">696</span>        String schemaPattern,<a name="line.696"></a>
<span class="sourceLineNo">697</span>        String cubeNamePattern,<a name="line.697"></a>
<span class="sourceLineNo">698</span>        String dimensionUniqueName,<a name="line.698"></a>
<span class="sourceLineNo">699</span>        String hierarchyUniqueName,<a name="line.699"></a>
<span class="sourceLineNo">700</span>        String levelNamePattern) throws OlapException;<a name="line.700"></a>
<span class="sourceLineNo">701</span><a name="line.701"></a>
<span class="sourceLineNo">702</span>    /**<a name="line.702"></a>
<span class="sourceLineNo">703</span>     * Retrieves a result set describing the Measures in this database.<a name="line.703"></a>
<span class="sourceLineNo">704</span>     *<a name="line.704"></a>
<span class="sourceLineNo">705</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_MEASURES schema rowset.<a name="line.705"></a>
<span class="sourceLineNo">706</span>     *<a name="line.706"></a>
<span class="sourceLineNo">707</span>     * &lt;p&gt;Each measure description has the following columns:<a name="line.707"></a>
<span class="sourceLineNo">708</span>     * &lt;ol&gt;<a name="line.708"></a>
<span class="sourceLineNo">709</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.709"></a>
<span class="sourceLineNo">710</span>     *         the catalog to which this measure belongs. &lt;/li&gt;<a name="line.710"></a>
<span class="sourceLineNo">711</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.711"></a>
<span class="sourceLineNo">712</span>     *         the schema to which this measure belongs.&lt;/li&gt;<a name="line.712"></a>
<span class="sourceLineNo">713</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; The name of the cube to which this<a name="line.713"></a>
<span class="sourceLineNo">714</span>     *         measure belongs.&lt;/li&gt;<a name="line.714"></a>
<span class="sourceLineNo">715</span>     * &lt;li&gt;&lt;b&gt;MEASURE_NAME&lt;/b&gt; String =&gt; The name of the measure.&lt;/li&gt;<a name="line.715"></a>
<span class="sourceLineNo">716</span>     * &lt;li&gt;&lt;b&gt;MEASURE_UNIQUE_NAME&lt;/b&gt; String =&gt; The Unique name of the<a name="line.716"></a>
<span class="sourceLineNo">717</span>     *         measure.&lt;/li&gt;<a name="line.717"></a>
<span class="sourceLineNo">718</span>     * &lt;li&gt;&lt;b&gt;MEASURE_CAPTION&lt;/b&gt; String =&gt; A label or caption associated with<a name="line.718"></a>
<span class="sourceLineNo">719</span>     *         the measure. &lt;/li&gt;<a name="line.719"></a>
<span class="sourceLineNo">720</span>     * &lt;li&gt;&lt;b&gt;MEASURE_GUID&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Measure<a name="line.720"></a>
<span class="sourceLineNo">721</span>     *         GUID.&lt;/li&gt;<a name="line.721"></a>
<span class="sourceLineNo">722</span>     * &lt;li&gt;&lt;b&gt;MEASURE_AGGREGATOR&lt;/b&gt; int =&gt; How a measure was derived. &lt;/li&gt;<a name="line.722"></a>
<span class="sourceLineNo">723</span>     * &lt;li&gt;&lt;b&gt;DATA_TYPE&lt;/b&gt; UnsignedShort =&gt; Data type of the measure.&lt;/li&gt;<a name="line.723"></a>
<span class="sourceLineNo">724</span>     * &lt;li&gt;&lt;b&gt;MEASURE_IS_VISIBLE&lt;/b&gt; boolean =&gt; A Boolean that always returns<a name="line.724"></a>
<span class="sourceLineNo">725</span>     *         True. If the measure is not visible, it will not be included<a name="line.725"></a>
<span class="sourceLineNo">726</span>     *         in the schema rowset.&lt;/li&gt;<a name="line.726"></a>
<span class="sourceLineNo">727</span>     * &lt;li&gt;&lt;b&gt;LEVELS_LIST&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A string<a name="line.727"></a>
<span class="sourceLineNo">728</span>     *         that always returns NULL. EXCEPT that SQL Server returns<a name="line.728"></a>
<span class="sourceLineNo">729</span>     *         non-null values!!!&lt;/li&gt;<a name="line.729"></a>
<span class="sourceLineNo">730</span>     * &lt;li&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; A<a name="line.730"></a>
<span class="sourceLineNo">731</span>     *         human-readable description of the measure. &lt;/li&gt;<a name="line.731"></a>
<span class="sourceLineNo">732</span>     * &lt;/ol&gt;<a name="line.732"></a>
<span class="sourceLineNo">733</span>     *<a name="line.733"></a>
<span class="sourceLineNo">734</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.734"></a>
<span class="sourceLineNo">735</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.735"></a>
<span class="sourceLineNo">736</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.736"></a>
<span class="sourceLineNo">737</span>     *        to narrow the search<a name="line.737"></a>
<span class="sourceLineNo">738</span>     *<a name="line.738"></a>
<span class="sourceLineNo">739</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.739"></a>
<span class="sourceLineNo">740</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.740"></a>
<span class="sourceLineNo">741</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.741"></a>
<span class="sourceLineNo">742</span>     *        be used to narrow the search<a name="line.742"></a>
<span class="sourceLineNo">743</span>     *<a name="line.743"></a>
<span class="sourceLineNo">744</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.744"></a>
<span class="sourceLineNo">745</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.745"></a>
<span class="sourceLineNo">746</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.746"></a>
<span class="sourceLineNo">747</span>     *        not be used to narrow the search<a name="line.747"></a>
<span class="sourceLineNo">748</span>     *<a name="line.748"></a>
<span class="sourceLineNo">749</span>     * @param measureNamePattern a measure name pattern; must match the<a name="line.749"></a>
<span class="sourceLineNo">750</span>     *        measure name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.750"></a>
<span class="sourceLineNo">751</span>     *        means that the measure name should not be used to narrow the<a name="line.751"></a>
<span class="sourceLineNo">752</span>     *        search<a name="line.752"></a>
<span class="sourceLineNo">753</span>     *<a name="line.753"></a>
<span class="sourceLineNo">754</span>     * @param measureUniqueName unique name of measure (not a pattern);<a name="line.754"></a>
<span class="sourceLineNo">755</span>     *        &lt;code&gt;null&lt;/code&gt; means that the measure unique name should not<a name="line.755"></a>
<span class="sourceLineNo">756</span>     *        be used to narrow the search<a name="line.756"></a>
<span class="sourceLineNo">757</span>     *<a name="line.757"></a>
<span class="sourceLineNo">758</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.758"></a>
<span class="sourceLineNo">759</span>     *         measure description<a name="line.759"></a>
<span class="sourceLineNo">760</span>     *<a name="line.760"></a>
<span class="sourceLineNo">761</span>     * @exception OlapException if a database access error occurs<a name="line.761"></a>
<span class="sourceLineNo">762</span>     *<a name="line.762"></a>
<span class="sourceLineNo">763</span>     * @see #getSearchStringEscape<a name="line.763"></a>
<span class="sourceLineNo">764</span>     * @see org.olap4j.metadata.Measure<a name="line.764"></a>
<span class="sourceLineNo">765</span>     */<a name="line.765"></a>
<span class="sourceLineNo">766</span>    ResultSet getMeasures(<a name="line.766"></a>
<span class="sourceLineNo">767</span>        String catalog,<a name="line.767"></a>
<span class="sourceLineNo">768</span>        String schemaPattern,<a name="line.768"></a>
<span class="sourceLineNo">769</span>        String cubeNamePattern,<a name="line.769"></a>
<span class="sourceLineNo">770</span>        String measureNamePattern,<a name="line.770"></a>
<span class="sourceLineNo">771</span>        String measureUniqueName) throws OlapException;<a name="line.771"></a>
<span class="sourceLineNo">772</span><a name="line.772"></a>
<span class="sourceLineNo">773</span>    /**<a name="line.773"></a>
<span class="sourceLineNo">774</span>     * Retrieves a result set describing the Members in this database.<a name="line.774"></a>
<span class="sourceLineNo">775</span>     *<a name="line.775"></a>
<span class="sourceLineNo">776</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_MEMBERS schema rowset. Rows<a name="line.776"></a>
<span class="sourceLineNo">777</span>     * are sorted by level number then by ordinal.<a name="line.777"></a>
<span class="sourceLineNo">778</span>     *<a name="line.778"></a>
<span class="sourceLineNo">779</span>     * &lt;p&gt;The &lt;code&gt;treeOps&lt;/code&gt; parameter allows you to retrieve members<a name="line.779"></a>
<span class="sourceLineNo">780</span>     * relative to a given member. It is only applicable if a<a name="line.780"></a>
<span class="sourceLineNo">781</span>     * &lt;code&gt;memberUniqueName&lt;/code&gt; is also specified; otherwise it is<a name="line.781"></a>
<span class="sourceLineNo">782</span>     * ignored. The following example retrieves all descendants and ancestors<a name="line.782"></a>
<span class="sourceLineNo">783</span>     * of California, but not California itself:<a name="line.783"></a>
<span class="sourceLineNo">784</span>     *<a name="line.784"></a>
<span class="sourceLineNo">785</span>     * &lt;blockquote&gt;<a name="line.785"></a>
<span class="sourceLineNo">786</span>     * &lt;pre&gt;<a name="line.786"></a>
<span class="sourceLineNo">787</span>     * OlapDatabaseMetaData metaData;<a name="line.787"></a>
<span class="sourceLineNo">788</span>     * ResultSet rset = metaData.getMembers(<a name="line.788"></a>
<span class="sourceLineNo">789</span>     *     "LOCALDB", "FoodMart", "Sales", null, null, null,<a name="line.789"></a>
<span class="sourceLineNo">790</span>     *     "[Customers].[USA].[CA]",<a name="line.790"></a>
<span class="sourceLineNo">791</span>     *     EnumSet.of(Member.TreeOp.ANCESTORS, Member.TreeOp.DESCENDANTS));<a name="line.791"></a>
<span class="sourceLineNo">792</span>     * &lt;/pre&gt;<a name="line.792"></a>
<span class="sourceLineNo">793</span>     * &lt;/blockquote&gt;<a name="line.793"></a>
<span class="sourceLineNo">794</span>     *<a name="line.794"></a>
<span class="sourceLineNo">795</span>     * &lt;p&gt;Each member description has the following columns:<a name="line.795"></a>
<span class="sourceLineNo">796</span>     * &lt;ol&gt;<a name="line.796"></a>
<span class="sourceLineNo">797</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.797"></a>
<span class="sourceLineNo">798</span>     *         the catalog to which this member belongs. &lt;/li&gt;<a name="line.798"></a>
<span class="sourceLineNo">799</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; The name of<a name="line.799"></a>
<span class="sourceLineNo">800</span>     *         the schema to which this member belongs. &lt;/li&gt;<a name="line.800"></a>
<span class="sourceLineNo">801</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; Name of the cube to which this member<a name="line.801"></a>
<span class="sourceLineNo">802</span>     *         belongs.&lt;/li&gt;<a name="line.802"></a>
<span class="sourceLineNo">803</span>     * &lt;li&gt;&lt;b&gt;DIMENSION_UNIQUE_NAME&lt;/b&gt; String =&gt; Unique name of the dimension<a name="line.803"></a>
<span class="sourceLineNo">804</span>     *         to which this member belongs. &lt;/li&gt;<a name="line.804"></a>
<span class="sourceLineNo">805</span>     * &lt;li&gt;&lt;b&gt;HIERARCHY_UNIQUE_NAME&lt;/b&gt; String =&gt; Unique name of the hierarchy.<a name="line.805"></a>
<span class="sourceLineNo">806</span>     *         If the member belongs to more than one hierarchy, there is one<a name="line.806"></a>
<span class="sourceLineNo">807</span>     *         row for each hierarchy to which it belongs.&lt;/li&gt;<a name="line.807"></a>
<span class="sourceLineNo">808</span>     * &lt;li&gt;&lt;b&gt;LEVEL_UNIQUE_NAME&lt;/b&gt; String =&gt;  Unique name of the level to<a name="line.808"></a>
<span class="sourceLineNo">809</span>     *         which the member belongs.&lt;/li&gt;<a name="line.809"></a>
<span class="sourceLineNo">810</span>     * &lt;li&gt;&lt;b&gt;LEVEL_NUMBER&lt;/b&gt; int =&gt; The distance of the member from the root<a name="line.810"></a>
<span class="sourceLineNo">811</span>     *         of the hierarchy.&lt;/li&gt;<a name="line.811"></a>
<span class="sourceLineNo">812</span>     * &lt;li&gt;&lt;b&gt;MEMBER_ORDINAL&lt;/b&gt; int =&gt; Ordinal number of the member. Sort rank<a name="line.812"></a>
<span class="sourceLineNo">813</span>     *         of the member when members of this dimension are sorted in<a name="line.813"></a>
<span class="sourceLineNo">814</span>     *         their natural sort order. If providers do not have the concept<a name="line.814"></a>
<span class="sourceLineNo">815</span>     *         of natural ordering, this should be the rank when sorted by<a name="line.815"></a>
<span class="sourceLineNo">816</span>     *         MEMBER_NAME.&lt;/li&gt;<a name="line.816"></a>
<span class="sourceLineNo">817</span>     * &lt;li&gt;&lt;b&gt;MEMBER_NAME&lt;/b&gt; String =&gt; Name of the member.&lt;/li&gt;<a name="line.817"></a>
<span class="sourceLineNo">818</span>     * &lt;li&gt;&lt;b&gt;MEMBER_UNIQUE_NAME&lt;/b&gt; String =&gt;  Unique name of the member.&lt;/li&gt;<a name="line.818"></a>
<span class="sourceLineNo">819</span>     * &lt;li&gt;&lt;b&gt;MEMBER_TYPE&lt;/b&gt; int =&gt; Type of the member.&lt;/li&gt;<a name="line.819"></a>
<span class="sourceLineNo">820</span>     * &lt;li&gt;&lt;b&gt;MEMBER_GUID&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Memeber<a name="line.820"></a>
<span class="sourceLineNo">821</span>     *         GUID.&lt;/li&gt;<a name="line.821"></a>
<span class="sourceLineNo">822</span>     * &lt;li&gt;&lt;b&gt;MEMBER_CAPTION&lt;/b&gt; String =&gt; A label or caption associated with<a name="line.822"></a>
<span class="sourceLineNo">823</span>     *         the member.&lt;/li&gt;<a name="line.823"></a>
<span class="sourceLineNo">824</span>     * &lt;li&gt;&lt;b&gt;CHILDREN_CARDINALITY&lt;/b&gt; int =&gt; Number of children that the<a name="line.824"></a>
<span class="sourceLineNo">825</span>     *         member has.&lt;/li&gt;<a name="line.825"></a>
<span class="sourceLineNo">826</span>     * &lt;li&gt;&lt;b&gt;PARENT_LEVEL&lt;/b&gt; int =&gt; The distance of the member's parent from<a name="line.826"></a>
<span class="sourceLineNo">827</span>     *         the root level of the hierarchy. &lt;/li&gt;<a name="line.827"></a>
<span class="sourceLineNo">828</span>     * &lt;li&gt;&lt;b&gt;PARENT_UNIQUE_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt;<a name="line.828"></a>
<span class="sourceLineNo">829</span>     *         Unique name of the member's parent.&lt;/li&gt;<a name="line.829"></a>
<span class="sourceLineNo">830</span>     * &lt;li&gt;&lt;b&gt;PARENT_COUNT&lt;/b&gt; int =&gt; Number of parents that this member<a name="line.830"></a>
<span class="sourceLineNo">831</span>     *         has.&lt;/li&gt;<a name="line.831"></a>
<span class="sourceLineNo">832</span>     * &lt;li&gt;&lt;b&gt;TREE_OP&lt;/b&gt; Enumeration (may be &lt;code&gt;null&lt;/code&gt;) =&gt; Tree<a name="line.832"></a>
<span class="sourceLineNo">833</span>     *         Operation&lt;/li&gt;<a name="line.833"></a>
<span class="sourceLineNo">834</span>     * &lt;li&gt;&lt;b&gt;DEPTH&lt;/b&gt; int (may be &lt;code&gt;null&lt;/code&gt;) =&gt; depth&lt;/li&gt;<a name="line.834"></a>
<span class="sourceLineNo">835</span>     * &lt;/ol&gt;<a name="line.835"></a>
<span class="sourceLineNo">836</span>     *<a name="line.836"></a>
<span class="sourceLineNo">837</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.837"></a>
<span class="sourceLineNo">838</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.838"></a>
<span class="sourceLineNo">839</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.839"></a>
<span class="sourceLineNo">840</span>     *        to narrow the search<a name="line.840"></a>
<span class="sourceLineNo">841</span>     *<a name="line.841"></a>
<span class="sourceLineNo">842</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.842"></a>
<span class="sourceLineNo">843</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.843"></a>
<span class="sourceLineNo">844</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.844"></a>
<span class="sourceLineNo">845</span>     *        be used to narrow the search<a name="line.845"></a>
<span class="sourceLineNo">846</span>     *<a name="line.846"></a>
<span class="sourceLineNo">847</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.847"></a>
<span class="sourceLineNo">848</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.848"></a>
<span class="sourceLineNo">849</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.849"></a>
<span class="sourceLineNo">850</span>     *        not be used to narrow the search<a name="line.850"></a>
<span class="sourceLineNo">851</span>     *<a name="line.851"></a>
<span class="sourceLineNo">852</span>     * @param dimensionUniqueName unique name of dimension (not a pattern);<a name="line.852"></a>
<span class="sourceLineNo">853</span>     *        must match the<a name="line.853"></a>
<span class="sourceLineNo">854</span>     *        dimension name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.854"></a>
<span class="sourceLineNo">855</span>     *        means that the dimension name should not be used to narrow the<a name="line.855"></a>
<span class="sourceLineNo">856</span>     *        search<a name="line.856"></a>
<span class="sourceLineNo">857</span>     *<a name="line.857"></a>
<span class="sourceLineNo">858</span>     * @param hierarchyUniqueName unique name of hierarchy (not a pattern);<a name="line.858"></a>
<span class="sourceLineNo">859</span>     *        must match the<a name="line.859"></a>
<span class="sourceLineNo">860</span>     *        hierarchy name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.860"></a>
<span class="sourceLineNo">861</span>     *        means that the hierarchy name should not be used to narrow the<a name="line.861"></a>
<span class="sourceLineNo">862</span>     *        search<a name="line.862"></a>
<span class="sourceLineNo">863</span>     *<a name="line.863"></a>
<span class="sourceLineNo">864</span>     * @param levelUniqueName unique name of level (not a pattern); must match<a name="line.864"></a>
<span class="sourceLineNo">865</span>     *        the level name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.865"></a>
<span class="sourceLineNo">866</span>     *        means that the level name should not be used to narrow the<a name="line.866"></a>
<span class="sourceLineNo">867</span>     *        search<a name="line.867"></a>
<span class="sourceLineNo">868</span>     *<a name="line.868"></a>
<span class="sourceLineNo">869</span>     * @param memberUniqueName unique name of member (not a pattern);<a name="line.869"></a>
<span class="sourceLineNo">870</span>     *        &lt;code&gt;null&lt;/code&gt; means that the measure unique name should not<a name="line.870"></a>
<span class="sourceLineNo">871</span>     *        be used to narrow the search<a name="line.871"></a>
<span class="sourceLineNo">872</span>     *<a name="line.872"></a>
<span class="sourceLineNo">873</span>     * @param treeOps set of tree operations to retrieve members relative<a name="line.873"></a>
<span class="sourceLineNo">874</span>     *        to the member whose unique name was specified; or null to return<a name="line.874"></a>
<span class="sourceLineNo">875</span>     *        just the member itself.<a name="line.875"></a>
<span class="sourceLineNo">876</span>     *        Ignored if &lt;code&gt;memberUniqueName&lt;/code&gt; is not specified.<a name="line.876"></a>
<span class="sourceLineNo">877</span>     *<a name="line.877"></a>
<span class="sourceLineNo">878</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.878"></a>
<span class="sourceLineNo">879</span>     *         member description<a name="line.879"></a>
<span class="sourceLineNo">880</span>     *<a name="line.880"></a>
<span class="sourceLineNo">881</span>     * @exception OlapException if a database access error occurs<a name="line.881"></a>
<span class="sourceLineNo">882</span>     *<a name="line.882"></a>
<span class="sourceLineNo">883</span>     * @see #getSearchStringEscape<a name="line.883"></a>
<span class="sourceLineNo">884</span>     * @see org.olap4j.metadata.Member<a name="line.884"></a>
<span class="sourceLineNo">885</span>     */<a name="line.885"></a>
<span class="sourceLineNo">886</span>    ResultSet getMembers(<a name="line.886"></a>
<span class="sourceLineNo">887</span>        String catalog,<a name="line.887"></a>
<span class="sourceLineNo">888</span>        String schemaPattern,<a name="line.888"></a>
<span class="sourceLineNo">889</span>        String cubeNamePattern,<a name="line.889"></a>
<span class="sourceLineNo">890</span>        String dimensionUniqueName,<a name="line.890"></a>
<span class="sourceLineNo">891</span>        String hierarchyUniqueName,<a name="line.891"></a>
<span class="sourceLineNo">892</span>        String levelUniqueName,<a name="line.892"></a>
<span class="sourceLineNo">893</span>        String memberUniqueName,<a name="line.893"></a>
<span class="sourceLineNo">894</span>        Set&lt;Member.TreeOp&gt; treeOps) throws OlapException;<a name="line.894"></a>
<span class="sourceLineNo">895</span><a name="line.895"></a>
<span class="sourceLineNo">896</span>    /**<a name="line.896"></a>
<span class="sourceLineNo">897</span>     * Retrieves a result set describing the named Sets in this database.<a name="line.897"></a>
<span class="sourceLineNo">898</span>     *<a name="line.898"></a>
<span class="sourceLineNo">899</span>     * &lt;p&gt;Specification as for XML/A MDSCHEMA_SETS schema rowset.<a name="line.899"></a>
<span class="sourceLineNo">900</span>     *<a name="line.900"></a>
<span class="sourceLineNo">901</span>     * &lt;p&gt;Each set description has the following columns:<a name="line.901"></a>
<span class="sourceLineNo">902</span>     * &lt;ol&gt;<a name="line.902"></a>
<span class="sourceLineNo">903</span>     * &lt;li&gt;&lt;b&gt;CATALOG_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; null&lt;/li&gt;<a name="line.903"></a>
<span class="sourceLineNo">904</span>     * &lt;li&gt;&lt;b&gt;SCHEMA_NAME&lt;/b&gt; String (may be &lt;code&gt;null&lt;/code&gt;) =&gt; null&lt;/li&gt;<a name="line.904"></a>
<span class="sourceLineNo">905</span>     * &lt;li&gt;&lt;b&gt;CUBE_NAME&lt;/b&gt; String =&gt; null&lt;/li&gt;<a name="line.905"></a>
<span class="sourceLineNo">906</span>     * &lt;li&gt;&lt;b&gt;SET_NAME&lt;/b&gt; String =&gt; null&lt;/li&gt;<a name="line.906"></a>
<span class="sourceLineNo">907</span>     * &lt;li&gt;&lt;b&gt;SCOPE&lt;/b&gt; int =&gt; null&lt;/li&gt;<a name="line.907"></a>
<span class="sourceLineNo">908</span>     *<a name="line.908"></a>
<span class="sourceLineNo">909</span>     * @param catalog a catalog name; must match the catalog name as it<a name="line.909"></a>
<span class="sourceLineNo">910</span>     *        is stored in the database; "" retrieves those without a catalog;<a name="line.910"></a>
<span class="sourceLineNo">911</span>     *        &lt;code&gt;null&lt;/code&gt; means that the catalog name should not be used<a name="line.911"></a>
<span class="sourceLineNo">912</span>     *        to narrow the search<a name="line.912"></a>
<span class="sourceLineNo">913</span>     *<a name="line.913"></a>
<span class="sourceLineNo">914</span>     * @param schemaPattern a schema name pattern; must match the schema name<a name="line.914"></a>
<span class="sourceLineNo">915</span>     *        as it is stored in the database; "" retrieves those without a<a name="line.915"></a>
<span class="sourceLineNo">916</span>     *        schema; &lt;code&gt;null&lt;/code&gt; means that the schema name should not<a name="line.916"></a>
<span class="sourceLineNo">917</span>     *        be used to narrow the search<a name="line.917"></a>
<span class="sourceLineNo">918</span>     *<a name="line.918"></a>
<span class="sourceLineNo">919</span>     * @param cubeNamePattern a cube name pattern; must match the<a name="line.919"></a>
<span class="sourceLineNo">920</span>     *        cube name as it is stored in the database; "" retrieves those<a name="line.920"></a>
<span class="sourceLineNo">921</span>     *        without a cube; &lt;code&gt;null&lt;/code&gt; means that the cube name should<a name="line.921"></a>
<span class="sourceLineNo">922</span>     *        not be used to narrow the search<a name="line.922"></a>
<span class="sourceLineNo">923</span>     *<a name="line.923"></a>
<span class="sourceLineNo">924</span>     * @param setNamePattern pattern for the unique name of a set; must match<a name="line.924"></a>
<span class="sourceLineNo">925</span>     *        the set name as it is stored in the database; &lt;code&gt;null&lt;/code&gt;<a name="line.925"></a>
<span class="sourceLineNo">926</span>     *        means that the set name should not be used to narrow the<a name="line.926"></a>
<span class="sourceLineNo">927</span>     *        search<a name="line.927"></a>
<span class="sourceLineNo">928</span>     *<a name="line.928"></a>
<span class="sourceLineNo">929</span>     * @return a &lt;code&gt;ResultSet&lt;/code&gt; object in which each row is a<a name="line.929"></a>
<span class="sourceLineNo">930</span>     *         description of a named set<a name="line.930"></a>
<span class="sourceLineNo">931</span>     *<a name="line.931"></a>
<span class="sourceLineNo">932</span>     * @exception OlapException if a database access error occurs<a name="line.932"></a>
<span class="sourceLineNo">933</span>     *<a name="line.933"></a>
<span class="sourceLineNo">934</span>     * @see #getSearchStringEscape<a name="line.934"></a>
<span class="sourceLineNo">935</span>     * @see org.olap4j.metadata.NamedSet<a name="line.935"></a>
<span class="sourceLineNo">936</span>     */<a name="line.936"></a>
<span class="sourceLineNo">937</span>    ResultSet getSets(<a name="line.937"></a>
<span class="sourceLineNo">938</span>        String catalog,<a name="line.938"></a>
<span class="sourceLineNo">939</span>        String schemaPattern,<a name="line.939"></a>
<span class="sourceLineNo">940</span>        String cubeNamePattern,<a name="line.940"></a>
<span class="sourceLineNo">941</span>        String setNamePattern) throws OlapException;<a name="line.941"></a>
<span class="sourceLineNo">942</span>}<a name="line.942"></a>
<span class="sourceLineNo">943</span><a name="line.943"></a>
<span class="sourceLineNo">944</span>// End OlapDatabaseMetaData.java<a name="line.944"></a>




























































</pre>
</div>
</body>
</html>