Revision 44687 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/SQLBuilderBase.java

View differences:

SQLBuilderBase.java
899 899
        protected List<OrderByBuilder> order_by;
900 900
        protected boolean distinct;
901 901
        protected List<Variable> groupColumn;
902
        protected boolean check_order_and_offset = true;
902 903

  
903 904
        public SelectBuilderBase() {
904 905
            this.columns = new ArrayList<>();
......
1093 1094
            return !this.groupColumn.isEmpty();
1094 1095
        }
1095 1096
        
1097
        @Override
1098
        public void disable_check_order_and_offset() {
1099
          this.check_order_and_offset = false;
1100
        }
1101
        
1096 1102
        protected boolean isValid(StringBuilder message) {
1097 1103
            if (message == null) {
1098 1104
                message = new StringBuilder();
1099 1105
            }
1100
            if (this.has_offset() && !this.has_order_by()) {
1101
                // Algunos gestores de BBDD requieren que se especifique un
1102
                // orden para poder usar OFFSET. Como eso parece buena idea para
1103
                // asegurar que siempre tengamos los mismo resultados, lo exijimos
1104
                // siempre.
1105
                message.append("Can't use OFFSET without an ORDER BY.");
1106
                return false;
1106
            if( this.check_order_and_offset ) {
1107
              if (this.has_offset() && !this.has_order_by()) {
1108
                  // Algunos gestores de BBDD requieren que se especifique un
1109
                  // orden para poder usar OFFSET. Como eso parece buena idea para
1110
                  // asegurar que siempre tengamos los mismo resultados, lo exijimos
1111
                  // siempre.
1112
                  message.append("Can't use OFFSET without an ORDER BY.");
1113
                  return false;
1114
              }
1107 1115
            }
1108 1116
            return true;
1109 1117
        }

Also available in: Unified diff