Examples of DayToSecond


Examples of org.jooq.types.DayToSecond

        for (double i = -1394892834972.0; i <= 23487289374987.0; i += 283749827.3839293) {
            intervalChecks(i, DayToSecond.valueOf(i));
        }

        for (int i = 0; i <= 5; i++) {
            intervalChecks(i * 1000 * 86400.0, new DayToSecond(i));
            intervalChecks(i * 1000 * 3600.0, new DayToSecond(0, i));
            intervalChecks(i * 1000 * 60.0, new DayToSecond(0, 0, i));
            intervalChecks(i * 1000, new DayToSecond(0, 0, 0, i));
            intervalChecks(i / 1000000.0, new DayToSecond(0, 0, 0, 0, i));
        }
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

        if (interval instanceof YearToMonth) {
            YearToMonth y = YearToMonth.valueOf(interval.toString());
            assertEquals(interval, y);
        }
        else {
            DayToSecond m = DayToSecond.valueOf(interval.toString());
            assertEquals(interval, m);
            assertEquals(m.getDays(),
                m.getSign() * (int) m.getTotalDays());
            assertEquals(m.getDays() * 24 + m.getHours(),
                m.getSign() * (int) m.getTotalHours());
            assertEquals(m.getDays() * 24 * 60 + m.getHours() * 60 + m.getMinutes(),
                m.getSign() * (int) m.getTotalMinutes());
        }
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

            create().select(
                val(new YearToMonth(1, 1)).as("iyplus"),
                val(new YearToMonth(0)).as("iy"),
                val(new YearToMonth(1, 1).neg()).as("iyminus"),

                val(new DayToSecond(1, 1, 1, 1)).as("idplus"),
                val(new DayToSecond(0)).as("id"),
                val(new DayToSecond(1, 1, 1, 1).neg()).as("idminus")
            ).fetchOne();

            assertEquals(new YearToMonth(1, 1), record.getValue("iyplus"));
            assertEquals(new YearToMonth(0), record.getValue("iy"));
            assertEquals(new YearToMonth(1, 1).neg(), record.getValue("iyminus"));

            assertEquals(new DayToSecond(1, 1, 1, 1), record.getValue("idplus"));
            assertEquals(new DayToSecond(0), record.getValue("id"));
            assertEquals(new DayToSecond(1, 1, 1, 1).neg(), record.getValue("idminus"));
            // TODO: Add tests for reading date / time / interval types into pojos

            // [#566] INTERVAL arithmetic: multiplication
            // ------------------------------------------
            record =
            create().select(
                val(new YearToMonth(1)).div(2).as("y1"),
                val(new YearToMonth(1)).mul(2).as("y2"),
                val(new YearToMonth(1)).div(2).mul(2).as("y3"),

                val(new DayToSecond(1)).div(2).as("d1"),
                val(new DayToSecond(1)).mul(2).as("d2"),
                val(new DayToSecond(1)).div(2).mul(2).as("d3")
            ).fetchOne();

            assertEquals(new YearToMonth(0, 6), record.getValue("y1"));
            assertEquals(new YearToMonth(2), record.getValue("y2"));
            assertEquals(new YearToMonth(1), record.getValue("y3"));

            assertEquals(new DayToSecond(0, 12), record.getValue("d1"));
            assertEquals(new DayToSecond(2), record.getValue("d2"));
            assertEquals(new DayToSecond(1), record.getValue("d3"));
        }
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

            val(new Date(0)).add(new YearToMonth(1, 6)).as("d3"),
            dateAdd(new Date(0), new YearToMonth(1, 6)).as("d3a"),
            val(new Date(0)).add(new YearToMonth(1, 6).neg()).as("d4a"),
            val(new Date(0)).sub(new YearToMonth(1, 6)).as("d4b"),

            val(new Date(0)).add(new DayToSecond(2)).as("d5"),
            dateAdd(new Date(0), new DayToSecond(2)).as("d5a"),
            val(new Date(0)).add(new DayToSecond(2).neg()).as("d6a"),
            val(new Date(0)).sub(new DayToSecond(2)).as("d6b"),

            val(new Timestamp(0)).add(1).as("ts1"),
            timestampAdd(new Timestamp(0), 1).as("ts1a"),
            val(new Timestamp(0)).add(-1).as("ts2a"),
            val(new Timestamp(0)).sub(1).as("ts2b"),

            val(new Timestamp(0)).add(new YearToMonth(1, 6)).as("ts3"),
            timestampAdd(new Timestamp(0), new YearToMonth(1, 6)).as("ts3a"),
            val(new Timestamp(0)).add(new YearToMonth(1, 6).neg()).as("ts4a"),
            val(new Timestamp(0)).sub(new YearToMonth(1, 6)).as("ts4b"),

            val(new Timestamp(0)).add(new DayToSecond(2)).as("ts5"),
            timestampAdd(new Timestamp(0), new DayToSecond(2)).as("ts5a"),
            val(new Timestamp(0)).add(new DayToSecond(2).neg()).as("ts6a"),
            val(new Timestamp(0)).sub(new DayToSecond(2)).as("ts6b"),
            val(new Timestamp(0)).add(new DayToSecond(2, 6)).as("ts7"),
            val(new Timestamp(0)).add(new DayToSecond(2, 6).neg()).as("ts8a"),
            val(new Timestamp(0)).sub(new DayToSecond(2, 6)).as("ts8b"),

            // Dummy field for simpler testing
            inline("dummy")
        ).fetchOne();

        Calendar cal;

        cal = cal();
        cal.add(Calendar.DATE, 1);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d1"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d1a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts1"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts1a"));

        cal = cal();
        cal.add(Calendar.DATE, -1);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d2a"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d2b"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts2a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts2b"));

        cal = cal();
        cal.add(Calendar.MONTH, 18);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d3"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d3a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts3"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts3a"));

        cal = cal();
        cal.add(Calendar.MONTH, -18);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d4a"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d4b"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts4a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts4b"));

        cal = cal();
        cal.add(Calendar.DATE, 2);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d5"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d5a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts5"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts5a"));

        cal = cal();
        cal.add(Calendar.DATE, -2);
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d6a"));
        assertEquals(new Date(cal.getTimeInMillis()), record.getValue("d6b"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts6a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts6b"));

        cal = cal();
        cal.add(Calendar.DATE, 2);
        cal.add(Calendar.HOUR, 6);
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts7"));

        cal = cal();
        cal.add(Calendar.DATE, -2);
        cal.add(Calendar.HOUR, -6);
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts8a"));
        assertEquals(new Timestamp(cal.getTimeInMillis() - tsShift), record.getValue("ts8b"));

        // [#566] INTERVAL arithmetic: difference
        // --------------------------------------
        record =
        create().select(
            dateDiff(new Date(0), new Date(30 * 60 * 60 * 1000L)).as("d1"),
            dateDiff(new Date(30 * 60 * 60 * 1000L), new Date(0)).as("d2"),
            timestampDiff(new Timestamp(0), new Timestamp(30 * 60 * 60 * 1000L)).as("ts1"),
            timestampDiff(new Timestamp(30 * 60 * 60 * 1000L), new Timestamp(0)).as("ts2"),

            // Dummy field for simpler testing
            inline("dummy")
        ).fetchOne();

        assertEquals(-1, record.getValue("d1"));
        assertEquals(1, record.getValue("d2"));
        assertEquals(new DayToSecond(1, 6).neg(), record.getValue("ts1"));
        assertEquals(new DayToSecond(1, 6), record.getValue("ts2"));

        // [#470] TRUNC function
        record =
        create().select(
            trunc(new Date(1000)).as("d1"),
View Full Code Here

Examples of org.jooq.types.DayToSecond

        for (double i = -1394892834972.0; i <= 23487289374987.0; i += 283749827.3839293) {
            intervalChecks(i, DayToSecond.valueOf(i));
        }

        for (int i = 0; i <= 5; i++) {
            intervalChecks(i * 1000 * 86400.0, new DayToSecond(i));
            intervalChecks(i * 1000 * 3600.0, new DayToSecond(0, i));
            intervalChecks(i * 1000 * 60.0, new DayToSecond(0, 0, i));
            intervalChecks(i * 1000, new DayToSecond(0, 0, 0, i));
            intervalChecks(i / 1000000.0, new DayToSecond(0, 0, 0, 0, i));
        }
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

        if (interval instanceof YearToMonth) {
            YearToMonth y = YearToMonth.valueOf(interval.toString());
            assertEquals(interval, y);
        }
        else {
            DayToSecond m = DayToSecond.valueOf(interval.toString());
            assertEquals(interval, m);
            assertEquals(m.getDays(),
                m.getSign() * (int) m.getTotalDays());
            assertEquals(m.getDays() * 24 + m.getHours(),
                m.getSign() * (int) m.getTotalHours());
            assertEquals(m.getDays() * 24 * 60 + m.getHours() * 60 + m.getMinutes(),
                m.getSign() * (int) m.getTotalMinutes());
        }
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

                        return field("{dateadd}(mm, {0}, {1})", getDataType(), val(sign * rhsAsYTM().intValue()), lhs);
                    }
                    else {
                        // SQL Server needs this cast.
                        Field<Timestamp> lhsAsTS = lhs.cast(Timestamp.class);
                        DayToSecond interval = rhsAsDTS();

                        // Be careful with 32-bit INT arithmetic. Sybase ASE
                        // may fatally overflow when using micro-second precision
                        if (interval.getNano() != 0) {
                            return field("{dateadd}(ss, {0}, {dateadd}(us, {1}, {2}))", getDataType(),
                                val(sign * (long) interval.getTotalSeconds()),
                                val(sign * interval.getMicro()),
                                lhsAsTS);
                        }
                        else {
                            return field("{dateadd}(ss, {0}, {1})", getDataType(), val(sign * (long) interval.getTotalSeconds()), lhsAsTS);
                        }
                    }
                }

                case CUBRID:
                case MYSQL: {
                    Interval interval = rhsAsInterval();

                    if (operator == SUBTRACT) {
                        interval = interval.neg();
                    }

                    if (rhs.get(0).getType() == YearToMonth.class) {
                        return field("{date_add}({0}, {interval} {1} {year_month})", getDataType(), lhs, val(interval, String.class));
                    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

        if (negative) {
            i.call("scale", -1);
        }

        Double seconds = i.call("getSeconds").<Double>get();
        DayToSecond result = new DayToSecond(
            i.call("getDays").<Integer>get(),
            i.call("getHours").<Integer>get(),
            i.call("getMinutes").<Integer>get(),
            seconds.intValue(),
            (int) (1000000000 * (seconds - seconds.intValue())));

        if (negative) {
            result = result.neg();
        }

        return result;
    }
View Full Code Here

Examples of org.jooq.types.DayToSecond

        if (negative) {
            i.call("scale", -1);
        }

        Double seconds = i.call("getSeconds").<Double>get();
        DayToSecond result = new DayToSecond(
            i.call("getDays").<Integer>get(),
            i.call("getHours").<Integer>get(),
            i.call("getMinutes").<Integer>get(),
            seconds.intValue(),
            (int) (1000000000 * (seconds - seconds.intValue())));

        if (negative) {
            result = result.neg();
        }

        return result;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.