1. Get rid of all advertisements and get unlimited access to documents by upgrading to Premium Membership. Upgrade to Premium Now and also get a Premium Badge!

Oracle newbie - very slow simple query on large table

Discussion in 'General' started by andyw, Nov 6, 2009.

  1. andyw

    andyw Active Member

    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    55
    Hi.

    I'm virtually completely new to Oracle, although I can use Postgres.
    My current problem is the length of time taken to resolve a simple query on a large table. I need some pointers on how to speed up the access. The machine its running on is taking a large hit from the query. Is this normal for a table this size?

    As I'm new to Oracle, I have no idea of most of the non standard sql commands, and I hate the command line interface, although thats what I'm currently using.

    Hope someone can point me in the right direction, to relevant documents, somewhere where I can get a clue.

    Andy Walmsley

    SQL> select count(*) from holiday;

    COUNT(*)
    ----------
    2546725

    Elapsed: 00:00:02.47

    (2 and half seconds for a count?)

    SQL> select distinct resort_name, trot_arr_point from holiday;
    ......
    459 rows selected.

    Elapsed: 00:01:49.33
    (???!!!)

    SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 6 11:30:12 2009

    Linux XXX 2.6.8-1.521smp #1 SMP Mon Aug 16 09:25:06 EDT 2004 i686 i686 i386 GNU/Linux

    vmstat 5
    procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    0 0 111244 5900 2596 546468 0 0 0 0 0 0 1 0 99 1
    0 0 111244 5900 2604 546460 0 0 0 16 0 0 0 0 100 0
    1 0 111248 3816 2608 548532 0 0 5370 22 0 0 3 2 78 16
    0 1 111248 3516 2512 548924 0 7 13458 26 0 0 9 7 49 35
    0 1 111252 4900 2500 547644 0 0 13433 14 0 0 9 7 49 35
    1 0 111252 3944 2524 548920 0 0 13466 22 0 0 9 7 50 35
    0 1 111252 4336 2516 548696 0 0 13539 16 0 0 9 7 49 35
    0 1 111252 3552 1640 550612 0 0 13378 22 0 0 9 7 49 34
    0 1 111252 4648 1648 549304 0 0 13176 25 0 0 9 7 49 35
    0 1 111256 3952 1660 550072 0 1 13429 23 0 0 10 7 49 34
    0 1 111256 3468 1660 550332 0 0 13510 13 0 0 9 7 49 35
    0 1 111256 4072 1660 549812 0 0 13393 19 0 0 9 7 50 35
    0 1 111256 4336 1560 549656 0 0 13353 19 0 0 9 7 50 34
    1 0 111256 3516 1464 551000 0 0 13444 18 0 0 10 7 49 35
    0 1 111256 3680 1388 550820 0 1 13380 22 0 0 9 7 49 35
    0 1 111256 4272 1440 550508 0 0 13518 12 0 0 9 7 50 35
    1 0 111256 4584 1160 550032 0 0 13338 30 0 0 9 7 49 35
    0 1 111256 4648 1124 550328 0 0 13507 22 0 0 9 7 50 35
    0 1 111256 4528 1120 550596 0 0 13722 12 0 0 9 7 49 35
    0 1 111256 3540 1108 551648 0 0 13659 22 0 0 9 7 49 35
    0 1 111256 3444 1088 551408 0 0 13813 13 0 0 9 7 50 35
    2 0 111260 4776 1060 550132 0 0 13582 12 0 0 10 7 49 34
    0 1 111260 4080 1052 551180 0 0 13582 22 0 0 9 7 49 34
    1 0 111260 4272 972 551000 0 0 13327 25 0 0 9 7 49 35
    0 0 111264 3620 996 551232 0 0 5554 20 0 0 4 3 77 15
    0 0 111264 3604 1004 551224 0 0 0 20 0 0 0 0 100 0
    0 0 111264 3608 1012 551216 0 0 0 22 0 0 0 0 100 0

    cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 8
    model name : Pentium III (Coppermine)
    stepping : 1
    cpu MHz : 645.857
    cache size : 256 KB
    ....
    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 8
    model name : Pentium III (Coppermine)
    stepping : 1
    cpu MHz : 645.857
    cache size : 256 KB
     
  2. zargon

    zargon Community Moderator Forum Guru

    Messages:
    2,347
    Likes Received:
    348
    Trophy Points:
    1,430
    Location:
    Aurora, CO
    Why 10.2.0.1? Why not 11.1.0.6 or 11.2.0?

    Yes, a count of 2.5 million rows can take 2.5 seconds if the process is reading a good number of blocks from disk; DISTINCT is a set operator and it requires a SORT which may be going to disk depending upon your configuration. You provide no sample data, no table DDL, nothing, really, to allow someone else to repeat these tests and discover what may be misconfigured on your installation or which indexes may need to be created.

    Post the create table statements and provide sample data so that others can reproduce them in a local database and test.
     
  3. andyw

    andyw Active Member

    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    55
    Hi,
    (long output all at bottom of reply)
    I know I haven't posted everything you need. Tell me what is needed and how to get it and I'll correct that.
    The length of this explains somewhat as to why I didn't just post everything on first attempt.

    The version is dictated by the client.
    Oracle newbie, what is a table DDL and how do I display it?

    The real data is proprietary and contains pricing information. Anything _id is a key into another table even if it isn't implicity declared as such. Nothing is weird in the data aside from the price_xml field, which apart from anything else isn't XML, and is a string something like
    :9:1:1:1:Occup/1-1 S WC:11ST:f:2:0,194000,1,,:1,46800,1,,:1,95800,2,,:1,95800,3,12,:2,2900,,,
    which can be repeated (1 to 365) times (approx) seperated by '|' for multiple occurances.

    I'll create a bash script to generate random data if you need one, but I won't have time until next week. Basically any letter/numbers in any combination in a varchar is(may be) valid.

    Theoretically the table is created under hibernate. I had nothing to do with the install and configuration of the database, and have been assured wrongly that hiberate generates everything before.

    example data
    ID ACCOM_ ACCOM_NAME BO BRO CONTENT_RESORT_ID DURATION GUIDE_PRICE MAX_ACCOM_PAX
    ---------- ------ ------------------------------ -- --- ----------------- ---------- ----------- -------------
    MAX_FLIGHT_SEATS MIN_ACCOM_PAX MIN_FLIGHT_SEATS NOMINAL_D
    ---------------- ------------- ---------------- ---------
    PRICE_XML RATING
    -------------------------------------------------------------------------------- ----------
    RESORT_NAME TRI TRIN_ARR_DATE TRI
    ------------------------------ --- --------------------------------------------------------------------------- ---
    TRIN_DEP_DATE TRI TR TRIN_FLIGHT_CLA TRIN_F TRIN_F TRI TRO
    --------------------------------------------------------------------------- --- -- --------------- ------ ------ --- ---
    TROT_ARR_DATE TRO
    --------------------------------------------------------------------------- ---
    TROT_DEP_DATE TRO TR TROT_FLIGHT_CLA TROT_F TROT_F TRO
    --------------------------------------------------------------------------- --- -- --------------- ------ ------ ---
    DATASET_ID
    ----------
    38 0 99999
    9 9 01-NOV-09
    :9::::::f:0:0,99999,,,:1,99999,,16,:2,9999,,,:4,0,,,

    TCX
    01-NOV-09 04.25.00.000000 PM CWL
    01-NOV-09 12.20.00.000000 PM ACE 11CT9 302L 40


    the describe results are
    Name Null? Type
    ----------------------------------------------------------------- -------- --------------------------------------------
    ID NOT NULL NUMBER(19)
    ACCOM_CODE VARCHAR2(6 CHAR)
    ACCOM_NAME VARCHAR2(30 CHAR)
    BOARD_CODE VARCHAR2(2 CHAR)
    BROCHURE_PAGE VARCHAR2(3 CHAR)
    CONTENT_RESORT_ID NUMBER(19)
    DURATION NUMBER(10)
    GUIDE_PRICE NUMBER(10)
    MAX_ACCOM_PAX NUMBER(10)
    MAX_FLIGHT_SEATS NUMBER(10)
    MIN_ACCOM_PAX NUMBER(10)
    MIN_FLIGHT_SEATS NUMBER(10)
    NOMINAL_DATE DATE
    PRICE_XML CLOB
    RATING VARCHAR2(10 CHAR)
    RESORT_NAME VARCHAR2(30 CHAR)
    TRIN_AIRLINE VARCHAR2(3 CHAR)
    TRIN_ARR_DATE TIMESTAMP(6)
    TRIN_ARR_POINT VARCHAR2(3 CHAR)
    TRIN_DEP_DATE TIMESTAMP(6)
    TRIN_DEP_POINT VARCHAR2(3 CHAR)
    TRIN_FLIGHT_CLASS VARCHAR2(2 CHAR)
    TRIN_FLIGHT_CLASS_NAME VARCHAR2(15 CHAR)
    TRIN_FLIGHT_CODE VARCHAR2(6 CHAR)
    TRIN_FLIGHT_NO VARCHAR2(6 CHAR)
    TRIN_MODE VARCHAR2(3 CHAR)
    TROT_AIRLINE VARCHAR2(3 CHAR)
    TROT_ARR_DATE TIMESTAMP(6)
    TROT_ARR_POINT VARCHAR2(3 CHAR)
    TROT_DEP_DATE TIMESTAMP(6)
    TROT_DEP_POINT VARCHAR2(3 CHAR)
    TROT_FLIGHT_CLASS VARCHAR2(2 CHAR)
    TROT_FLIGHT_CLASS_NAME VARCHAR2(15 CHAR)
    TROT_FLIGHT_CODE VARCHAR2(6 CHAR)
    TROT_FLIGHT_NO VARCHAR2(6 CHAR)
    TROT_MODE VARCHAR2(3 CHAR)
    DATASET_ID NUMBER(19)


    hibernate code for table

    import java.io.Serializable;

    import java.util.Date;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Lob;
    import javax.persistence.ManyToOne;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;
    import javax.persistence.Transient;


    import org.apache.commons.lang.builder.CompareToBuilder;
    import org.apache.commons.lang.builder.EqualsBuilder;
    import org.apache.commons.lang.builder.HashCodeBuilder;
    import org.apache.commons.lang.time.FastDateFormat;
    import org.hibernate.annotations.ForeignKey;
    import org.hibernate.annotations.Index;

    /**
    * The Holiday class is an instance of the holiday table within the hermesDatbase use case
    *
    * constraint holiday1 foreign key (dataset_id) references dataset (id) on delete cascade
    *
    * create index search1 on holiday (dataset_id, nominal_date, trot_arr_point, trot_dep_point)
    * create index search2 on holiday (dataset_id, accom_code)
    * create index search3 on holiday (dataset_id, accom_code, nominal_date, duration, trot_flight_code, trin_flight_code)
    * create index search4 on holiday (dataset_id, trot_arr_point, resort_name)
    * create index search5 on holiday (dataset_id, trot_arr_point, resort_name, accom_code, trot_dep_point, nominal_date, duration, rating, board_code)
    * create index search6 on holiday (dataset_id, trot_arr_point, resort_name, nominal_date)
    *
    */
    @Entity
    @Table(name = "holiday")
    @org.hibernate.annotations.Table(
    appliesTo="holiday",
    indexes={
    @Index(name="holiday_search1", columnNames={"dataset_id","nominal_date","trot_arr_point","trot_dep_point"}),
    @Index(name="holiday_search2", columnNames={"dataset_id","accom_code"}),
    @Index(name="holiday_search3", columnNames={"dataset_id","accom_code","nominal_date","duration","trot_flight_code","trin_flight_code"}),
    @Index(name="holiday_search4", columnNames={"dataset_id","trot_arr_point","resort_name"}),
    @Index(name="holiday_search5", columnNames={"dataset_id","trot_arr_point","resort_name","accom_code","trot_dep_point","nominal_date","duration","rating","board_code"}),
    @Index(name="holiday_search6", columnNames={"dataset_id","trot_arr_point","resort_name","nominal_date"})
    }
    )
    @SequenceGenerator(name="seq_holiday", sequenceName="seq_holiday")
    @NamedQueries( {
    @NamedQuery(name="holiday.deleteOld", query="delete from Holiday as h where h.nominalDate < current_date()"),
    @NamedQuery(name="holiday.distinct", query="select distinct h.contentResortId, d.productType, h.accomCode, h.trotDepPoint, h.nominalDate, h.duration, h.rating, h.boardCode from Dataset as d, Holiday as h where d.id = h.dataset and d.singleNightPriced = 0 and h.nominalDate > current_date and h.contentResortId > 0"),
    @NamedQuery(name="holiday.flights", query="select distinct h.trotDepPoint, h.trotArrPoint, h.nominalDate, h.duration, h.maxFlightSeats from Dataset as d, Holiday as h where d.id = h.dataset and d.productType=\'SO\' order by h.trotDepPoint, h.trotArrPoint, h.nominalDate, h.duration"),
    @NamedQuery(name="holiday.for", query="from Holiday where dataset_id=? and nominal_date=? and duration=? and trot_flight_code=? and trin_flight_code=?"),
    @NamedQuery(name="holiday.forId", query="from Holiday as h where h.id=?"),
    @NamedQuery(name="holiday.season", query="select distinct d.season, d.companyCode, d.companyName, d.brochureCode, d.brochureName, h.trotArrPoint, h.accomCode, d.productType, h.contentResortId from Dataset as d, Holiday as h where d.loadState='Live' and d.id = h.dataset and d.currency='GBP' and d.productType=?"),
    @NamedQuery(name="holiday.distinctNominalDateforAccomCode", query="select distinct h.nominalDate,h.trotDepPoint from Holiday as h, Dataset as d where h.accomCode=? and d.loadState = 'Live' and d.id = h.dataset and h.nominalDate > current_date order by h.nominalDate")
    })
    public class Holiday implements Serializable, Cloneable, Comparable<Holiday> {
    private static final FastDateFormat fdf = FastDateFormat.getInstance("yyyyMMdd");
    private static final long serialVersionUID = 1L;

    @Column(name = "accom_code", length=6)
    private String accomCode = null;

    @Column(name = "accom_name", length=30)
    private String accomName = null;

    @Column(name = "board_code", length=2)
    private String boardCode = null;

    @Column(name = "brochure_page", length=3)
    private String brochurePage = null;

    @Transient
    private Long contentId = null;

    @Column(name = "content_resort_id", nullable = true)
    private Long contentResortId = null;

    @ManyToOne
    @ForeignKey(name="holiday_dataset_fk")
    private Dataset dataset = null;

    @Column(name = "duration")
    private Integer duration = null;

    @Column(name = "guide_price")
    private Integer guidePrice = null;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO, generator="seq_holiday")
    @Column(name = "id", nullable = false)
    private Long id = null;

    @Column(name = "max_accom_pax")
    private Integer maxAccomPax = null;

    @Column(name = "max_flight_seats")
    private Integer maxFlightSeats = null;

    @Column(name = "min_accom_pax")
    private Integer minAccomPax = null;

    @Column(name = "min_flight_seats")
    private Integer minFlightSeats = null;

    @Temporal(TemporalType.DATE)
    @Column(name = "nominal_date", length=29)
    private Date nominalDate = null;

    @Lob
    @Column(name = "price_xml")
    private String priceXml = null;

    @Column(name = "rating", length=10)
    private String rating = null;

    @Column(name = "resort_name", length=30)
    private String resortName = null;

    @Column(name = "trin_airline", length=3)
    private String trinAirline= null;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "trin_arr_date", length=29)
    private Date trinArrDate = null;

    @Column(name = "trin_arr_point", length=3)
    private String trinArrPoint = null;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "trin_dep_date", length = 29)
    private Date trinDepDate = null;

    @Column(name = "trin_dep_point", length=3)
    private String trinDepPoint = null;

    @Column(name = "trin_flight_class", length=2)
    private String trinFlightClass = null;

    @Column(name = "trin_flight_class_name", length=15)
    private String trinFlightClassName = null;

    @Column(name = "trin_flight_code", length=6)
    private String trinFlightCode = null;

    @Column(name = "trin_flight_no", length=6)
    private String trinFlightNo = null;

    @Column(name = "trin_mode", length=3)
    private String trinMode = null;

    @Column(name = "trot_airline", length=3)
    private String trotAirline = null;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "trot_arr_date", length=29)
    private Date trotArrDate = null;

    @Column(name = "trot_arr_point", length=3)
    private String trotArrPoint = null;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "trot_dep_date", length=29)
    private Date trotDepDate = null;

    @Column(name = "trot_dep_point", length=3)
    private String trotDepPoint = null;

    @Column(name = "trot_flight_class", length=2)
    private String trotFlightClass = null;

    @Column(name = "trot_flight_class_name", length=15)
    private String trotFlightClassName = null;

    @Column(name = "trot_flight_code", length=6)
    private String trotFlightCode = null;

    @Column(name = "trot_flight_no", length=6)
    private String trotFlightNo = null;

    @Column(name = "trot_mode", length=3)
    private String trotMode = null;

    /**
    * Constructor
    */
    public Holiday() {}

    /* (non-Javadoc)
    * @see java.lang.Object#clone()
    */
    @Override
    public Object clone() throws CloneNotSupportedException {
    return super.clone();
    }

    /* (non-Javadoc)
    * @see java.lang.Comparable#compareTo(java.lang.Object)
    */
    public int compareTo(Holiday rhs) {
    if (this == rhs)
    return 0;

    return new CompareToBuilder()
    .append(this.nominalDate, rhs.nominalDate)
    .append(this.duration, rhs.duration)
    .append(this.accomCode, rhs.accomCode)
    .append(this.id, rhs.id)
    .toComparison();
    }

    /* (non-Javadoc)
    * @see java.lang.Object#equals(java.lang.Object)
    */
    @Override
    public boolean equals(Object obj) {
    if (obj instanceof Holiday == false)
    return false;

    if (this == obj)
    return true;

    Holiday rhs = (Holiday) obj;

    return new EqualsBuilder()
    .appendSuper(super.equals(obj))
    .append(this.accomCode, rhs.accomCode)
    .append(this.accomName, rhs.accomName)
    .append(this.boardCode, rhs.boardCode)
    .append(this.brochurePage, rhs.brochurePage)
    .append(this.contentResortId, rhs.contentResortId)
    .append(this.dataset, rhs.dataset)
    .append(this.duration, rhs.duration)
    .append(this.guidePrice, rhs.guidePrice)
    .append(this.id, rhs.id)
    .append(this.maxAccomPax, rhs.maxAccomPax)
    .append(this.maxFlightSeats, rhs.maxFlightSeats)
    .append(this.minAccomPax, rhs.minAccomPax)
    .append(this.minFlightSeats, rhs.minFlightSeats)
    .append(this.nominalDate, rhs.nominalDate)
    .append(this.priceXml, rhs.priceXml)
    .append(this.rating, rhs.rating)
    .append(this.resortName, rhs.resortName)
    .append(this.trinAirline, rhs.trinAirline)
    .append(this.trinArrDate, rhs.trinArrDate)
    .append(this.trinArrPoint, rhs.trinArrPoint)
    .append(this.trinDepDate, rhs.trinDepDate)
    .append(this.trinDepPoint, rhs.trinDepPoint)
    .append(this.trinFlightClass, rhs.trinFlightClass)
    .append(this.trinFlightClassName, rhs.trinFlightClassName)
    .append(this.trinFlightCode, rhs.trinFlightCode)
    .append(this.trinFlightNo, rhs.trinFlightNo)
    .append(this.trinMode, rhs.trinMode)
    .append(this.trotAirline, rhs.trotAirline)
    .append(this.trotArrDate, rhs.trotArrDate)
    .append(this.trotArrPoint, rhs.trotArrPoint)
    .append(this.trotDepDate, rhs.trotDepDate)
    .append(this.trotDepPoint, rhs.trotDepPoint)
    .append(this.trotFlightClass, rhs.trotFlightClass)
    .append(this.trotFlightClassName, rhs.trotFlightClassName)
    .append(this.trotFlightCode, rhs.trotFlightCode)
    .append(this.trotFlightNo, rhs.trotFlightNo)
    .append(this.trotMode, rhs.trotMode)
    .isEquals();
    }

    /**
    * getAccomCode
    * @return the accomCode
    */
    public String getAccomCode() {
    return this.accomCode;
    }

    /**
    * getAccomName
    * @return the accomName
    */
    public String getAccomName() {
    return this.accomName;
    }


    /**
    * getBoardCode
    * @return the boardCode
    */
    public String getBoardCode() {
    return this.boardCode;
    }

    /**
    * getBrochurePage
    * @return the brochurePage
    */
    public String getBrochurePage() {
    return this.brochurePage;
    }

    /**
    * getContentResort
    * @return the contentResort
    */
    public Long getContent_Resort_Id() {
    return this.contentResortId;
    }

    /**
    * getContentId
    * @return the contentId
    */
    public Long getContentId() {
    return contentId;
    }

    /**
    * getContentResortId
    * @return the contentResortId
    */
    public Long getContentResortId() {
    return contentResortId;
    }

    /**
    * getDatasetId
    * @return the datasetId
    */
    public Dataset getDataset() {
    return this.dataset;
    }

    /**
    * getDuration
    * @return the duration
    */
    public Integer getDuration() {
    return this.duration;
    }

    /**
    * getGuidePrice
    * @return the guidePrice
    */
    public Integer getGuidePrice() {
    return this.guidePrice;
    }

    /**
    * getId
    * @return the id
    */
    public Long getId() {
    return this.id;
    }

    /**
    * getMaxAccomPax
    * @return the maxAccomPax
    */
    public Integer getMaxAccomPax() {
    return this.maxAccomPax;
    }

    /**
    * getMaxFlightSeats
    * @return the maxFlightSeats
    */
    public Integer getMaxFlightSeats() {
    return this.maxFlightSeats;
    }

    /**
    * getMinAccomPax
    * @return the minAccomPax
    */
    public Integer getMinAccomPax() {
    return this.minAccomPax;
    }

    /**
    * getMinFlightSeats
    * @return the minFlightSeats
    */
    public Integer getMinFlightSeats() {
    return this.minFlightSeats;
    }

    /**
    * getNominalDate
    * @return the nominalDate
    */
    public Date getNominalDate() {
    return this.nominalDate;
    }

    /**
    * getPriceXml
    * @return the priceXml
    */
    public String getPriceXml() {
    return this.priceXml;
    }

    /**
    * getRating
    * @return the rating
    */
    public String getRating() {
    return this.rating;
    }

    /**
    * getResortName
    * @return the resortName
    */
    public String getResortName() {
    return this.resortName;
    }

    /**
    * getTorixKey
    * @return - the key value for this object taken from the torix specification
    */
    public String getTorixKey(){
    StringBuffer key = new StringBuffer();

    if (nominalDate != null)
    key.append(fdf.format(nominalDate));

    key.append(":");

    if (duration != null)
    key.append(duration);

    key.append(":");

    if (accomCode != null)
    key.append(accomCode);

    key.append(":");

    if (dataset != null && dataset.getCompanyCode() != null)
    key.append(dataset.getCompanyCode());

    key.append(":");

    if (dataset != null && dataset.getBrochureCode() != null)
    key.append(dataset.getBrochureCode());

    return key.toString();
    }

    /**
    * getTrinAirline
    * @return the trinAirline
    */
    public String getTrinAirline() {
    return this.trinAirline;
    }

    /**
    * getTrinArrDate
    * @return the trinArrDate
    */
    public Date getTrinArrDate() {
    return this.trinArrDate;
    }

    /**
    * getTrinArrPoint
    * @return the trinArrPoint
    */
    public String getTrinArrPoint() {
    return this.trinArrPoint;
    }

    /**
    * getTrinDepDate
    * @return the trinDepDate
    */
    public Date getTrinDepDate() {
    return this.trinDepDate;
    }

    /**
    * getTrinDepPoint
    * @return the trinDepPoint
    */
    public String getTrinDepPoint() {
    return this.trinDepPoint;
    }

    /**
    * getTrinFlightClass
    * @return the trinFlightClass
    */
    public String getTrinFlightClass() {
    return this.trinFlightClass;
    }

    /**
    * getTrinFlightClassName
    * @return the trinFlightClassName
    */
    public String getTrinFlightClassName() {
    return this.trinFlightClassName;
    }

    /**
    * getTrinFlightCode
    * @return the trinFlightCode
    */
    public String getTrinFlightCode() {
    return this.trinFlightCode;
    }

    /**
    * getTrinFlightNo
    * @return the trinFlightNo
    */
    public String getTrinFlightNo() {
    return this.trinFlightNo;
    }

    /**
    * getTrinMode
    * @return the trinMode
    */
    public String getTrinMode() {
    return this.trinMode;
    }

    /**
    * getTrotAirline
    * @return the trotAirline
    */
    public String getTrotAirline() {
    return this.trotAirline;
    }

    /**
    * getTrotArrDate
    * @return the trotArrDate
    */
    public Date getTrotArrDate() {
    return this.trotArrDate;
    }

    /**
    * getTrotArrPoint
    * @return the trotArrPoint
    */
    public String getTrotArrPoint() {
    return this.trotArrPoint;
    }

    /**
    * getTrotDepDate
    * @return the trotDepDate
    */
    public Date getTrotDepDate() {
    return this.trotDepDate;
    }

    /**
    * getTrotDepPoint
    * @return the trotDepPoint
    */
    public String getTrotDepPoint() {
    return this.trotDepPoint;
    }

    /**
    * getTrotFlightClass
    * @return the trotFlightClass
    */
    public String getTrotFlightClass() {
    return this.trotFlightClass;
    }

    /**
    * getTrotFlightClassName
    * @return the trotFlightClassName
    */
    public String getTrotFlightClassName() {
    return this.trotFlightClassName;
    }

    /**
    * getTrotFlightCode
    * @return the trotFlightCode
    */
    public String getTrotFlightCode() {
    return this.trotFlightCode;
    }

    /**
    * getTrotFlightNo
    * @return the trotFlightNo
    */
    public String getTrotFlightNo() {
    return this.trotFlightNo;
    }

    /**
    * getTrotMode
    * @return the trotMode
    */
    public String getTrotMode() {
    return this.trotMode;
    }

    /* (non-Javadoc)
    * @see java.lang.Object#hashCode()
    */
    @Override
    public int hashCode() {
    HashCodeBuilder builder = new HashCodeBuilder()
    .appendSuper(super.hashCode())
    .append(this.accomCode)
    .append(this.accomName)
    .append(this.boardCode)
    .append(this.brochurePage)
    .append(this.duration)
    .append(this.guidePrice)
    .append(this.id)
    .append(this.maxAccomPax)
    .append(this.maxFlightSeats)
    .append(this.minAccomPax)
    .append(this.minFlightSeats)
    .append(this.nominalDate)
    .append(this.priceXml)
    .append(this.rating)
    .append(this.resortName)
    .append(this.trinAirline)
    .append(this.trinArrDate)
    .append(this.trinArrPoint)
    .append(this.trinDepDate)
    .append(this.trinDepPoint)
    .append(this.trinFlightClass)
    .append(this.trinFlightClassName)
    .append(this.trinFlightCode)
    .append(this.trinFlightNo)
    .append(this.trinMode)
    .append(this.trotAirline)
    .append(this.trotArrDate)
    .append(this.trotArrPoint)
    .append(this.trotDepDate)
    .append(this.trotDepPoint)
    .append(this.trotFlightClass)
    .append(this.trotFlightClassName)
    .append(this.trotFlightCode)
    .append(this.trotFlightNo)
    .append(this.trotMode);

    if (this.dataset != null && this.dataset.getId()!= null)
    builder.append(this.dataset);

    return builder.toHashCode();
    }

    /**
    * setAccomCode
    * @param accomCode the accomCode to set
    */
    public void setAccomCode(String accomCode) {
    this.accomCode = accomCode;
    }

    /**
    * setAccomName
    * @param accomName the accomName to set
    */
    public void setAccomName(String accomName) {
    this.accomName = accomName;
    }

    /**
    * setBoardCode
    * @param boardCode the boardCode to set
    */
    public void setBoardCode(String boardCode) {
    this.boardCode = boardCode;
    }

    /**
    * setBrochurePage
    * @param brochurePage the brochurePage to set
    */
    public void setBrochurePage(String brochurePage) {
    this.brochurePage = brochurePage;
    }

    /**
    * setContentId
    * @param contentId the contentId to set
    */
    public void setContentId(Long contentId) {
    this.contentId = contentId;
    }

    /**
    * setContentResort
    * @param contentResortId the contentResort to set
    */
    public void setContentResortId(Long contentResortId) {
    this.contentResortId = contentResortId;
    }

    /**
    * setDataset
    * @param dataset the datasetId to set
    */
    public void setDataset(Dataset dataset) {
    this.dataset = dataset;
    }

    /**
    * setDuration
    * @param duration the duration to set
    */
    public void setDuration(Integer duration) {
    this.duration = duration;
    }

    /**
    * setGuidePrice
    * @param guidePrice the guidePrice to set
    */
    public void setGuidePrice(Integer guidePrice) {
    this.guidePrice = guidePrice;
    }

    /**
    * setId
    * @param id the id to set
    */
    public void setId(Long id) {
    this.id = id;
    }

    /**
    * setMaxAccomPax
    * @param maxAccomPax the maxAccomPax to set
    */
    public void setMaxAccomPax(Integer maxAccomPax) {
    this.maxAccomPax = maxAccomPax;
    }

    /**
    * setMaxFlightSeats
    * @param maxFlightSeats the maxFlightSeats to set
    */
    public void setMaxFlightSeats(Integer maxFlightSeats) {
    this.maxFlightSeats = maxFlightSeats;
    }

    /**
    * setMinAccomPax
    * @param minAccomPax the minAccomPax to set
    */
    public void setMinAccomPax(Integer minAccomPax) {
    this.minAccomPax = minAccomPax;
    }

    /**
    * setMinFlightSeats
    * @param minFlightSeats the minFlightSeats to set
    */
    public void setMinFlightSeats(Integer minFlightSeats) {
    this.minFlightSeats = minFlightSeats;
    }

    /**
    * setNominalDate
    * @param nominalDate the nominalDate to set
    */
    public void setNominalDate(Date nominalDate) {
    this.nominalDate = nominalDate;
    }

    /**
    * setPriceXml
    * @param priceXml the priceXml to set
    */
    public void setPriceXml(String priceXml) {
    this.priceXml = priceXml;
    }

    /**
    * setRating
    * @param rating the rating to set
    */
    public void setRating(String rating) {
    this.rating = rating;
    }

    /**
    * setResortName
    * @param resortName the resortName to set
    */
    public void setResortName(String resortName) {
    this.resortName = resortName;
    }

    /**
    * setTrinAirline
    * @param trinAirline the trinAirline to set
    */
    public void setTrinAirline(String trinAirline) {
    this.trinAirline = trinAirline;
    }

    /**
    * setTrinArrDate
    * @param trinArrDate the trinArrDate to set
    */
    public void setTrinArrDate(Date trinArrDate) {
    this.trinArrDate = trinArrDate;
    }

    /**
    * setTrinArrPoint
    * @param trinArrPoint the trinArrPoint to set
    */
    public void setTrinArrPoint(String trinArrPoint) {
    this.trinArrPoint = trinArrPoint;
    }

    /**
    * setTrinDepDate
    * @param trinDepDate the trinDepDate to set
    */
    public void setTrinDepDate(Date trinDepDate) {
    this.trinDepDate = trinDepDate;
    }

    /**
    * setTrinDepPoint
    * @param trinDepPoint the trinDepPoint to set
    */
    public void setTrinDepPoint(String trinDepPoint) {
    this.trinDepPoint = trinDepPoint;
    }

    /**
    * setTrinFlightClass
    * @param trinFlightClass the trinFlightClass to set
    */
    public void setTrinFlightClass(String trinFlightClass) {
    this.trinFlightClass = trinFlightClass;
    }

    /**
    * setTrinFlightClassName
    * @param trinFlightClassName the trinFlightClassName to set
    */
    public void setTrinFlightClassName(String trinFlightClassName) {
    this.trinFlightClassName = trinFlightClassName;
    }

    /**
    * setTrinFlightCode
    * @param trinFlightCode the trinFlightCode to set
    */
    public void setTrinFlightCode(String trinFlightCode) {
    this.trinFlightCode = trinFlightCode;
    }

    /**
    * setTrinFlightNo
    * @param trinFlightNo the trinFlightNo to set
    */
    public void setTrinFlightNo(String trinFlightNo) {
    this.trinFlightNo = trinFlightNo;
    }

    /**
    * setTrinMode
    * @param trinMode the trinMode to set
    */
    public void setTrinMode(String trinMode) {
    this.trinMode = trinMode;
    }

    /**
    * setTrotAirline
    * @param trotAirline the trotAirline to set
    */
    public void setTrotAirline(String trotAirline) {
    this.trotAirline = trotAirline;
    }

    /**
    * setTrotArrDate
    * @param trotArrDate the trotArrDate to set
    */
    public void setTrotArrDate(Date trotArrDate) {
    this.trotArrDate = trotArrDate;
    }

    /**
    * setTrotArrPoint
    * @param trotArrPoint the trotArrPoint to set
    */
    public void setTrotArrPoint(String trotArrPoint) {
    this.trotArrPoint = trotArrPoint;
    }

    /**
    * setTrotDepDate
    * @param trotDepDate the trotDepDate to set
    */
    public void setTrotDepDate(Date trotDepDate) {
    this.trotDepDate = trotDepDate;
    }

    /**
    * setTrotDepPoint
    * @param trotDepPoint the trotDepPoint to set
    */
    public void setTrotDepPoint(String trotDepPoint) {
    this.trotDepPoint = trotDepPoint;
    }

    /**
    * setTrotFlightClass
    * @param trotFlightClass the trotFlightClass to set
    */
    public void setTrotFlightClass(String trotFlightClass) {
    this.trotFlightClass = trotFlightClass;
    }

    /**
    * setTrotFlightClassName
    * @param trotFlightClassName the trotFlightClassName to set
    */
    public void setTrotFlightClassName(String trotFlightClassName) {
    this.trotFlightClassName = trotFlightClassName;
    }

    /**
    * setTrotFlightCode
    * @param trotFlightCode the trotFlightCode to set
    */
    public void setTrotFlightCode(String trotFlightCode) {
    this.trotFlightCode = trotFlightCode;
    }

    /**
    * setTrotFlightNo
    * @param trotFlightNo the trotFlightNo to set
    */
    public void setTrotFlightNo(String trotFlightNo) {
    this.trotFlightNo = trotFlightNo;
    }

    /**
    * setTrotMode
    * @param trotMode the trotMode to set
    */
    public void setTrotMode(String trotMode) {
    this.trotMode = trotMode;
    }
    }
     
  4. zargon

    zargon Community Moderator Forum Guru

    Messages:
    2,347
    Likes Received:
    348
    Trophy Points:
    1,430
    Location:
    Aurora, CO
    What you've just posted should be good to get someone started on this. If you're using 10.2.0.1 you should probably seriously consider patching to 10.2.0.3 or 10.2.0.4 to correct known bugs in the 10.2.0.1 release and to remain supported with respect to the Critical Patch Updates (CPUs). You may also find, after patching, that performance improves.