1 33 package smallsql.database; 34 35 import java.util.Random ; 36 37 38 final class ExpressionFunctionRand extends ExpressionFunctionReturnFloat { 39 40 final static private Random random = new Random (); 41 42 43 final int getFunction(){ return SQLTokenizer.RAND; } 44 45 46 boolean isNull() throws Exception { 47 return getParams().length == 1 && param1.isNull(); 48 } 49 50 51 final double getDouble() throws Exception { 52 if(getParams().length == 0) 53 return random.nextDouble(); 54 if(isNull()) return 0; 55 return new Random (param1.getLong()).nextDouble(); 56 } 57 } | Popular Tags |