1 34 package smallsql.database; 35 36 import java.io.ByteArrayOutputStream ; 37 38 39 42 public class ExpressionFunctionRepeat extends ExpressionFunctionReturnP1StringAndBinary { 43 44 final int getFunction() { 45 return SQLTokenizer.REPEAT; 46 } 47 48 49 final byte[] getBytes() throws Exception { 50 if(isNull()) return null; 51 byte[] bytes = param1.getBytes(); 52 int count = param2.getInt(); 53 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 54 for(int i=0; i<count; i++){ 55 buffer.write(bytes); 56 } 57 return buffer.toByteArray(); 58 } 59 60 61 final String getString() throws Exception { 62 if(isNull()) return null; 63 String str = param1.getString(); 64 int count = param2.getInt(); 65 StringBuffer buffer = new StringBuffer (); 66 for(int i=0; i<count; i++){ 67 buffer.append(str); 68 } 69 return buffer.toString(); 70 } 71 72 73 int getPrecision() { 74 return SSResultSetMetaData.getDataTypePrecision( getDataType(), -1 ); 75 } 76 77 78 79 } 80 | Popular Tags |