#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name java.sql
header exports javax/transaction/xa,javax/sql,java/sql requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;20,name\u0020;java.logging\u0020;flags\u0020;20 uses java/sql/Driver flags 8000

class name java/sql/BatchUpdateException
header extends java/sql/SQLException flags 21
innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409

class name java/sql/CallableStatement
-method name getBigDecimal descriptor (II)Ljava/math/BigDecimal;
method name getBigDecimal descriptor (II)Ljava/math/BigDecimal; thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/Connection
method name beginRequest descriptor ()V thrownTypes java/sql/SQLException flags 1
method name endRequest descriptor ()V thrownTypes java/sql/SQLException flags 1
method name setShardingKeyIfValid descriptor (Ljava/sql/ShardingKey;Ljava/sql/ShardingKey;I)Z thrownTypes java/sql/SQLException flags 1
method name setShardingKeyIfValid descriptor (Ljava/sql/ShardingKey;I)Z thrownTypes java/sql/SQLException flags 1
method name setShardingKey descriptor (Ljava/sql/ShardingKey;Ljava/sql/ShardingKey;)V thrownTypes java/sql/SQLException flags 1
method name setShardingKey descriptor (Ljava/sql/ShardingKey;)V thrownTypes java/sql/SQLException flags 1

class name java/sql/ConnectionBuilder
header extends java/lang/Object flags 601
method name user descriptor (Ljava/lang/String;)Ljava/sql/ConnectionBuilder; flags 401
method name password descriptor (Ljava/lang/String;)Ljava/sql/ConnectionBuilder; flags 401
method name shardingKey descriptor (Ljava/sql/ShardingKey;)Ljava/sql/ConnectionBuilder; flags 401
method name superShardingKey descriptor (Ljava/sql/ShardingKey;)Ljava/sql/ConnectionBuilder; flags 401
method name build descriptor ()Ljava/sql/Connection; thrownTypes java/sql/SQLException flags 401

class name java/sql/DatabaseMetaData
method name supportsSharding descriptor ()Z thrownTypes java/sql/SQLException flags 1

class name java/sql/Date
-method name <init> descriptor (III)V
-method name getHours descriptor ()I
-method name getMinutes descriptor ()I
-method name getSeconds descriptor ()I
-method name setHours descriptor (I)V
-method name setMinutes descriptor (I)V
-method name setSeconds descriptor (I)V
method name <init> descriptor (III)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getHours descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getMinutes descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getSeconds descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setHours descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setMinutes descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setSeconds descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/DriverManager
header extends java/lang/Object flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
-method name getConnection descriptor (Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;
-method name getConnection descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
-method name getConnection descriptor (Ljava/lang/String;)Ljava/sql/Connection;
-method name getDriver descriptor (Ljava/lang/String;)Ljava/sql/Driver;
-method name registerDriver descriptor (Ljava/sql/Driver;)V
-method name registerDriver descriptor (Ljava/sql/Driver;Ljava/sql/DriverAction;)V
-method name deregisterDriver descriptor (Ljava/sql/Driver;)V
-method name getDrivers descriptor ()Ljava/util/Enumeration;
-method name setLogStream descriptor (Ljava/io/PrintStream;)V
-method name getLogStream descriptor ()Ljava/io/PrintStream;
method name getConnection descriptor (Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection; thrownTypes java/sql/SQLException flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name getConnection descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection; thrownTypes java/sql/SQLException flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name getConnection descriptor (Ljava/lang/String;)Ljava/sql/Connection; thrownTypes java/sql/SQLException flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name getDriver descriptor (Ljava/lang/String;)Ljava/sql/Driver; thrownTypes java/sql/SQLException flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name registerDriver descriptor (Ljava/sql/Driver;)V thrownTypes java/sql/SQLException flags 9
method name registerDriver descriptor (Ljava/sql/Driver;Ljava/sql/DriverAction;)V thrownTypes java/sql/SQLException flags 9
method name deregisterDriver descriptor (Ljava/sql/Driver;)V thrownTypes java/sql/SQLException flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name getDrivers descriptor ()Ljava/util/Enumeration; flags 9 signature ()Ljava/util/Enumeration<Ljava/sql/Driver;>; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name drivers descriptor ()Ljava/util/stream/Stream; flags 9 signature ()Ljava/util/stream/Stream<Ljava/sql/Driver;>; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name setLogStream descriptor (Ljava/io/PrintStream;)V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getLogStream descriptor ()Ljava/io/PrintStream; flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/JDBCType
header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum<Ljava/sql/JDBCType;>;Ljava/sql/SQLType;
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name java/sql/PreparedStatement
-method name setUnicodeStream descriptor (ILjava/io/InputStream;I)V
method name setUnicodeStream descriptor (ILjava/io/InputStream;I)V thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/ResultSet
-method name getBigDecimal descriptor (II)Ljava/math/BigDecimal;
-method name getUnicodeStream descriptor (I)Ljava/io/InputStream;
-method name getBigDecimal descriptor (Ljava/lang/String;I)Ljava/math/BigDecimal;
-method name getUnicodeStream descriptor (Ljava/lang/String;)Ljava/io/InputStream;
method name getBigDecimal descriptor (II)Ljava/math/BigDecimal; thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getUnicodeStream descriptor (I)Ljava/io/InputStream; thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getBigDecimal descriptor (Ljava/lang/String;I)Ljava/math/BigDecimal; thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getUnicodeStream descriptor (Ljava/lang/String;)Ljava/io/InputStream; thrownTypes java/sql/SQLException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/SQLException
header extends java/lang/Exception implements java/lang/Iterable flags 21 signature Ljava/lang/Exception;Ljava/lang/Iterable<Ljava/lang/Throwable;>;
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name java/sql/SQLWarning
header extends java/sql/SQLException flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name java/sql/ShardingKey
header extends java/lang/Object flags 601

class name java/sql/ShardingKeyBuilder
header extends java/lang/Object flags 601
method name subkey descriptor (Ljava/lang/Object;Ljava/sql/SQLType;)Ljava/sql/ShardingKeyBuilder; flags 401
method name build descriptor ()Ljava/sql/ShardingKey; thrownTypes java/sql/SQLException flags 401

class name java/sql/Statement
header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name enquoteLiteral descriptor (Ljava/lang/String;)Ljava/lang/String; thrownTypes java/sql/SQLException flags 1
method name enquoteIdentifier descriptor (Ljava/lang/String;Z)Ljava/lang/String; thrownTypes java/sql/SQLException flags 1
method name isSimpleIdentifier descriptor (Ljava/lang/String;)Z thrownTypes java/sql/SQLException flags 1
method name enquoteNCharLiteral descriptor (Ljava/lang/String;)Ljava/lang/String; thrownTypes java/sql/SQLException flags 1

class name java/sql/Time
-method name <init> descriptor (III)V
-method name getYear descriptor ()I
-method name getMonth descriptor ()I
-method name getDay descriptor ()I
-method name getDate descriptor ()I
-method name setYear descriptor (I)V
-method name setMonth descriptor (I)V
-method name setDate descriptor (I)V
method name <init> descriptor (III)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getYear descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getMonth descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getDay descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name getDate descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setYear descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setMonth descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")
method name setDate descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name java/sql/Timestamp
-method name <init> descriptor (IIIIIII)V
method name <init> descriptor (IIIIIII)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.2")

class name javax/sql/CommonDataSource
method name createShardingKeyBuilder descriptor ()Ljava/sql/ShardingKeyBuilder; thrownTypes java/sql/SQLException flags 1

class name javax/sql/ConnectionPoolDataSource
method name getLogWriter descriptor ()Ljava/io/PrintWriter; thrownTypes java/sql/SQLException flags 401
method name setLogWriter descriptor (Ljava/io/PrintWriter;)V thrownTypes java/sql/SQLException flags 401
method name setLoginTimeout descriptor (I)V thrownTypes java/sql/SQLException flags 401
method name getLoginTimeout descriptor ()I thrownTypes java/sql/SQLException flags 401
method name createPooledConnectionBuilder descriptor ()Ljavax/sql/PooledConnectionBuilder; thrownTypes java/sql/SQLException flags 1

class name javax/sql/DataSource
method name getLogWriter descriptor ()Ljava/io/PrintWriter; thrownTypes java/sql/SQLException flags 401
method name setLogWriter descriptor (Ljava/io/PrintWriter;)V thrownTypes java/sql/SQLException flags 401
method name setLoginTimeout descriptor (I)V thrownTypes java/sql/SQLException flags 401
method name getLoginTimeout descriptor ()I thrownTypes java/sql/SQLException flags 401
method name createConnectionBuilder descriptor ()Ljava/sql/ConnectionBuilder; thrownTypes java/sql/SQLException flags 1

class name javax/sql/PooledConnectionBuilder
header extends java/lang/Object flags 601
method name user descriptor (Ljava/lang/String;)Ljavax/sql/PooledConnectionBuilder; flags 401
method name password descriptor (Ljava/lang/String;)Ljavax/sql/PooledConnectionBuilder; flags 401
method name shardingKey descriptor (Ljava/sql/ShardingKey;)Ljavax/sql/PooledConnectionBuilder; flags 401
method name superShardingKey descriptor (Ljava/sql/ShardingKey;)Ljavax/sql/PooledConnectionBuilder; flags 401
method name build descriptor ()Ljavax/sql/PooledConnection; thrownTypes java/sql/SQLException flags 401

class name javax/sql/XAConnectionBuilder
header extends java/lang/Object flags 601
method name user descriptor (Ljava/lang/String;)Ljavax/sql/XAConnectionBuilder; flags 401
method name password descriptor (Ljava/lang/String;)Ljavax/sql/XAConnectionBuilder; flags 401
method name shardingKey descriptor (Ljava/sql/ShardingKey;)Ljavax/sql/XAConnectionBuilder; flags 401
method name superShardingKey descriptor (Ljava/sql/ShardingKey;)Ljavax/sql/XAConnectionBuilder; flags 401
method name build descriptor ()Ljavax/sql/XAConnection; thrownTypes java/sql/SQLException flags 401

class name javax/sql/XADataSource
method name getLogWriter descriptor ()Ljava/io/PrintWriter; thrownTypes java/sql/SQLException flags 401
method name setLogWriter descriptor (Ljava/io/PrintWriter;)V thrownTypes java/sql/SQLException flags 401
method name setLoginTimeout descriptor (I)V thrownTypes java/sql/SQLException flags 401
method name getLoginTimeout descriptor ()I thrownTypes java/sql/SQLException flags 401
method name createXAConnectionBuilder descriptor ()Ljavax/sql/XAConnectionBuilder; thrownTypes java/sql/SQLException flags 1

