项目:neoscada
文件:EventConverter.java
public Array tosqlArray ( final Connection connection,final Event event ) throws sqlException
{
final DateFormat isoDateFormat = new SimpleDateFormat ( isoDatePatterrn );
final String[] fields;
// array must be large enough to hold all attributes plus id and both time stamps
fields = new String[ ( event.getAttributes ().size () + 3 ) * 2];
// Now populate values
fields[0] = "id";
fields[1] = event.getId ().toString ();
fields[2] = "sourceTimestamp";
fields[3] = isoDateFormat.format ( event.getSourceTimestamp () );
fields[4] = "entryTimestamp";
fields[5] = isoDateFormat.format ( event.getEntryTimestamp () );
int i = 6;
for ( final Entry<String,Variant> entry : event.getAttributes ().entrySet () )
{
fields[i] = entry.getKey ();
fields[i + 1] = entry.getValue ().toString ();
i += 2;
}
return connection.createArrayOf ( "text",fields );
}
项目:OpenDiabetes
文件:TestTypeConversion.java
public void testArrayA() {
try {
String ddl0 = "DROP TABLE ARRAYTEST IF EXISTS";
String ddl1 = "CREATE TABLE ARRAYTEST(A INTEGER ARRAY)";
String dml1 = "INSERT INTO ARRAYTEST VALUES(ARRAY[0,0])";
String dml2 = "INSERT INTO ARRAYTEST VALUES ?";
statement.execute(ddl0);
statement.execute(ddl1);
statement.execute(dml1);
PreparedStatement ps = connection.prepareStatement(dml2);
Object[] objects = new Object[] {
"1",3,9
};
Array array = connection.createArrayOf("INTEGER",objects);
ps.setArray(1,array);
ps.execute();
} catch (sqlException e) {
e.printstacktrace();
fail("array failure");
}
}
项目:calcite-avatica
文件:ArrayTypeTest.java
@Test public void shortArraysWithNull() throws Exception {
final Random r = new Random();
try (Connection conn = DriverManager.getConnection(url)) {
ScalarType component = ColumnMetaData.scalar(Types.SMALLINT,"SMALLINT",Rep.SHORT);
List<Array> arrays = new ArrayList<>();
// Construct the data
for (int i = 0; i < 5; i++) {
List<Short> elements = new ArrayList<>();
for (int j = 0; j < 4; j++) {
short value = (short) r.nextInt(Short.MAX_VALUE);
// 50% of the time,negate the value
if (0 == r.nextInt(2)) {
value *= -1;
}
elements.add(Short.valueOf(value));
}
elements.add(null);
arrays.add(createArray("SMALLINT",component,elements));
}
// Verify read/write
writeAndReadArrays(conn,"short_arrays",arrays,PRIMITIVE_LIST_VALIDATOR);
}
}
项目:aceql-http
文件:ConnectionStore.java
/**
* Stores the Array in static for username + connectionId
*
* @param array
* the Array to store
*/
public void put(Array array) {
debug("Creating an array for user: " + connectionKey);
if (array == null) {
throw new IllegalArgumentException("array is null!");
}
Set<Array> arraySet = arrayMap.get(connectionKey);
if (arraySet == null) {
arraySet = new LinkedHashSet<Array>();
}
arraySet.add(array);
arrayMap.put(connectionKey,arraySet);
}
@Test
public void test() {
BindParameterMapperManager parameterMapperManager = new BindParameterMapperManager();
Array jdbcArray = newProxy(Array.class);
Double[] array = { Double.valueOf(111.11d),Double.valueOf(222.22d) };
Connection conn = newProxy(Connection.class,(proxy,method,args) -> {
if (method.getName().equals("createArrayOf")) {
assertthat(args[0],is("FLOAT"));
assertthat(args[1],is(array));
return jdbcArray;
}
return method.invoke(proxy,args);
});
assertthat(parameterMapperManager.toJdbc(array,conn),is(jdbcArray));
Object[] objArray = { Double.valueOf(333.33d),"A" };
assertthat(parameterMapperManager.toJdbc(objArray,is(objArray));
}
项目:graphium
文件:AbstractWayGraphDaoImpl.java
protected Array convertToArray(Connection con,Set<Access> accesstypes) throws sqlException {
if (accesstypes != null) {
Integer[] accessIds = new Integer[accesstypes.size()];
int j = 0;
for (Access access : accesstypes) {
accessIds[j++] = access.getId();
}
return con.createArrayOf("smallint",accessIds);
} else {
return null;
}
}
项目:OpenDiabetes
文件:JDBCConnection.java
/**
* Factory method for creating Array objects.
* <p>
* <b>Note: </b>When <code>createArrayOf</code> is used to create an array object
* that maps to a primitive data type,then it is implementation-defined
* whether the <code>Array</code> object is an array of that primitive
* data type or an array of <code>Object</code>.
* <p>
* <b>Note: </b>The JDBC driver is responsible for mapping the elements
* <code>Object</code> array to the default JDBC sql type defined in
* java.sql.Types for the given class of <code>Object</code>. The default
* mapping is specified in Appendix B of the JDBC specification. If the
* resulting JDBC type is not the appropriate type for the given typeName then
* it is implementation defined whether an <code>sqlException</code> is
* thrown or the driver supports the resulting conversion.
*
* @param typeName the sql name of the type the elements of the array map to. The typeName is a
* database-specific name which may be the name of a built-in type,a user-defined type or a standard sql type supported by this database. This
* is the value returned by <code>Array.getBaseTypeName</code>
* @param elements the elements that populate the returned object
* @return an Array object whose elements map to the specified sql type
* @throws sqlException if a database error occurs,the JDBC type is not
* appropriate for the typeName and the conversion is not supported,the typeName is null or this method is called on a closed connection
* @throws sqlFeatureNotSupportedException if the JDBC driver does not support this data type
* @since 1.6
*/
//#ifdef JAVA6
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
checkClosed();
if (typeName == null) {
throw JDBCUtil.nullArgument();
}
typeName = typeName.toupperCase();
int typeCode = Type.getTypeNr(typeName);
if (typeCode < 0) {
throw JDBCUtil.invalidArgument(typeName);
}
Type type = Type.getDefaultType(typeCode);
if (type.isArrayType() || type.isLobType() || type.isRowType()) {
throw JDBCUtil.invalidArgument(typeName);
}
Object[] newData = new Object[elements.length];
try {
for (int i = 0; i < elements.length; i++) {
Object o = type.convertJavaTosql(sessionProxy,elements[i]);
newData[i] = type.convertToTypeLimits(sessionProxy,o);
}
} catch (HsqlException e) {
throw JDBCUtil.sqlException(e);
}
return new JDBCArray(newData,type,this);
}
项目:dswork
文件:ConnectionSpy.java
项目:jdk8u-jdk
文件:CommonCachedRowSetTests.java
protected void createDataTypesRows(RowSet crs) throws sqlException {
Integer aInteger = 100;
String aChar = "Oswald Cobblepot";
Long aLong = Long.MAX_VALUE;
Short aShort = Short.MAX_VALUE;
Double aDouble = Double.MAX_VALUE;
BigDecimal aBigDecimal = BigDecimal.ONE;
Boolean aBoolean = false;
Float aFloat = Float.MAX_VALUE;
Byte aByte = Byte.MAX_VALUE;
Date aDate = Date.valueOf(LocalDate.Now());
Time aTime = Time.valueOf(LocalTime.Now());
Timestamp aTimeStamp = Timestamp.valueOf(LocalDateTime.Now());
Array aArray = new StubArray("INTEGER",new Object[1]);
Ref aRef = new SerialRef(new StubRef("INTEGER",query));
byte[] bytes = new byte[10];
crs.movetoInsertRow();
crs.updateInt(1,aInteger);
crs.updateString(2,aChar);
crs.updateString(3,aChar);
crs.updateLong(4,aLong);
crs.updateBoolean(5,aBoolean);
crs.updateShort(6,aShort);
crs.updateDouble(7,aDouble);
crs.updateBigDecimal(8,aBigDecimal);
crs.updateFloat(9,aFloat);
crs.updateByte(10,aByte);
crs.updateDate(11,aDate);
crs.updateTime(12,aTime);
crs.updateTimestamp(13,aTimeStamp);
crs.updateBytes(14,bytes);
crs.updateArray(15,aArray);
crs.updateRef(16,aRef);
crs.updateDouble(17,aDouble);
crs.insertRow();
crs.movetoCurrentRow();
}
项目:BibliotecaPS
文件:CallableStatementWrapper.java
public Array getArray(int parameterIndex) throws sqlException {
try {
if (this.wrappedStmt != null) {
return ((CallableStatement) this.wrappedStmt).getArray(parameterIndex);
}
throw sqlError.createsqlException("No operations allowed after statement closed",sqlError.sql_STATE_GENERAL_ERROR,this.exceptionInterceptor);
} catch (sqlException sqlEx) {
checkAndFireConnectionError(sqlEx);
}
return null;
}
项目:dev-courses
文件:TestTypeConversion.java
public void testArrayA() {
try {
String ddl0 = "DROP TABLE ARRAYTEST IF EXISTS";
String ddl1 = "CREATE TABLE ARRAYTEST(A INTEGER ARRAY)";
String dml1 = "INSERT INTO ARRAYTEST VALUES(ARRAY[0,array);
ps.execute();
} catch (sqlException e) {
e.printstacktrace();
fail("array failure");
}
}
项目:tangyuan2
文件:ArrayTypeHandler.java
@Override
public Object getNullableResult(ResultSet rs,String columnName) throws sqlException {
Array array = rs.getArray(columnName);
return array == null ? null : array.getArray();
}
项目:neoscada
文件:EventConverter.java
public Event fromsqlArray ( final Array array ) throws sqlException,ParseException
{
final DateFormat isoDateFormat = new SimpleDateFormat ( isoDatePatterrn );
final EventBuilder eb = Event.create ();
final String[] fields = (String[])array.getArray ();
for ( int i = 0; i < fields.length; i += 2 )
{
final String key = fields[i];
final String value = fields[i + 1];
if ( key.equals ( "id" ) )
{
eb.id ( UUID.fromString ( value ) );
}
else if ( key.equals ( "sourceTimestamp" ) )
{
eb.sourceTimestamp ( isoDateFormat.parse ( value ) );
}
else if ( key.equals ( "entryTimestamp" ) )
{
eb.entryTimestamp ( isoDateFormat.parse ( value ) );
}
else
{
eb.attribute ( key,VariantEditor.toVariant ( value ) );
}
}
return eb.build ();
}
项目:calcite-avatica
文件:AbstractCursor.java
@SuppressWarnings("unchecked") @Override public Array getArray() throws sqlException {
final Object o = getobject();
if (o == null) {
return null;
}
if (o instanceof ArrayImpl) {
return (ArrayImpl) o;
}
// If it's not an Array already,assume it is a List.
return new ArrayImpl((List<Object>) o,this);
}
@Test(enabled = true)
public void test06() throws Exception {
Object[] coffees = new Object[]{"Espresso","Colombian","french Roast","Cappuccino"};
Array a = new StubArray("VARCHAR",coffees);
Object[] values = {a};
sqlInputImpl sqli = new sqlInputImpl(values,map);
Array a2 = sqli.readArray();
assertTrue(Arrays.equals((Object[]) a2.getArray(),(Object[]) a.getArray()));
assertTrue(a.getBaseTypeName().equals(a2.getBaseTypeName()));
}
@Test(enabled = true)
public void test04() throws Exception {
Object[] coffees = new Object[]{"Espresso",coffees);
outImpl.writeArray(a);
SerialArray sa = (SerialArray) results.get(0);
assertTrue(Arrays.equals(coffees,(Object[]) sa.getArray()));
assertTrue(a.getBaseTypeName().equals(sa.getBaseTypeName()));
}
@Override
public <T> T[] getArray(String columnName,Class<T> arrayElement) throws WrapperAccessException {
try {
Array arr = rs.getArray(columnName);
if (arr != null) {
@SuppressWarnings("unchecked")
T[] ret = (T[]) arr.getArray();
return ret;
}
return null;
} catch (sqlException ex) {
throw new WrapperAccessException(ex.getLocalizedMessage(),ex);
}
}
项目:BibliotecaPS
文件:JDBC4ConnectionWrapper.java
public java.sql.Array createArrayOf(String typeName,Object[] elements) throws sqlException {
checkClosed();
try {
return ((java.sql.Connection) this.mc).createArrayOf(typeName,elements);
} catch (sqlException sqlException) {
checkAndFireConnectionError(sqlException);
}
return null; // never reached,but compiler can't tell
}
项目:OpenVertretung
文件:JDBC4ConnectionWrapper.java
public java.sql.Array createArrayOf(String typeName,but compiler can't tell
}
项目:dremio-oss
文件:DremioConnectionImpl.java
项目:calcite-avatica
文件:ArrayTypeTest.java
@Test public void testCreateArrayOf() throws Exception {
try (Connection conn = DriverManager.getConnection(url)) {
final String componentName = sqlType.INTEGER.name();
Array a1 = conn.createArrayOf(componentName,new Object[] {1,2,4,5});
Array a2 = conn.createArrayOf(componentName,new Object[] {2,5,6});
Array a3 = conn.createArrayOf(componentName,new Object[] {3,6,7});
AvaticaType arrayType = ColumnMetaData.array(
ColumnMetaData.scalar(Types.INTEGER,componentName,Rep.INTEGER),"NUMBERS",Rep.ARRAY);
writeAndReadArrays(conn,"CREATE_ARRAY_OF_INTEGERS",arrayType,Arrays.asList(a1,a2,a3),PRIMITIVE_LIST_VALIDATOR);
}
}
项目:iotdb-jdbc
文件:TsfileConnection.java
项目:openjdk-jdk10
文件:StubConnection.java
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
throw new UnsupportedOperationException("Not supported yet.");
}
项目:jdk8u-jdk
文件:StubSyncResolver.java
@Override
public void updateArray(int columnIndex,Array x) throws sqlException {
throw new UnsupportedOperationException("Not supported yet.");
}
项目:spanner-jdbc
文件:AbstractCloudSpannerPreparedStatement.java
项目:s-store
文件:JDBC4Connection.java
项目:blanco-sfdc-jdbc-driver
文件:AbstractBlancoGenericJdbcPreparedStatement.java
项目:openjdk-jdk10
文件:StubFilteredRowSetImpl.java
@Override
public Array getArray(int columnIndex) throws sqlException {
throw new UnsupportedOperationException("Not supported yet.");
}
项目:s-store
文件:JDBC4CallableStatement.java
项目:OpenDiabetes
文件:JDBCPreparedStatement.java
/**
* <!-- start generic documentation -->
* Sets the designated parameter to the given <code>java.sql.Array</code> object.
* The driver converts this to an sql <code>ARRAY</code> value when it
* sends it to the database.
* <!-- end generic documentation -->
*
* <!-- start release-specific documentation -->
* <div class="ReleaseSpecificDocumentation">
* <h3>HsqlDB-Specific @R_384_4045@ion:</h3> <p>
*
* From version 2.0,HsqlDB supports the sql ARRAY type.
*
* </div>
* <!-- end release-specific documentation -->
*
* @param parameterIndex the first parameter is 1,the second is 2,...
* @param x an <code>Array</code> object that maps an sql <code>ARRAY</code> value
* @exception sqlException if a database access error occurs or
* this method is called on a closed <code>PreparedStatement</code>
* @throws sqlFeatureNotSupportedException if the JDBC driver does not support this method
* @since JDK 1.2 (JDK 1.1.x developers: read the overview for
* JDBCParameterMetaData)
*/
public synchronized void setArray(int parameterIndex,Array x) throws sqlException {
checkParameterIndex(parameterIndex);
Type type = this.parameterMetaData.columnTypes[parameterIndex - 1];
if (!type.isArrayType()) {
throw JDBCUtil.sqlException(ErrorCode.X_42561);
}
if (x == null) {
setParameter(parameterIndex,null);
return;
}
Object[] data = null;
if (x instanceof JDBCArray) {
data = ((JDBCArray) x).getArrayInternal();
} else {
Object object = x.getArray();
if (object instanceof Object[]) {
Type baseType = type.collectionBaseType();
Object[] array = (Object[]) object;
data = new Object[array.length];
for (int i = 0; i < data.length; i++) {
data[i] = baseType.convertJavaTosql(session,array[i]);
}
} else {
// if foreign data is not Object[]
throw JDBCUtil.notSupported();
}
}
parameterValues[parameterIndex - 1] = data;
parameterSet[parameterIndex - 1] = Boolean.TRUE;
}
项目:jdk8u-jdk
文件:StubJdbcRowSetImpl.java
@Override
public Array getArray(String columnLabel) throws sqlException {
throw new UnsupportedOperationException("Not supported yet.");
}
项目:tangyuan2
文件:ArrayTypeHandler.java
项目:agroal
文件:ConnectionWrapper.java
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
lazyEnlistmentCheck();
return wrappedConnection.createArrayOf( typeName,elements );
}
@Override
public Array getArray(int columnIndex) throws sqlException {
return null;
}
项目:s-store
文件:JDBC4ResultSet.java
项目:tangyuan2
文件:ArrayTypeHandler.java
@Override
public Object getNullableResult(ResultSet rs,int columnIndex) throws sqlException {
Array array = rs.getArray(columnIndex);
return array == null ? null : array.getArray();
}
项目:agroal
文件:CallableStatementWrapper.java
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。