├── .gitignore ├── LICENSE ├── QA.md ├── README.md ├── assembly ├── assembly.xml ├── bin │ ├── restart.sh │ ├── shutdown.sh │ ├── startup.bat │ └── startup.sh └── conf │ ├── hsb.properties │ ├── log4j.xml │ ├── rule.xml │ ├── schema.xml │ └── server.xml ├── build.sh ├── doc ├── heisenberg开发手册.docx └── 分库分表中间件heisenberg.pptx ├── pom.xml └── src └── main ├── config └── com │ └── baidu │ └── hsb │ └── config │ ├── Alarms.java │ ├── Capabilities.java │ ├── ErrorCode.java │ ├── Fields.java │ ├── Isolations.java │ ├── Versions.java │ ├── loader │ ├── ConfigLoader.java │ ├── SchemaLoader.java │ └── xml │ │ ├── XMLConfigLoader.java │ │ ├── XMLRuleLoader.java │ │ ├── XMLSchemaLoader.java │ │ └── XMLServerLoader.java │ ├── model │ ├── RealTableCache.java │ └── config │ │ ├── ClusterConfig.java │ │ ├── DataNodeConfig.java │ │ ├── DataSourceConfig.java │ │ ├── HeisenbergNodeConfig.java │ │ ├── QuarantineConfig.java │ │ ├── SchemaConfig.java │ │ ├── SystemConfig.java │ │ ├── TableConfig.java │ │ ├── TableRuleConfig.java │ │ └── UserConfig.java │ └── util │ ├── BeanConfig.java │ ├── ByteUtil.java │ ├── ConfigException.java │ ├── ConfigUtil.java │ ├── ExceptionUtil.java │ ├── FieldDictionary.java │ ├── Initializable.java │ ├── JVMInfo.java │ ├── LoggerUtil.java │ ├── ObjectAccessException.java │ ├── OrderRetainingMap.java │ ├── ParameterMapping.java │ ├── ReflectionProvider.java │ └── Visitor.java ├── net └── com │ └── baidu │ └── hsb │ └── net │ ├── AbstractConnection.java │ ├── BackendConnection.java │ ├── FrontendConnection.java │ ├── NIOAcceptor.java │ ├── NIOConnection.java │ ├── NIOConnector.java │ ├── NIOHandler.java │ ├── NIOProcessor.java │ ├── NIOReactor.java │ ├── buffer │ ├── BufferPool.java │ └── BufferQueue.java │ ├── factory │ ├── BackendConnectionFactory.java │ └── FrontendConnectionFactory.java │ ├── handler │ ├── BackendAsyncHandler.java │ ├── FrontendAuthenticator.java │ ├── FrontendCommandHandler.java │ ├── FrontendPrepareHandler.java │ ├── FrontendPrivileges.java │ └── FrontendQueryHandler.java │ └── mysql │ ├── AuthPacket.java │ ├── BinaryPacket.java │ ├── CommandPacket.java │ ├── EOFPacket.java │ ├── ErrorPacket.java │ ├── ExecutePacket.java │ ├── FieldPacket.java │ ├── HandshakePacket.java │ ├── HeartbeatPacket.java │ ├── MySQLPacket.java │ ├── OkPacket.java │ ├── PingPacket.java │ ├── PreparedOkPacket.java │ ├── QuitPacket.java │ ├── Reply323Packet.java │ ├── ResultSetHeaderPacket.java │ └── RowDataPacket.java ├── parser └── com │ └── baidu │ └── hsb │ └── parser │ ├── ast │ ├── ASTNode.java │ ├── expression │ │ ├── AbstractExpression.java │ │ ├── BinaryOperatorExpression.java │ │ ├── Expression.java │ │ ├── PolyadicOperatorExpression.java │ │ ├── ReplacableExpression.java │ │ ├── TernaryOperatorExpression.java │ │ ├── UnaryOperatorExpression.java │ │ ├── arithmeic │ │ │ ├── ArithmeticAddExpression.java │ │ │ ├── ArithmeticBinaryOperatorExpression.java │ │ │ ├── ArithmeticDivideExpression.java │ │ │ ├── ArithmeticIntegerDivideExpression.java │ │ │ ├── ArithmeticModExpression.java │ │ │ ├── ArithmeticMultiplyExpression.java │ │ │ ├── ArithmeticSubtractExpression.java │ │ │ └── MinusExpression.java │ │ ├── bit │ │ │ ├── BitAndExpression.java │ │ │ ├── BitInvertExpression.java │ │ │ ├── BitOrExpression.java │ │ │ ├── BitShiftExpression.java │ │ │ └── BitXORExpression.java │ │ ├── comparison │ │ │ ├── BetweenAndExpression.java │ │ │ ├── ComparisionEqualsExpression.java │ │ │ ├── ComparisionGreaterThanExpression.java │ │ │ ├── ComparisionGreaterThanOrEqualsExpression.java │ │ │ ├── ComparisionIsExpression.java │ │ │ ├── ComparisionLessOrGreaterThanExpression.java │ │ │ ├── ComparisionLessThanExpression.java │ │ │ ├── ComparisionLessThanOrEqualsExpression.java │ │ │ ├── ComparisionNotEqualsExpression.java │ │ │ ├── ComparisionNullSafeEqualsExpression.java │ │ │ └── InExpression.java │ │ ├── logical │ │ │ ├── LogicalAndExpression.java │ │ │ ├── LogicalNotExpression.java │ │ │ ├── LogicalOrExpression.java │ │ │ ├── LogicalXORExpression.java │ │ │ └── NegativeValueExpression.java │ │ ├── misc │ │ │ ├── AssignmentExpression.java │ │ │ ├── InExpressionList.java │ │ │ ├── QueryExpression.java │ │ │ ├── SubqueryAllExpression.java │ │ │ ├── SubqueryAnyExpression.java │ │ │ └── UserExpression.java │ │ ├── primary │ │ │ ├── CaseWhenOperatorExpression.java │ │ │ ├── DefaultValue.java │ │ │ ├── ExistsPrimary.java │ │ │ ├── Identifier.java │ │ │ ├── MatchExpression.java │ │ │ ├── ParamMarker.java │ │ │ ├── PlaceHolder.java │ │ │ ├── PrimaryExpression.java │ │ │ ├── RowExpression.java │ │ │ ├── SysVarPrimary.java │ │ │ ├── UsrDefVarPrimary.java │ │ │ ├── VariableExpression.java │ │ │ ├── Wildcard.java │ │ │ ├── function │ │ │ │ ├── FunctionExpression.java │ │ │ │ ├── arithmetic │ │ │ │ │ ├── Abs.java │ │ │ │ │ ├── Acos.java │ │ │ │ │ ├── Asin.java │ │ │ │ │ ├── Atan.java │ │ │ │ │ ├── Atan2.java │ │ │ │ │ ├── Ceiling.java │ │ │ │ │ ├── Conv.java │ │ │ │ │ ├── Cos.java │ │ │ │ │ ├── Cot.java │ │ │ │ │ ├── Crc32.java │ │ │ │ │ ├── Degrees.java │ │ │ │ │ ├── Exp.java │ │ │ │ │ ├── Floor.java │ │ │ │ │ ├── Log.java │ │ │ │ │ ├── Log10.java │ │ │ │ │ ├── Log2.java │ │ │ │ │ ├── Oct.java │ │ │ │ │ ├── Pi.java │ │ │ │ │ ├── Pow.java │ │ │ │ │ ├── Radians.java │ │ │ │ │ ├── Rand.java │ │ │ │ │ ├── Round.java │ │ │ │ │ ├── Sign.java │ │ │ │ │ ├── Sin.java │ │ │ │ │ ├── Sqrt.java │ │ │ │ │ ├── Tan.java │ │ │ │ │ └── Truncate.java │ │ │ │ ├── bit │ │ │ │ │ └── BitCount.java │ │ │ │ ├── cast │ │ │ │ │ ├── Cast.java │ │ │ │ │ └── Convert.java │ │ │ │ ├── comparison │ │ │ │ │ ├── Coalesce.java │ │ │ │ │ ├── Greatest.java │ │ │ │ │ ├── Interval.java │ │ │ │ │ ├── Isnull.java │ │ │ │ │ └── Least.java │ │ │ │ ├── datetime │ │ │ │ │ ├── Adddate.java │ │ │ │ │ ├── Addtime.java │ │ │ │ │ ├── ConvertTz.java │ │ │ │ │ ├── Curdate.java │ │ │ │ │ ├── Curtime.java │ │ │ │ │ ├── Date.java │ │ │ │ │ ├── DateAdd.java │ │ │ │ │ ├── DateFormat.java │ │ │ │ │ ├── DateSub.java │ │ │ │ │ ├── Datediff.java │ │ │ │ │ ├── Dayname.java │ │ │ │ │ ├── Dayofmonth.java │ │ │ │ │ ├── Dayofweek.java │ │ │ │ │ ├── Dayofyear.java │ │ │ │ │ ├── Extract.java │ │ │ │ │ ├── FromDays.java │ │ │ │ │ ├── FromUnixtime.java │ │ │ │ │ ├── GetFormat.java │ │ │ │ │ ├── Hour.java │ │ │ │ │ ├── LastDay.java │ │ │ │ │ ├── Makedate.java │ │ │ │ │ ├── Maketime.java │ │ │ │ │ ├── Microsecond.java │ │ │ │ │ ├── Minute.java │ │ │ │ │ ├── Month.java │ │ │ │ │ ├── Monthname.java │ │ │ │ │ ├── Now.java │ │ │ │ │ ├── PeriodAdd.java │ │ │ │ │ ├── PeriodDiff.java │ │ │ │ │ ├── Quarter.java │ │ │ │ │ ├── SecToTime.java │ │ │ │ │ ├── Second.java │ │ │ │ │ ├── StrToDate.java │ │ │ │ │ ├── Subdate.java │ │ │ │ │ ├── Subtime.java │ │ │ │ │ ├── Sysdate.java │ │ │ │ │ ├── Time.java │ │ │ │ │ ├── TimeFormat.java │ │ │ │ │ ├── TimeToSec.java │ │ │ │ │ ├── Timediff.java │ │ │ │ │ ├── Timestamp.java │ │ │ │ │ ├── Timestampadd.java │ │ │ │ │ ├── Timestampdiff.java │ │ │ │ │ ├── ToDays.java │ │ │ │ │ ├── ToSeconds.java │ │ │ │ │ ├── UnixTimestamp.java │ │ │ │ │ ├── UtcDate.java │ │ │ │ │ ├── UtcTime.java │ │ │ │ │ ├── UtcTimestamp.java │ │ │ │ │ ├── Week.java │ │ │ │ │ ├── Weekday.java │ │ │ │ │ ├── Weekofyear.java │ │ │ │ │ ├── Year.java │ │ │ │ │ └── Yearweek.java │ │ │ │ ├── encryption │ │ │ │ │ ├── AesDecrypt.java │ │ │ │ │ ├── AesEncrypt.java │ │ │ │ │ ├── Compress.java │ │ │ │ │ ├── Decode.java │ │ │ │ │ ├── DesDecrypt.java │ │ │ │ │ ├── DesEncrypt.java │ │ │ │ │ ├── Encode.java │ │ │ │ │ ├── Encrypt.java │ │ │ │ │ ├── Md5.java │ │ │ │ │ ├── OldPassword.java │ │ │ │ │ ├── Password.java │ │ │ │ │ ├── Sha1.java │ │ │ │ │ ├── Sha2.java │ │ │ │ │ ├── Uncompress.java │ │ │ │ │ └── UncompressedLength.java │ │ │ │ ├── flowctrl │ │ │ │ │ ├── If.java │ │ │ │ │ ├── Ifnull.java │ │ │ │ │ └── Nullif.java │ │ │ │ ├── groupby │ │ │ │ │ ├── Avg.java │ │ │ │ │ ├── BitAnd.java │ │ │ │ │ ├── BitOr.java │ │ │ │ │ ├── BitXor.java │ │ │ │ │ ├── Count.java │ │ │ │ │ ├── GroupConcat.java │ │ │ │ │ ├── Max.java │ │ │ │ │ ├── Min.java │ │ │ │ │ ├── Std.java │ │ │ │ │ ├── Stddev.java │ │ │ │ │ ├── StddevPop.java │ │ │ │ │ ├── StddevSamp.java │ │ │ │ │ ├── Sum.java │ │ │ │ │ ├── VarPop.java │ │ │ │ │ ├── VarSamp.java │ │ │ │ │ └── Variance.java │ │ │ │ ├── info │ │ │ │ │ ├── Benchmark.java │ │ │ │ │ ├── Charset.java │ │ │ │ │ ├── Coercibility.java │ │ │ │ │ ├── Collation.java │ │ │ │ │ ├── ConnectionId.java │ │ │ │ │ ├── CurrentUser.java │ │ │ │ │ ├── Database.java │ │ │ │ │ ├── FoundRows.java │ │ │ │ │ ├── LastInsertId.java │ │ │ │ │ ├── RowCount.java │ │ │ │ │ ├── User.java │ │ │ │ │ └── Version.java │ │ │ │ ├── misc │ │ │ │ │ ├── Analyse.java │ │ │ │ │ ├── Default.java │ │ │ │ │ ├── GetLock.java │ │ │ │ │ ├── InetAton.java │ │ │ │ │ ├── InetNtoa.java │ │ │ │ │ ├── IsFreeLock.java │ │ │ │ │ ├── IsUsedLock.java │ │ │ │ │ ├── MasterPosWait.java │ │ │ │ │ ├── NameConst.java │ │ │ │ │ ├── ReleaseLock.java │ │ │ │ │ ├── Sleep.java │ │ │ │ │ ├── Uuid.java │ │ │ │ │ ├── UuidShort.java │ │ │ │ │ └── Values.java │ │ │ │ ├── string │ │ │ │ │ ├── Ascii.java │ │ │ │ │ ├── Bin.java │ │ │ │ │ ├── BitLength.java │ │ │ │ │ ├── Char.java │ │ │ │ │ ├── CharLength.java │ │ │ │ │ ├── Concat.java │ │ │ │ │ ├── ConcatWs.java │ │ │ │ │ ├── Elt.java │ │ │ │ │ ├── ExportSet.java │ │ │ │ │ ├── Field.java │ │ │ │ │ ├── FindInSet.java │ │ │ │ │ ├── Format.java │ │ │ │ │ ├── Hex.java │ │ │ │ │ ├── Insert.java │ │ │ │ │ ├── Instr.java │ │ │ │ │ ├── Left.java │ │ │ │ │ ├── Length.java │ │ │ │ │ ├── LoadFile.java │ │ │ │ │ ├── Locate.java │ │ │ │ │ ├── Lower.java │ │ │ │ │ ├── Lpad.java │ │ │ │ │ ├── Ltrim.java │ │ │ │ │ ├── MakeSet.java │ │ │ │ │ ├── Ord.java │ │ │ │ │ ├── Quote.java │ │ │ │ │ ├── Repeat.java │ │ │ │ │ ├── Replace.java │ │ │ │ │ ├── Reverse.java │ │ │ │ │ ├── Right.java │ │ │ │ │ ├── Rpad.java │ │ │ │ │ ├── Rtrim.java │ │ │ │ │ ├── Soundex.java │ │ │ │ │ ├── Space.java │ │ │ │ │ ├── Strcmp.java │ │ │ │ │ ├── Substring.java │ │ │ │ │ ├── SubstringIndex.java │ │ │ │ │ ├── Trim.java │ │ │ │ │ ├── Unhex.java │ │ │ │ │ └── Upper.java │ │ │ │ └── xml │ │ │ │ │ ├── Extractvalue.java │ │ │ │ │ └── Updatexml.java │ │ │ └── literal │ │ │ │ ├── IntervalPrimary.java │ │ │ │ ├── Literal.java │ │ │ │ ├── LiteralBitField.java │ │ │ │ ├── LiteralBoolean.java │ │ │ │ ├── LiteralHexadecimal.java │ │ │ │ ├── LiteralNull.java │ │ │ │ ├── LiteralNumber.java │ │ │ │ └── LiteralString.java │ │ ├── string │ │ │ ├── LikeExpression.java │ │ │ ├── RegexpExpression.java │ │ │ └── SoundsLikeExpression.java │ │ └── type │ │ │ ├── CastBinaryExpression.java │ │ │ └── CollateExpression.java │ ├── fragment │ │ ├── GroupBy.java │ │ ├── Limit.java │ │ ├── OrderBy.java │ │ ├── SortOrder.java │ │ ├── VariableScope.java │ │ ├── ddl │ │ │ ├── ColumnDefinition.java │ │ │ ├── TableOptions.java │ │ │ ├── datatype │ │ │ │ └── DataType.java │ │ │ └── index │ │ │ │ ├── IndexColumnName.java │ │ │ │ ├── IndexDefinition.java │ │ │ │ └── IndexOption.java │ │ └── tableref │ │ │ ├── AliasableTableReference.java │ │ │ ├── Dual.java │ │ │ ├── IndexHint.java │ │ │ ├── InnerJoin.java │ │ │ ├── NaturalJoin.java │ │ │ ├── OuterJoin.java │ │ │ ├── StraightJoin.java │ │ │ ├── SubqueryFactor.java │ │ │ ├── TableRefFactor.java │ │ │ ├── TableReference.java │ │ │ └── TableReferences.java │ └── stmt │ │ ├── SQLStatement.java │ │ ├── dal │ │ ├── DALSetCharacterSetStatement.java │ │ ├── DALSetNamesStatement.java │ │ ├── DALSetStatement.java │ │ ├── DALShowStatement.java │ │ ├── ShowAuthors.java │ │ ├── ShowBinLogEvent.java │ │ ├── ShowBinaryLog.java │ │ ├── ShowCharaterSet.java │ │ ├── ShowCollation.java │ │ ├── ShowColumns.java │ │ ├── ShowContributors.java │ │ ├── ShowCreate.java │ │ ├── ShowDatabases.java │ │ ├── ShowEngine.java │ │ ├── ShowEngines.java │ │ ├── ShowErrors.java │ │ ├── ShowEvents.java │ │ ├── ShowFunctionCode.java │ │ ├── ShowFunctionStatus.java │ │ ├── ShowGrants.java │ │ ├── ShowIndex.java │ │ ├── ShowMasterStatus.java │ │ ├── ShowOpenTables.java │ │ ├── ShowPlugins.java │ │ ├── ShowPrivileges.java │ │ ├── ShowProcedureCode.java │ │ ├── ShowProcedureStatus.java │ │ ├── ShowProcesslist.java │ │ ├── ShowProfile.java │ │ ├── ShowProfiles.java │ │ ├── ShowSlaveHosts.java │ │ ├── ShowSlaveStatus.java │ │ ├── ShowStatus.java │ │ ├── ShowTableStatus.java │ │ ├── ShowTables.java │ │ ├── ShowTriggers.java │ │ ├── ShowVariables.java │ │ └── ShowWarnings.java │ │ ├── ddl │ │ ├── DDLAlterTableStatement.java │ │ ├── DDLCreateIndexStatement.java │ │ ├── DDLCreateTableStatement.java │ │ ├── DDLDropIndexStatement.java │ │ ├── DDLDropTableStatement.java │ │ ├── DDLRenameTableStatement.java │ │ ├── DDLStatement.java │ │ ├── DDLTruncateStatement.java │ │ └── DescTableStatement.java │ │ ├── dml │ │ ├── DMLCallStatement.java │ │ ├── DMLCondition.java │ │ ├── DMLDeleteStatement.java │ │ ├── DMLInsertReplaceStatement.java │ │ ├── DMLInsertStatement.java │ │ ├── DMLQueryStatement.java │ │ ├── DMLReplaceStatement.java │ │ ├── DMLSelectStatement.java │ │ ├── DMLSelectUnionStatement.java │ │ ├── DMLStatement.java │ │ └── DMLUpdateStatement.java │ │ ├── extension │ │ ├── ExtDDLCreatePolicy.java │ │ └── ExtDDLDropPolicy.java │ │ └── mts │ │ ├── MTSReleaseStatement.java │ │ ├── MTSRollbackStatement.java │ │ ├── MTSSavepointStatement.java │ │ └── MTSSetTransactionStatement.java │ ├── recognizer │ ├── SQLParserDelegate.java │ └── mysql │ │ ├── MySQLFunctionManager.java │ │ ├── MySQLToken.java │ │ ├── lexer │ │ ├── MySQLKeywords.java │ │ └── MySQLLexer.java │ │ └── syntax │ │ ├── MySQLDALParser.java │ │ ├── MySQLDDLParser.java │ │ ├── MySQLDMLCallParser.java │ │ ├── MySQLDMLDeleteParser.java │ │ ├── MySQLDMLInsertParser.java │ │ ├── MySQLDMLInsertReplaceParser.java │ │ ├── MySQLDMLParser.java │ │ ├── MySQLDMLReplaceParser.java │ │ ├── MySQLDMLSelectParser.java │ │ ├── MySQLDMLUpdateParser.java │ │ ├── MySQLExprParser.java │ │ ├── MySQLMTSParser.java │ │ └── MySQLParser.java │ ├── util │ ├── ArrayUtil.java │ ├── BinaryOperandCalculator.java │ ├── CharTypes.java │ ├── ExprEvalUtils.java │ ├── ListUtil.java │ ├── Pair.java │ ├── PairUtil.java │ ├── ParseString.java │ ├── ParseUtil.java │ └── UnaryOperandCalculator.java │ └── visitor │ ├── EmptySQLASTVisitor.java │ ├── MySQLOutputASTVisitor.java │ └── SQLASTVisitor.java ├── resources ├── hsb.properties ├── log4j.xml ├── rule.xml ├── sample │ ├── rule.xml │ ├── schema.xml │ └── server.xml ├── schema.xml └── server.xml ├── route └── com │ └── baidu │ └── hsb │ └── route │ ├── HServerRouter.java │ ├── RouteException.java │ ├── RouteResultset.java │ ├── RouteResultsetNode.java │ ├── config │ └── RouteRuleInitializer.java │ ├── context │ └── HeisenbergContext.java │ ├── hint │ ├── CobarHint.java │ ├── DataNodeHintParser.java │ ├── HintParser.java │ ├── PartitionOperandHintParser.java │ └── SimpleHintParser.java │ ├── router │ └── MetaRouter.java │ ├── util │ ├── ByteConstant.java │ ├── ByteUtil.java │ ├── DateUtil.java │ ├── PartitionUtil.java │ ├── PermutationUtil.java │ ├── SqlUtil.java │ ├── StringUtil.java │ ├── VelocityUtil.java │ └── WeightHelper.java │ └── visitor │ ├── HPartitionVisitor.java │ └── PartitionKeyVisitor.java └── server └── com └── baidu └── hsb ├── ConfigInitializer.java ├── HeisenbergCluster.java ├── HeisenbergConfig.java ├── HeisenbergContext.java ├── HeisenbergNode.java ├── HeisenbergPrivileges.java ├── HeisenbergServer.java ├── HeisenbergShutdown.java ├── HeisenbergStartup.java ├── Log4jInitializer.java ├── exception ├── ErrorPacketException.java ├── HeartbeatException.java ├── UnknownCharsetException.java ├── UnknownDataNodeException.java ├── UnknownPacketException.java └── UnknownTxIsolationException.java ├── heartbeat ├── CobarDetector.java ├── CobarDetectorAuthenticator.java ├── CobarDetectorFactory.java ├── CobarDetectorHandler.java ├── CobarHeartbeat.java ├── MySQLDetector.java ├── MySQLDetectorAuthenticator.java ├── MySQLDetectorFactory.java ├── MySQLDetectorHandler.java └── MySQLHeartbeat.java ├── manager ├── ManagerConnection.java ├── ManagerConnectionFactory.java ├── ManagerQueryHandler.java ├── handler │ ├── ClearHandler.java │ ├── ReloadHandler.java │ ├── RollbackHandler.java │ ├── SelectHandler.java │ ├── ShowHandler.java │ ├── StopHandler.java │ └── SwitchHandler.java ├── parser │ ├── ManagerParse.java │ ├── ManagerParseClear.java │ ├── ManagerParseKill.java │ ├── ManagerParseReload.java │ ├── ManagerParseRollback.java │ ├── ManagerParseSelect.java │ ├── ManagerParseShow.java │ ├── ManagerParseStop.java │ └── ManagerParseSwitch.java └── response │ ├── ClearSlow.java │ ├── KillConnection.java │ ├── Offline.java │ ├── Online.java │ ├── ReloadConfig.java │ ├── ReloadUser.java │ ├── RollbackConfig.java │ ├── RollbackUser.java │ ├── SelectSessionAutoIncrement.java │ ├── SelectVersionComment.java │ ├── ShowBackend.java │ ├── ShowCollation.java │ ├── ShowCommand.java │ ├── ShowConnection.java │ ├── ShowConnectionSQL.java │ ├── ShowDataNode.java │ ├── ShowDataSource.java │ ├── ShowDatabase.java │ ├── ShowHeartbeat.java │ ├── ShowHelp.java │ ├── ShowParser.java │ ├── ShowProcessor.java │ ├── ShowRouter.java │ ├── ShowSQL.java │ ├── ShowSQLDetail.java │ ├── ShowSQLExecute.java │ ├── ShowSQLSlow.java │ ├── ShowServer.java │ ├── ShowSlow.java │ ├── ShowThreadPool.java │ ├── ShowTime.java │ ├── ShowVariables.java │ ├── ShowVersion.java │ ├── StopHeartbeat.java │ └── SwitchDataSource.java ├── mysql ├── BindValue.java ├── BindValueUtil.java ├── BufferUtil.java ├── ByteUtil.java ├── CharsetUtil.java ├── MySQLDataNode.java ├── MySQLDataSource.java ├── MySQLMessage.java ├── PacketUtil.java ├── PreparedStatement.java ├── SecurityUtil.java ├── StreamUtil.java ├── bio │ ├── Channel.java │ ├── ChannelFactory.java │ ├── MySQLChannel.java │ ├── MySQLChannelFactory.java │ └── executor │ │ ├── DefaultCommitExecutor.java │ │ ├── MultiNodeExecutor.java │ │ ├── MultiNodeTask.java │ │ ├── NodeExecutor.java │ │ ├── RollbackExecutor.java │ │ ├── SingleNodeExecutor.java │ │ ├── XAMultiNodeExecutor.java │ │ ├── XASingleNodeExecutor.java │ │ └── XAUtil.java ├── common │ └── DataSource.java ├── nio │ ├── MySQLConnection.java │ ├── MySQLConnectionAuthenticator.java │ ├── MySQLConnectionFactory.java │ ├── MySQLConnectionHandler.java │ ├── MySQLConnectionPool.java │ └── handler │ │ ├── CommitNodeHandler.java │ │ ├── DelegateResponseHandler.java │ │ ├── KillConnectionHandler.java │ │ ├── MultiNodeHandler.java │ │ ├── MultiNodeQueryHandler.java │ │ ├── ResponseHandler.java │ │ ├── ResponseHandlerAdaptor.java │ │ ├── RollbackNodeHandler.java │ │ ├── RollbackReleaseHandler.java │ │ ├── SingleNodeHandler.java │ │ └── Terminatable.java └── xa │ └── XAOp.java ├── security ├── DecryptGen.java ├── EncryptGen.java └── KeyPairGen.java ├── server ├── ServerConnection.java ├── ServerConnectionFactory.java ├── ServerQueryHandler.java ├── context │ └── XAContext.java ├── handler │ ├── BeginHandler.java │ ├── CommitHandler.java │ ├── ExplainHandler.java │ ├── KillHandler.java │ ├── KillQueryHandler.java │ ├── RollbackHandler.java │ ├── SavepointHandler.java │ ├── SelectHandler.java │ ├── ServerPrepareHandler.java │ ├── SetHandler.java │ ├── ShowHandler.java │ ├── StartHandler.java │ ├── UseHandler.java │ └── XAHandler.java ├── parser │ ├── ServerParse.java │ ├── ServerParseSelect.java │ ├── ServerParseSet.java │ ├── ServerParseShow.java │ └── ServerParseStart.java ├── response │ ├── CharacterSet.java │ ├── Heartbeat.java │ ├── Ping.java │ ├── PreparedStmtResponse.java │ ├── SelectDatabase.java │ ├── SelectIdentity.java │ ├── SelectLastInsertId.java │ ├── SelectUser.java │ ├── SelectVersion.java │ ├── SelectVersionComment.java │ ├── ShowCobarCluster.java │ ├── ShowCobarStatus.java │ ├── ShowDataSources.java │ └── ShowDatabases.java └── session │ ├── BlockingSession.java │ ├── FailCondCallback.java │ ├── MultiExecutorTask.java │ ├── MultiLockPool.java │ ├── NonBlockingSession.java │ ├── Session.java │ ├── SucCondCallback.java │ └── XASession.java ├── statistic ├── CommandCount.java ├── DataSourceCount.java ├── HeartbeatRecorder.java ├── ParserCount.java ├── RouterCount.java ├── SQLRecord.java └── SQLRecorder.java ├── store ├── ConsistentHash.java └── RedisClient.java └── util ├── CollectionUtil.java ├── ExecutorUtil.java ├── FormatUtil.java ├── HexFormatUtil.java ├── IntegerUtil.java ├── LongUtil.java ├── NameableExecutor.java ├── ObjectUtil.java ├── RandomUtil.java ├── SmallSet.java ├── SplitUtil.java ├── StringUtil.java ├── ThreadPool.java └── TimeUtil.java /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Package Files # 4 | *.jar 5 | *.war 6 | *.ear 7 | /bin/ 8 | /classes/ 9 | .* 10 | -------------------------------------------------------------------------------- /assembly/conf/hsb.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export JAVA_HOME=$JAVA_HOME_1_6 3 | 4 | rm -rf output 5 | mkdir output 6 | 7 | mvn clean package -Dmaven.test.skip=true 8 | 9 | cd target 10 | unzip -o heisenberg-server.zip 11 | cd heisenberg-server 12 | tar czf heisenberg-server.tgz * 13 | cd ../../ 14 | 15 | mv target/heisenberg-server/heisenberg-server.tgz output/heisenberg-server-1.0.8.1.tgz 16 | rm -rf ./target 17 | -------------------------------------------------------------------------------- /doc/heisenberg开发手册.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brucexx/heisenberg/f891aadd009a825691e179c53a7eaf81e93d03cf/doc/heisenberg开发手册.docx -------------------------------------------------------------------------------- /doc/分库分表中间件heisenberg.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brucexx/heisenberg/f891aadd009a825691e179c53a7eaf81e93d03cf/doc/分库分表中间件heisenberg.pptx -------------------------------------------------------------------------------- /src/main/config/com/baidu/hsb/config/loader/SchemaLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.config.loader; 6 | 7 | import java.util.Map; 8 | 9 | import com.baidu.hsb.config.model.config.DataNodeConfig; 10 | import com.baidu.hsb.config.model.config.DataSourceConfig; 11 | import com.baidu.hsb.config.model.config.SchemaConfig; 12 | import com.baidu.hsb.config.model.config.TableRuleConfig; 13 | 14 | /** 15 | * 16 | * 17 | * @author xiongzhao@baidu.com 18 | * @version $Id: SchemaLoader.java, v 0.1 2013年12月21日 下午12:53:29 HI:brucest0078 Exp $ 19 | */ 20 | public interface SchemaLoader { 21 | Map getTableRules(); 22 | 23 | Map getDataSources(); 24 | 25 | Map getDataNodes(); 26 | 27 | Map getSchemas(); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/config/com/baidu/hsb/config/model/config/QuarantineConfig.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.config.model.config; 6 | 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | import java.util.Set; 10 | 11 | /** 12 | * 13 | * 14 | * @author xiongzhao@baidu.com 15 | * @version $Id: QuarantineConfig.java, v 0.1 2013年12月31日 上午10:48:09 HI:brucest0078 Exp $ 16 | */ 17 | public final class QuarantineConfig { 18 | 19 | private final Map> hosts; 20 | 21 | public QuarantineConfig() { 22 | hosts = new HashMap>(); 23 | } 24 | 25 | public Map> getHosts() { 26 | return hosts; 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/config/com/baidu/hsb/config/util/Initializable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2012 Alibaba Group. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.baidu.hsb.config.util; 17 | 18 | public interface Initializable { 19 | 20 | void init(); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/config/com/baidu/hsb/config/util/Visitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2012 Alibaba Group. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.baidu.hsb.config.util; 17 | 18 | public interface Visitor { 19 | 20 | void visit(String name, Class type, Class definedIn, Object value); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/NIOHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: NIOHandler.java, v 0.1 2013年12月26日 下午6:07:18 HI:brucest0078 Exp $ 12 | */ 13 | public interface NIOHandler { 14 | 15 | void handle(byte[] data); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/handler/FrontendPrepareHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net.handler; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: FrontendPrepareHandler.java, v 0.1 2013年12月26日 下午6:02:18 HI:brucest0078 Exp $ 12 | */ 13 | public interface FrontendPrepareHandler { 14 | 15 | void prepare(String sql); 16 | 17 | void execute(byte[] data); 18 | 19 | void close(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/handler/FrontendPrivileges.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net.handler; 6 | 7 | import java.util.Set; 8 | 9 | /** 10 | * 11 | * 12 | * @author xiongzhao@baidu.com 13 | * @version $Id: FrontendPrivileges.java, v 0.1 2013年12月26日 下午6:02:23 HI:brucest0078 Exp $ 14 | */ 15 | public interface FrontendPrivileges { 16 | 17 | /** 18 | * 检查schema是否存在 19 | */ 20 | boolean schemaExists(String schema); 21 | 22 | /** 23 | * 检查用户是否存在,并且可以使用host实行隔离策略。 24 | */ 25 | boolean userExists(String user, String host); 26 | 27 | /** 28 | * 提供用户的服务器端密码 29 | */ 30 | String getPassword(String user); 31 | 32 | /** 33 | * 提供有效的用户schema集合 34 | */ 35 | Set getUserSchemas(String user); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/handler/FrontendQueryHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net.handler; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: FrontendQueryHandler.java, v 0.1 2013年12月26日 下午6:02:28 HI:brucest0078 Exp $ 12 | */ 13 | public interface FrontendQueryHandler { 14 | 15 | void query(String sql); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/mysql/PingPacket.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net.mysql; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: PingPacket.java, v 0.1 2013年12月26日 下午6:05:11 HI:brucest0078 Exp $ 12 | */ 13 | public class PingPacket extends MySQLPacket { 14 | public static final byte[] PING = new byte[] { 1, 0, 0, 0, 14 }; 15 | 16 | @Override 17 | public int calcPacketSize() { 18 | return 1; 19 | } 20 | 21 | @Override 22 | protected String getPacketInfo() { 23 | return "MySQL Ping Packet"; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/net/com/baidu/hsb/net/mysql/QuitPacket.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.net.mysql; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: QuitPacket.java, v 0.1 2013年12月26日 下午6:05:23 HI:brucest0078 Exp $ 12 | */ 13 | public class QuitPacket extends MySQLPacket { 14 | public static final byte[] QUIT = new byte[] { 1, 0, 0, 0, 1 }; 15 | 16 | @Override 17 | public int calcPacketSize() { 18 | return 1; 19 | } 20 | 21 | @Override 22 | protected String getPacketInfo() { 23 | return "MySQL Quit Packet"; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/ASTNode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast; 6 | 7 | import java.io.Serializable; 8 | 9 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public interface ASTNode extends Cloneable,Serializable{ 15 | void accept(SQLASTVisitor visitor); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/ReplacableExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.literal.LiteralBoolean; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public interface ReplacableExpression extends Expression { 13 | LiteralBoolean BOOL_FALSE = new LiteralBoolean(false); 14 | 15 | void setReplaceExpr(Expression replaceExpr); 16 | 17 | void clearReplaceExpr(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/bit/BitInvertExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.bit; 6 | 7 | import com.baidu.hsb.parser.ast.expression.Expression; 8 | import com.baidu.hsb.parser.ast.expression.UnaryOperatorExpression; 9 | 10 | /** 11 | * 12 | * 13 | * @author xiongzhao@baidu.com 14 | * @version $Id: BitInvertExpression.java, v 0.1 2013年12月26日 下午6:09:34 HI:brucest0078 Exp $ 15 | */ 16 | public class BitInvertExpression extends UnaryOperatorExpression { 17 | public BitInvertExpression(Expression operand) { 18 | super(operand, PRECEDENCE_UNARY_OP); 19 | } 20 | 21 | @Override 22 | public String getOperator() { 23 | return "~"; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/misc/QueryExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.misc; 6 | 7 | import com.baidu.hsb.parser.ast.expression.Expression; 8 | 9 | /** 10 | * 11 | * 12 | * @author xiongzhao@baidu.com 13 | * @version $Id: QueryExpression.java, v 0.1 2013年12月26日 下午6:19:02 HI:brucest0078 Exp $ 14 | */ 15 | public interface QueryExpression extends Expression { 16 | } 17 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/misc/SubqueryAllExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.misc; 6 | 7 | import com.baidu.hsb.parser.ast.expression.UnaryOperatorExpression; 8 | 9 | /** 10 | * 11 | * 12 | * @author xiongzhao@baidu.com 13 | * @version $Id: SubqueryAllExpression.java, v 0.1 2013年12月26日 下午6:19:09 HI:brucest0078 Exp $ 14 | */ 15 | public class SubqueryAllExpression extends UnaryOperatorExpression { 16 | public SubqueryAllExpression(QueryExpression subquery) { 17 | super(subquery, PRECEDENCE_PRIMARY); 18 | } 19 | 20 | @Override 21 | public String getOperator() { 22 | return "ALL"; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/misc/SubqueryAnyExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.misc; 6 | 7 | import com.baidu.hsb.parser.ast.expression.UnaryOperatorExpression; 8 | 9 | /** 10 | * 11 | * 12 | * @author xiongzhao@baidu.com 13 | * @version $Id: SubqueryAnyExpression.java, v 0.1 2013年12月26日 下午6:19:18 HI:brucest0078 Exp $ 14 | */ 15 | public class SubqueryAnyExpression extends UnaryOperatorExpression { 16 | public SubqueryAnyExpression(QueryExpression subquery) { 17 | super(subquery, PRECEDENCE_PRIMARY); 18 | } 19 | 20 | @Override 21 | public String getOperator() { 22 | return "ANY"; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/DefaultValue.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * used as right oprand for assignment of INSERT and REPLACE 11 | * 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public class DefaultValue extends PrimaryExpression { 15 | 16 | @Override 17 | public void accept(SQLASTVisitor visitor) { 18 | visitor.visit(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/PrimaryExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary; 6 | 7 | import java.util.Map; 8 | 9 | import com.baidu.hsb.parser.ast.expression.AbstractExpression; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public abstract class PrimaryExpression extends AbstractExpression { 15 | @Override 16 | public int getPrecedence() { 17 | return PRECEDENCE_PRIMARY; 18 | } 19 | 20 | @Override 21 | public Object evaluationInternal(Map parameters) { 22 | return UNEVALUATABLE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/UsrDefVarPrimary.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class UsrDefVarPrimary extends VariableExpression { 13 | /** include starting '@', e.g. "@'mary''s'" */ 14 | private final String varText; 15 | 16 | public UsrDefVarPrimary(String varText) { 17 | this.varText = varText; 18 | } 19 | 20 | public String getVarText() { 21 | return varText; 22 | } 23 | 24 | @Override 25 | public void accept(SQLASTVisitor visitor) { 26 | visitor.visit(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/VariableExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public abstract class VariableExpression extends PrimaryExpression { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/Wildcard.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * stand for * 11 | * 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public class Wildcard extends Identifier { 15 | public Wildcard(Identifier parent) { 16 | super(parent, "*", "*"); 17 | } 18 | 19 | @Override 20 | public void accept(SQLASTVisitor visitor) { 21 | visitor.visit(this); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Abs.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | * @version $Id: Abs.java, v 0.1 2013年12月26日 下午8:04:40 HI:brucest0078 Exp $ 15 | */ 16 | public class Abs extends FunctionExpression { 17 | public Abs(List arguments) { 18 | super("ABS", arguments); 19 | } 20 | 21 | @Override 22 | public FunctionExpression constructFunction(List arguments) { 23 | return new Abs(arguments); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Acos.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Acos.java, v 0.1 2013年12月26日 下午8:04:58 HI:brucest0078 Exp $ 17 | */ 18 | public class Acos extends FunctionExpression { 19 | public Acos(List arguments) { 20 | super("ACOS", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Acos(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Asin.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Asin.java, v 0.1 2013年12月26日 下午8:05:07 HI:brucest0078 Exp $ 17 | */ 18 | public class Asin extends FunctionExpression { 19 | public Asin(List arguments) { 20 | super("ASIN", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Asin(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Atan.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | * @version $Id: Atan.java, v 0.1 2013年12月26日 下午8:05:14 HI:brucest0078 Exp $ 15 | */ 16 | public class Atan extends FunctionExpression { 17 | public Atan(List arguments) { 18 | super("ATAN", arguments); 19 | } 20 | 21 | @Override 22 | public FunctionExpression constructFunction(List arguments) { 23 | return new Atan(arguments); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Atan2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Atan2.java, v 0.1 2013年12月26日 下午8:05:31 HI:brucest0078 Exp $ 17 | */ 18 | public class Atan2 extends FunctionExpression { 19 | public Atan2(List arguments) { 20 | super("ATAN2", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Atan2(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Ceiling.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Ceiling.java, v 0.1 2013年12月26日 下午8:05:43 HI:brucest0078 Exp $ 17 | */ 18 | public class Ceiling extends FunctionExpression { 19 | public Ceiling(List arguments) { 20 | super("CEILING", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Ceiling(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Conv.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Conv.java, v 0.1 2013年12月26日 下午8:05:53 HI:brucest0078 Exp $ 17 | */ 18 | public class Conv extends FunctionExpression { 19 | public Conv(List arguments) { 20 | super("CONV", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Conv(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Cos.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Cos.java, v 0.1 2013年12月26日 下午8:05:58 HI:brucest0078 Exp $ 17 | */ 18 | public class Cos extends FunctionExpression { 19 | public Cos(List arguments) { 20 | super("COS", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Cos(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Cot.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Cot.java, v 0.1 2013年12月26日 下午8:06:10 HI:brucest0078 Exp $ 17 | */ 18 | public class Cot extends FunctionExpression { 19 | public Cot(List arguments) { 20 | super("COT", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Cot(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Crc32.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Crc32.java, v 0.1 2013年12月26日 下午8:06:23 HI:brucest0078 Exp $ 17 | */ 18 | public class Crc32 extends FunctionExpression { 19 | public Crc32(List arguments) { 20 | super("CRC32", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Crc32(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Degrees.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Degrees.java, v 0.1 2013年12月26日 下午8:06:34 HI:brucest0078 Exp $ 17 | */ 18 | public class Degrees extends FunctionExpression { 19 | public Degrees(List arguments) { 20 | super("DEGREES", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Degrees(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Exp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Exp.java, v 0.1 2013年12月26日 下午8:06:47 HI:brucest0078 Exp $ 17 | */ 18 | public class Exp extends FunctionExpression { 19 | public Exp(List arguments) { 20 | super("EXP", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Exp(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Floor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Floor.java, v 0.1 2013年12月26日 下午8:06:59 HI:brucest0078 Exp $ 17 | */ 18 | public class Floor extends FunctionExpression { 19 | public Floor(List arguments) { 20 | super("FLOOR", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Floor(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Log.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Log.java, v 0.1 2013年12月26日 下午8:07:09 HI:brucest0078 Exp $ 17 | */ 18 | public class Log extends FunctionExpression { 19 | public Log(List arguments) { 20 | super("LOG", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Log(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Log10.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Log10.java, v 0.1 2013年12月26日 下午8:07:19 HI:brucest0078 Exp $ 17 | */ 18 | public class Log10 extends FunctionExpression { 19 | public Log10(List arguments) { 20 | super("LOG10", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Log10(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Log2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Log2.java, v 0.1 2013年12月26日 下午8:07:29 HI:brucest0078 Exp $ 17 | */ 18 | public class Log2 extends FunctionExpression { 19 | public Log2(List arguments) { 20 | super("LOG2", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Log2(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Oct.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Oct.java, v 0.1 2013年12月26日 下午8:07:35 HI:brucest0078 Exp $ 17 | */ 18 | public class Oct extends FunctionExpression { 19 | public Oct(List arguments) { 20 | super("OCT", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Oct(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Pi.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Pi.java, v 0.1 2013年12月26日 下午8:07:48 HI:brucest0078 Exp $ 17 | */ 18 | public class Pi extends FunctionExpression { 19 | public Pi(List arguments) { 20 | super("PI", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Pi(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Pow.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Pow.java, v 0.1 2013年12月26日 下午8:07:57 HI:brucest0078 Exp $ 17 | */ 18 | public class Pow extends FunctionExpression { 19 | public Pow(List arguments) { 20 | super("POW", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Pow(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Radians.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Radians.java, v 0.1 2013年12月26日 下午8:08:06 HI:brucest0078 Exp $ 17 | */ 18 | public class Radians extends FunctionExpression { 19 | public Radians(List arguments) { 20 | super("RADIANS", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Radians(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Rand.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | * @version $Id: Rand.java, v 0.1 2013年12月26日 下午8:08:15 HI:brucest0078 Exp $ 15 | */ 16 | public class Rand extends FunctionExpression { 17 | public Rand(List arguments) { 18 | super("RAND", arguments); 19 | } 20 | 21 | @Override 22 | public FunctionExpression constructFunction(List arguments) { 23 | return new Rand(arguments); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Round.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Round.java, v 0.1 2013年12月26日 下午8:08:33 HI:brucest0078 Exp $ 17 | */ 18 | public class Round extends FunctionExpression { 19 | public Round(List arguments) { 20 | super("ROUND", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Round(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Sign.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Sign.java, v 0.1 2013年12月26日 下午8:08:43 HI:brucest0078 Exp $ 17 | */ 18 | public class Sign extends FunctionExpression { 19 | public Sign(List arguments) { 20 | super("SIGN", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Sign(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Sin.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Sin.java, v 0.1 2013年12月26日 下午8:08:51 HI:brucest0078 Exp $ 17 | */ 18 | public class Sin extends FunctionExpression { 19 | public Sin(List arguments) { 20 | super("SIN", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Sin(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Sqrt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Sqrt.java, v 0.1 2013年12月26日 下午8:09:01 HI:brucest0078 Exp $ 17 | */ 18 | public class Sqrt extends FunctionExpression { 19 | public Sqrt(List arguments) { 20 | super("SQRT", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Sqrt(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Tan.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Tan.java, v 0.1 2013年12月26日 下午8:09:06 HI:brucest0078 Exp $ 17 | */ 18 | public class Tan extends FunctionExpression { 19 | public Tan(List arguments) { 20 | super("TAN", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Tan(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/arithmetic/Truncate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.arithmetic; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Truncate.java, v 0.1 2013年12月26日 下午8:09:18 HI:brucest0078 Exp $ 17 | */ 18 | public class Truncate extends FunctionExpression { 19 | public Truncate(List arguments) { 20 | super("TRUNCATE", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Truncate(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/bit/BitCount.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.bit; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: BitCount.java, v 0.1 2013年12月26日 下午8:09:51 HI:brucest0078 Exp $ 17 | */ 18 | public class BitCount extends FunctionExpression { 19 | public BitCount(List arguments) { 20 | super("BIT_COUNT", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new BitCount(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/comparison/Coalesce.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.comparison; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Coalesce.java, v 0.1 2013年12月26日 下午8:10:28 HI:brucest0078 Exp $ 17 | */ 18 | public class Coalesce extends FunctionExpression { 19 | public Coalesce(List arguments) { 20 | super("COALESCE", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Coalesce(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/comparison/Greatest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.comparison; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Greatest.java, v 0.1 2013年12月26日 下午8:10:42 HI:brucest0078 Exp $ 17 | */ 18 | public class Greatest extends FunctionExpression { 19 | public Greatest(List arguments) { 20 | super("GREATEST", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Greatest(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/comparison/Isnull.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.comparison; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Isnull.java, v 0.1 2013年12月26日 下午8:11:58 HI:brucest0078 Exp $ 17 | */ 18 | public class Isnull extends FunctionExpression { 19 | public Isnull(List arguments) { 20 | super("ISNULL", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Isnull(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/comparison/Least.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.comparison; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Least.java, v 0.1 2013年12月26日 下午8:12:05 HI:brucest0078 Exp $ 17 | */ 18 | public class Least extends FunctionExpression { 19 | public Least(List arguments) { 20 | super("LEAST", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Least(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Adddate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Adddate.java, v 0.1 2013年12月26日 下午8:39:53 HI:brucest0078 Exp $ 17 | */ 18 | public class Adddate extends FunctionExpression { 19 | public Adddate(List arguments) { 20 | super("ADDDATE", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Adddate(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Addtime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Addtime.java, v 0.1 2013年12月30日 下午5:27:19 HI:brucest0078 Exp $ 17 | */ 18 | public class Addtime extends FunctionExpression { 19 | public Addtime(List arguments) { 20 | super("ADDTIME", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Addtime(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Curdate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Curdate.java, v 0.1 2013年12月30日 下午5:27:35 HI:brucest0078 Exp $ 17 | */ 18 | public class Curdate extends FunctionExpression { 19 | public Curdate() { 20 | super("CURDATE", null); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Curdate(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Curtime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Curtime.java, v 0.1 2013年12月30日 下午5:27:44 HI:brucest0078 Exp $ 17 | */ 18 | public class Curtime extends FunctionExpression { 19 | public Curtime() { 20 | super("CURTIME", null); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Curtime(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Date.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Date.java, v 0.1 2013年12月30日 下午5:27:52 HI:brucest0078 Exp $ 17 | */ 18 | public class Date extends FunctionExpression { 19 | public Date(List arguments) { 20 | super("DATE", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Date(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/DateAdd.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: DateAdd.java, v 0.1 2013年12月30日 下午5:28:02 HI:brucest0078 Exp $ 17 | */ 18 | public class DateAdd extends FunctionExpression { 19 | public DateAdd(List arguments) { 20 | super("DATE_ADD", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new DateAdd(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/DateSub.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: DateSub.java, v 0.1 2013年12月30日 下午5:28:24 HI:brucest0078 Exp $ 17 | */ 18 | public class DateSub extends FunctionExpression { 19 | public DateSub(List arguments) { 20 | super("DATE_SUB", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new DateSub(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Datediff.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Datediff.java, v 0.1 2013年12月30日 下午5:28:09 HI:brucest0078 Exp $ 17 | */ 18 | public class Datediff extends FunctionExpression { 19 | public Datediff(List arguments) { 20 | super("DATEDIFF", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Datediff(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Dayname.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * 14 | * 15 | * @author xiongzhao@baidu.com 16 | * @version $Id: Dayname.java, v 0.1 2013年12月30日 下午5:28:32 HI:brucest0078 Exp $ 17 | */ 18 | public class Dayname extends FunctionExpression { 19 | public Dayname(List arguments) { 20 | super("DAYNAME", arguments); 21 | } 22 | 23 | @Override 24 | public FunctionExpression constructFunction(List arguments) { 25 | return new Dayname(arguments); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Dayofweek.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Dayofweek extends FunctionExpression { 16 | public Dayofweek(List arguments) { 17 | super("DAYOFWEEK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Dayofweek(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Dayofyear.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Dayofyear extends FunctionExpression { 16 | public Dayofyear(List arguments) { 17 | super("DAYOFYEAR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Dayofyear(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/FromDays.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class FromDays extends FunctionExpression { 16 | public FromDays(List arguments) { 17 | super("FROM_DAYS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new FromDays(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/FromUnixtime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class FromUnixtime extends FunctionExpression { 16 | public FromUnixtime(List arguments) { 17 | super("FROM_UNIXTIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new FromUnixtime(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Hour.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Hour extends FunctionExpression { 16 | public Hour(List arguments) { 17 | super("HOUR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Hour(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/LastDay.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class LastDay extends FunctionExpression { 16 | public LastDay(List arguments) { 17 | super("LAST_DAY", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new LastDay(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Makedate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Makedate extends FunctionExpression { 16 | public Makedate(List arguments) { 17 | super("MAKEDATE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Makedate(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Maketime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Maketime extends FunctionExpression { 16 | public Maketime(List arguments) { 17 | super("MAKETIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Maketime(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Microsecond.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Microsecond extends FunctionExpression { 16 | public Microsecond(List arguments) { 17 | super("MICROSECOND", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Microsecond(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Minute.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Minute extends FunctionExpression { 16 | public Minute(List arguments) { 17 | super("MINUTE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Minute(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Month.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Month extends FunctionExpression { 16 | public Month(List arguments) { 17 | super("MONTH", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Month(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Monthname.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Monthname extends FunctionExpression { 16 | public Monthname(List arguments) { 17 | super("MONTHNAME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Monthname(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Now.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Now extends FunctionExpression { 16 | public Now() { 17 | super("NOW", null); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Now(); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/PeriodAdd.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class PeriodAdd extends FunctionExpression { 16 | public PeriodAdd(List arguments) { 17 | super("PERIOD_ADD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new PeriodAdd(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/PeriodDiff.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class PeriodDiff extends FunctionExpression { 16 | public PeriodDiff(List arguments) { 17 | super("PERIOD_DIFF", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new PeriodDiff(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Quarter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Quarter extends FunctionExpression { 16 | public Quarter(List arguments) { 17 | super("QUARTER", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Quarter(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/SecToTime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class SecToTime extends FunctionExpression { 16 | public SecToTime(List arguments) { 17 | super("SEC_TO_TIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new SecToTime(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Second.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Second extends FunctionExpression { 16 | public Second(List arguments) { 17 | super("SECOND", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Second(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/StrToDate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class StrToDate extends FunctionExpression { 16 | public StrToDate(List arguments) { 17 | super("STR_TO_DATE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new StrToDate(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Subdate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Subdate extends FunctionExpression { 16 | public Subdate(List arguments) { 17 | super("SUBDATE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Subdate(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Subtime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Subtime extends FunctionExpression { 16 | public Subtime(List arguments) { 17 | super("SUBTIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Subtime(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Sysdate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Sysdate extends FunctionExpression { 16 | public Sysdate(List arguments) { 17 | super("SYSDATE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Sysdate(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Time.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Time extends FunctionExpression { 16 | public Time(List arguments) { 17 | super("TIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Time(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/TimeFormat.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class TimeFormat extends FunctionExpression { 16 | public TimeFormat(List arguments) { 17 | super("TIME_FORMAT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new TimeFormat(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/TimeToSec.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class TimeToSec extends FunctionExpression { 16 | public TimeToSec(List arguments) { 17 | super("TIME_TO_SEC", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new TimeToSec(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Timediff.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Timediff extends FunctionExpression { 16 | public Timediff(List arguments) { 17 | super("TIMEDIFF", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Timediff(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Timestamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Timestamp extends FunctionExpression { 16 | public Timestamp(List arguments) { 17 | super("TIMESTAMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Timestamp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/ToDays.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ToDays extends FunctionExpression { 16 | public ToDays(List arguments) { 17 | super("TO_DAYS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ToDays(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/ToSeconds.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ToSeconds extends FunctionExpression { 16 | public ToSeconds(List arguments) { 17 | super("TO_SECONDS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ToSeconds(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/UnixTimestamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UnixTimestamp extends FunctionExpression { 16 | public UnixTimestamp(List arguments) { 17 | super("UNIX_TIMESTAMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UnixTimestamp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/UtcDate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UtcDate extends FunctionExpression { 16 | public UtcDate(List arguments) { 17 | super("UTC_DATE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UtcDate(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/UtcTime.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UtcTime extends FunctionExpression { 16 | public UtcTime(List arguments) { 17 | super("UTC_TIME", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UtcTime(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/UtcTimestamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UtcTimestamp extends FunctionExpression { 16 | public UtcTimestamp(List arguments) { 17 | super("UTC_TIMESTAMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UtcTimestamp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Week.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Week extends FunctionExpression { 16 | public Week(List arguments) { 17 | super("WEEK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Week(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Weekday.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Weekday extends FunctionExpression { 16 | public Weekday(List arguments) { 17 | super("WEEKDAY", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Weekday(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Weekofyear.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Weekofyear extends FunctionExpression { 16 | public Weekofyear(List arguments) { 17 | super("WEEKOFYEAR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Weekofyear(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Year.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Year extends FunctionExpression { 16 | public Year(List arguments) { 17 | super("YEAR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Year(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/datetime/Yearweek.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.datetime; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Yearweek extends FunctionExpression { 16 | public Yearweek(List arguments) { 17 | super("YEARWEEK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Yearweek(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/AesDecrypt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class AesDecrypt extends FunctionExpression { 16 | public AesDecrypt(List arguments) { 17 | super("AES_DECRYPT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new AesDecrypt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/AesEncrypt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class AesEncrypt extends FunctionExpression { 16 | public AesEncrypt(List arguments) { 17 | super("AES_ENCRYPT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new AesEncrypt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Compress.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Compress extends FunctionExpression { 16 | public Compress(List arguments) { 17 | super("COMPRESS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Compress(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Decode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Decode extends FunctionExpression { 16 | public Decode(List arguments) { 17 | super("DECODE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Decode(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/DesDecrypt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class DesDecrypt extends FunctionExpression { 16 | public DesDecrypt(List arguments) { 17 | super("DES_DECRYPT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new DesDecrypt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/DesEncrypt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class DesEncrypt extends FunctionExpression { 16 | public DesEncrypt(List arguments) { 17 | super("DES_ENCRYPT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new DesEncrypt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Encode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Encode extends FunctionExpression { 16 | public Encode(List arguments) { 17 | super("ENCODE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Encode(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Encrypt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Encrypt extends FunctionExpression { 16 | public Encrypt(List arguments) { 17 | super("ENCRYPT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Encrypt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Md5.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Md5 extends FunctionExpression { 16 | public Md5(List arguments) { 17 | super("MD5", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Md5(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/OldPassword.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class OldPassword extends FunctionExpression { 16 | public OldPassword(List arguments) { 17 | super("OLD_PASSWORD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new OldPassword(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Password.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Password extends FunctionExpression { 16 | public Password(List arguments) { 17 | super("PASSWORD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Password(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Sha1.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Sha1 extends FunctionExpression { 16 | public Sha1(List arguments) { 17 | super("SHA1", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Sha1(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Sha2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Sha2 extends FunctionExpression { 16 | public Sha2(List arguments) { 17 | super("SHA2", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Sha2(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/Uncompress.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Uncompress extends FunctionExpression { 16 | public Uncompress(List arguments) { 17 | super("UNCOMPRESS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Uncompress(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/encryption/UncompressedLength.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.encryption; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UncompressedLength extends FunctionExpression { 16 | public UncompressedLength(List arguments) { 17 | super("UNCOMPRESSED_LENGTH", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UncompressedLength(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/flowctrl/If.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.flowctrl; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class If extends FunctionExpression { 16 | public If(List arguments) { 17 | super("IF", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new If(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/flowctrl/Ifnull.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.flowctrl; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Ifnull extends FunctionExpression { 16 | public Ifnull(List arguments) { 17 | super("IFNULL", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Ifnull(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/flowctrl/Nullif.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.flowctrl; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Nullif extends FunctionExpression { 16 | public Nullif(List arguments) { 17 | super("NULLIF", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Nullif(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/BitAnd.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class BitAnd extends FunctionExpression { 16 | public BitAnd(List arguments) { 17 | super("BIT_AND", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new BitAnd(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/BitOr.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class BitOr extends FunctionExpression { 16 | public BitOr(List arguments) { 17 | super("BIT_OR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new BitOr(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/BitXor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class BitXor extends FunctionExpression { 16 | public BitXor(List arguments) { 17 | super("BIT_XOR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new BitXor(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/Std.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Std extends FunctionExpression { 16 | public Std(List arguments) { 17 | super("STD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Std(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/Stddev.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Stddev extends FunctionExpression { 16 | public Stddev(List arguments) { 17 | super("STDDEV", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Stddev(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/StddevPop.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class StddevPop extends FunctionExpression { 16 | public StddevPop(List arguments) { 17 | super("STDDEV_POP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new StddevPop(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/StddevSamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class StddevSamp extends FunctionExpression { 16 | public StddevSamp(List arguments) { 17 | super("STDDEV_SAMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new StddevSamp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/VarPop.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class VarPop extends FunctionExpression { 16 | public VarPop(List arguments) { 17 | super("VAR_POP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new VarPop(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/VarSamp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class VarSamp extends FunctionExpression { 16 | public VarSamp(List arguments) { 17 | super("VAR_SAMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new VarSamp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/groupby/Variance.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.groupby; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Variance extends FunctionExpression { 16 | public Variance(List arguments) { 17 | super("VARIANCE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Variance(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Benchmark.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Benchmark extends FunctionExpression { 16 | public Benchmark(List arguments) { 17 | super("BENCHMARK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Benchmark(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Charset.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Charset extends FunctionExpression { 16 | public Charset(List arguments) { 17 | super("CHARSET", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Charset(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Coercibility.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Coercibility extends FunctionExpression { 16 | public Coercibility(List arguments) { 17 | super("COERCIBILITY", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Coercibility(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Collation.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Collation extends FunctionExpression { 16 | public Collation(List arguments) { 17 | super("COLLATION", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Collation(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/ConnectionId.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ConnectionId extends FunctionExpression { 16 | public ConnectionId(List arguments) { 17 | super("CONNECTION_ID", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ConnectionId(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/CurrentUser.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class CurrentUser extends FunctionExpression { 16 | public CurrentUser() { 17 | super("CURRENT_USER", null); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new CurrentUser(); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Database.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Database extends FunctionExpression { 16 | public Database(List arguments) { 17 | super("DATABASE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Database(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/FoundRows.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class FoundRows extends FunctionExpression { 16 | public FoundRows(List arguments) { 17 | super("FOUND_ROWS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new FoundRows(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/LastInsertId.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class LastInsertId extends FunctionExpression { 16 | public LastInsertId(List arguments) { 17 | super("LAST_INSERT_ID", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new LastInsertId(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/RowCount.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class RowCount extends FunctionExpression { 16 | public RowCount(List arguments) { 17 | super("ROW_COUNT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new RowCount(arguments); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/User.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class User extends FunctionExpression { 16 | public User(List arguments) { 17 | super("USER", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new User(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/info/Version.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.info; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Version extends FunctionExpression { 16 | public Version(List arguments) { 17 | super("VERSION", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Version(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/Analyse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * MySQL extending function 14 | * 15 | * @author xiongzhao@baidu.com 16 | */ 17 | public class Analyse extends FunctionExpression { 18 | public Analyse(List arguments) { 19 | super("ANALYSE", arguments); 20 | } 21 | 22 | @Override 23 | public FunctionExpression constructFunction(List arguments) { 24 | return new Analyse(arguments); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/Default.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Default extends FunctionExpression { 16 | public Default(List arguments) { 17 | super("DEFAULT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Default(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/GetLock.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class GetLock extends FunctionExpression { 16 | public GetLock(List arguments) { 17 | super("GET_LOCK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new GetLock(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/InetAton.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class InetAton extends FunctionExpression { 16 | public InetAton(List arguments) { 17 | super("INET_ATON", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new InetAton(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/InetNtoa.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class InetNtoa extends FunctionExpression { 16 | public InetNtoa(List arguments) { 17 | super("INET_NTOA", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new InetNtoa(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/IsFreeLock.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class IsFreeLock extends FunctionExpression { 16 | public IsFreeLock(List arguments) { 17 | super("IS_FREE_LOCK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new IsFreeLock(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/IsUsedLock.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class IsUsedLock extends FunctionExpression { 16 | public IsUsedLock(List arguments) { 17 | super("IS_USED_LOCK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new IsUsedLock(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/MasterPosWait.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class MasterPosWait extends FunctionExpression { 16 | public MasterPosWait(List arguments) { 17 | super("MASTER_POS_WAIT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new MasterPosWait(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/NameConst.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class NameConst extends FunctionExpression { 16 | public NameConst(List arguments) { 17 | super("NAME_CONST", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new NameConst(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/ReleaseLock.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ReleaseLock extends FunctionExpression { 16 | public ReleaseLock(List arguments) { 17 | super("RELEASE_LOCK", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ReleaseLock(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/Sleep.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Sleep extends FunctionExpression { 16 | public Sleep(List arguments) { 17 | super("SLEEP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Sleep(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/Uuid.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Uuid extends FunctionExpression { 16 | public Uuid(List arguments) { 17 | super("UUID", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Uuid(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/UuidShort.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class UuidShort extends FunctionExpression { 16 | public UuidShort(List arguments) { 17 | super("UUID_SHORT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new UuidShort(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/misc/Values.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.misc; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Values extends FunctionExpression { 16 | public Values(List arguments) { 17 | super("VALUES", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Values(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Ascii.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Ascii extends FunctionExpression { 16 | public Ascii(List arguments) { 17 | super("ASCII", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Ascii(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Bin.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Bin extends FunctionExpression { 16 | public Bin(List arguments) { 17 | super("BIN", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Bin(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/BitLength.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class BitLength extends FunctionExpression { 16 | public BitLength(List arguments) { 17 | super("BIT_LENGTH", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new BitLength(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/CharLength.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class CharLength extends FunctionExpression { 16 | public CharLength(List arguments) { 17 | super("CHAR_LENGTH", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new CharLength(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Concat.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Concat extends FunctionExpression { 16 | public Concat(List arguments) { 17 | super("CONCAT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Concat(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/ConcatWs.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ConcatWs extends FunctionExpression { 16 | public ConcatWs(List arguments) { 17 | super("CONCAT_WS", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ConcatWs(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Elt.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Elt extends FunctionExpression { 16 | public Elt(List arguments) { 17 | super("ELT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Elt(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/ExportSet.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class ExportSet extends FunctionExpression { 16 | public ExportSet(List arguments) { 17 | super("EXPORT_SET", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new ExportSet(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Field.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Field extends FunctionExpression { 16 | public Field(List arguments) { 17 | super("FIELD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Field(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/FindInSet.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class FindInSet extends FunctionExpression { 16 | public FindInSet(List arguments) { 17 | super("FIND_IN_SET", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new FindInSet(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Format.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Format extends FunctionExpression { 16 | public Format(List arguments) { 17 | super("FORMAT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Format(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Hex.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Hex extends FunctionExpression { 16 | public Hex(List arguments) { 17 | super("HEX", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Hex(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Insert.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Insert extends FunctionExpression { 16 | public Insert(List arguments) { 17 | super("INSERT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Insert(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Instr.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Instr extends FunctionExpression { 16 | public Instr(List arguments) { 17 | super("INSTR", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Instr(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Left.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Left extends FunctionExpression { 16 | public Left(List arguments) { 17 | super("LEFT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Left(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Length.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Length extends FunctionExpression { 16 | public Length(List arguments) { 17 | super("LENGTH", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Length(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/LoadFile.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class LoadFile extends FunctionExpression { 16 | public LoadFile(List arguments) { 17 | super("LOAD_FILE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new LoadFile(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Lower.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Lower extends FunctionExpression { 16 | public Lower(List arguments) { 17 | super("LOWER", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Lower(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Lpad.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Lpad extends FunctionExpression { 16 | public Lpad(List arguments) { 17 | super("LPAD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Lpad(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Ltrim.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Ltrim extends FunctionExpression { 16 | public Ltrim(List arguments) { 17 | super("LTRIM", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Ltrim(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/MakeSet.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class MakeSet extends FunctionExpression { 16 | public MakeSet(List arguments) { 17 | super("MAKE_SET", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new MakeSet(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Ord.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Ord extends FunctionExpression { 16 | public Ord(List arguments) { 17 | super("ORD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Ord(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Quote.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Quote extends FunctionExpression { 16 | public Quote(List arguments) { 17 | super("QUOTE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Quote(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Repeat.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Repeat extends FunctionExpression { 16 | public Repeat(List arguments) { 17 | super("REPEAT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Repeat(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Replace.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Replace extends FunctionExpression { 16 | public Replace(List arguments) { 17 | super("REPLACE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Replace(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Reverse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Reverse extends FunctionExpression { 16 | public Reverse(List arguments) { 17 | super("REVERSE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Reverse(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Right.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Right extends FunctionExpression { 16 | public Right(List arguments) { 17 | super("RIGHT", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Right(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Rpad.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Rpad extends FunctionExpression { 16 | public Rpad(List arguments) { 17 | super("RPAD", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Rpad(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Rtrim.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Rtrim extends FunctionExpression { 16 | public Rtrim(List arguments) { 17 | super("RTRIM", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Rtrim(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Soundex.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Soundex extends FunctionExpression { 16 | public Soundex(List arguments) { 17 | super("SOUNDEX", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Soundex(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Space.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Space extends FunctionExpression { 16 | public Space(List arguments) { 17 | super("SPACE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Space(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Strcmp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Strcmp extends FunctionExpression { 16 | public Strcmp(List arguments) { 17 | super("STRCMP", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Strcmp(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/SubstringIndex.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class SubstringIndex extends FunctionExpression { 16 | public SubstringIndex(List arguments) { 17 | super("SUBSTRING_INDEX", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new SubstringIndex(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Unhex.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Unhex extends FunctionExpression { 16 | public Unhex(List arguments) { 17 | super("UNHEX", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Unhex(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/string/Upper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.string; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Upper extends FunctionExpression { 16 | public Upper(List arguments) { 17 | super("UPPER", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Upper(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/xml/Extractvalue.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.xml; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Extractvalue extends FunctionExpression { 16 | public Extractvalue(List arguments) { 17 | super("EXTRACTVALUE", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Extractvalue(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/function/xml/Updatexml.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.function.xml; 6 | 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.primary.function.FunctionExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class Updatexml extends FunctionExpression { 16 | public Updatexml(List arguments) { 17 | super("UPDATEXML", arguments); 18 | } 19 | 20 | @Override 21 | public FunctionExpression constructFunction(List arguments) { 22 | return new Updatexml(arguments); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/primary/literal/Literal.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.primary.literal; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.PrimaryExpression; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public abstract class Literal extends PrimaryExpression { 13 | 14 | public abstract String getValue(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/expression/type/CastBinaryExpression.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.expression.type; 6 | 7 | import com.baidu.hsb.parser.ast.expression.Expression; 8 | import com.baidu.hsb.parser.ast.expression.UnaryOperatorExpression; 9 | 10 | /** 11 | * 'BINARY' higherExpr 12 | * 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class CastBinaryExpression extends UnaryOperatorExpression { 16 | public CastBinaryExpression(Expression operand) { 17 | super(operand, PRECEDENCE_BINARY); 18 | } 19 | 20 | @Override 21 | public String getOperator() { 22 | return "BINARY"; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/fragment/SortOrder.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.fragment; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public enum SortOrder { 11 | ASC, 12 | DESC 13 | } 14 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/fragment/VariableScope.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.fragment; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public enum VariableScope { 11 | SESSION, 12 | GLOBAL 13 | } 14 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/SQLStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt; 6 | 7 | import com.baidu.hsb.parser.ast.ASTNode; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public interface SQLStatement extends ASTNode { 13 | public static enum StmtType { 14 | DML_SELECT, 15 | DML_DELETE, 16 | DML_INSERT, 17 | DML_REPLACE, 18 | DML_UPDATE, 19 | DML_CALL, 20 | DAL_SET, 21 | DAL_SHOW, 22 | MTL_START, 23 | /** COMMIT or ROLLBACK */ 24 | MTL_TERMINATE, 25 | MTL_ISOLATION 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/DALShowStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.stmt.SQLStatement; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public abstract class DALShowStatement implements SQLStatement { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowAuthors.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowAuthors extends DALShowStatement { 13 | @Override 14 | public void accept(SQLASTVisitor visitor) { 15 | visitor.visit(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowBinaryLog.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowBinaryLog extends DALShowStatement { 13 | @Override 14 | public void accept(SQLASTVisitor visitor) { 15 | visitor.visit(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowContributors.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowContributors extends DALShowStatement { 13 | @Override 14 | public void accept(SQLASTVisitor visitor) { 15 | visitor.visit(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowEngine.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowEngine extends DALShowStatement { 13 | public static enum Type { 14 | INNODB_STATUS, 15 | INNODB_MUTEX, 16 | PERFORMANCE_SCHEMA_STATUS 17 | } 18 | 19 | private final Type type; 20 | 21 | public ShowEngine(Type type) { 22 | this.type = type; 23 | } 24 | 25 | public Type getType() { 26 | return type; 27 | } 28 | 29 | @Override 30 | public void accept(SQLASTVisitor visitor) { 31 | visitor.visit(this); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowEngines.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowEngines extends DALShowStatement { 13 | @Override 14 | public void accept(SQLASTVisitor visitor) { 15 | visitor.visit(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowErrors.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.fragment.Limit; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class ShowErrors extends DALShowStatement { 14 | private final boolean count; 15 | private final Limit limit; 16 | 17 | public ShowErrors(boolean count, Limit limit) { 18 | this.count = count; 19 | this.limit = limit; 20 | } 21 | 22 | public boolean isCount() { 23 | return count; 24 | } 25 | 26 | public Limit getLimit() { 27 | return limit; 28 | } 29 | 30 | @Override 31 | public void accept(SQLASTVisitor visitor) { 32 | visitor.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowFunctionCode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.Identifier; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class ShowFunctionCode extends DALShowStatement { 14 | private final Identifier functionName; 15 | 16 | public ShowFunctionCode(Identifier functionName) { 17 | this.functionName = functionName; 18 | } 19 | 20 | public Identifier getFunctionName() { 21 | return functionName; 22 | } 23 | 24 | @Override 25 | public void accept(SQLASTVisitor visitor) { 26 | visitor.visit(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowGrants.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.expression.Expression; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class ShowGrants extends DALShowStatement { 14 | private final Expression user; 15 | 16 | public ShowGrants(Expression user) { 17 | this.user = user; 18 | } 19 | 20 | public ShowGrants() { 21 | this.user = null; 22 | } 23 | 24 | public Expression getUser() { 25 | return user; 26 | } 27 | 28 | @Override 29 | public void accept(SQLASTVisitor visitor) { 30 | visitor.visit(this); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowMasterStatus.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowMasterStatus extends DALShowStatement { 13 | 14 | @Override 15 | public void accept(SQLASTVisitor visitor) { 16 | visitor.visit(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowPlugins.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowPlugins extends DALShowStatement { 13 | 14 | @Override 15 | public void accept(SQLASTVisitor visitor) { 16 | visitor.visit(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowPrivileges.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowPrivileges extends DALShowStatement { 13 | @Override 14 | public void accept(SQLASTVisitor visitor) { 15 | visitor.visit(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowProcedureCode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.Identifier; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class ShowProcedureCode extends DALShowStatement { 14 | private final Identifier procedureName; 15 | 16 | public ShowProcedureCode(Identifier procedureName) { 17 | this.procedureName = procedureName; 18 | } 19 | 20 | public Identifier getProcedureName() { 21 | return procedureName; 22 | } 23 | 24 | @Override 25 | public void accept(SQLASTVisitor visitor) { 26 | visitor.visit(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowProcesslist.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowProcesslist extends DALShowStatement { 13 | private final boolean full; 14 | 15 | public ShowProcesslist(boolean full) { 16 | this.full = full; 17 | } 18 | 19 | public boolean isFull() { 20 | return full; 21 | } 22 | 23 | @Override 24 | public void accept(SQLASTVisitor visitor) { 25 | visitor.visit(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowProfiles.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowProfiles extends DALShowStatement { 13 | 14 | @Override 15 | public void accept(SQLASTVisitor visitor) { 16 | visitor.visit(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowSlaveHosts.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowSlaveHosts extends DALShowStatement { 13 | 14 | @Override 15 | public void accept(SQLASTVisitor visitor) { 16 | visitor.visit(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowSlaveStatus.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class ShowSlaveStatus extends DALShowStatement { 13 | 14 | @Override 15 | public void accept(SQLASTVisitor visitor) { 16 | visitor.visit(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dal/ShowWarnings.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dal; 6 | 7 | import com.baidu.hsb.parser.ast.fragment.Limit; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class ShowWarnings extends DALShowStatement { 14 | private final boolean count; 15 | private final Limit limit; 16 | 17 | public ShowWarnings(boolean count, Limit limit) { 18 | this.count = count; 19 | this.limit = limit; 20 | } 21 | 22 | public boolean isCount() { 23 | return count; 24 | } 25 | 26 | public Limit getLimit() { 27 | return limit; 28 | } 29 | 30 | @Override 31 | public void accept(SQLASTVisitor visitor) { 32 | visitor.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/ddl/DDLStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.ddl; 6 | 7 | import com.baidu.hsb.parser.ast.stmt.SQLStatement; 8 | 9 | /** 10 | * NOT FULL AST 11 | * 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public interface DDLStatement extends SQLStatement { 15 | //QS_TODO ddl regenerate sql by router 16 | } 17 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/ddl/DDLTruncateStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.ddl; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.Identifier; 8 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public class DDLTruncateStatement implements DDLStatement { 14 | private final Identifier table; 15 | 16 | public DDLTruncateStatement(Identifier table) { 17 | this.table = table; 18 | } 19 | 20 | public Identifier getTable() { 21 | return table; 22 | } 23 | 24 | @Override 25 | public void accept(SQLASTVisitor visitor) { 26 | visitor.visit(this); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dml/DMLCondition.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2018 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.parser.ast.stmt.dml; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.fragment.tableref.TableReferences; 11 | 12 | /** 13 | * @author brucexx 14 | * @since 2018年8月1日 上午10:40:11 15 | */ 16 | public interface DMLCondition extends Serializable { 17 | 18 | /** 19 | * 获取一个语句的所有条件集合,select union ,left join 等 20 | * 21 | * @return 22 | */ 23 | List getWhereCondition(); 24 | 25 | /** 26 | * 获取一个语句的所有tables,嵌套式 27 | * 28 | * @return 29 | */ 30 | TableReferences getTables(); 31 | } 32 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/dml/DMLQueryStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.dml; 6 | 7 | import java.util.Map; 8 | 9 | import com.baidu.hsb.parser.ast.expression.Expression; 10 | import com.baidu.hsb.parser.ast.expression.misc.QueryExpression; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public abstract class DMLQueryStatement extends DMLStatement implements QueryExpression { 16 | @Override 17 | public int getPrecedence() { 18 | return PRECEDENCE_QUERY; 19 | } 20 | 21 | @Override 22 | public Expression setCacheEvalRst(boolean cacheEvalRst) { 23 | return this; 24 | } 25 | 26 | @Override 27 | public Object evaluation(Map parameters) { 28 | return UNEVALUATABLE; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/ast/stmt/extension/ExtDDLDropPolicy.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.ast.stmt.extension; 6 | 7 | import com.baidu.hsb.parser.ast.expression.primary.Identifier; 8 | import com.baidu.hsb.parser.ast.stmt.ddl.DDLStatement; 9 | import com.baidu.hsb.parser.visitor.SQLASTVisitor; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public class ExtDDLDropPolicy implements DDLStatement { 15 | private final Identifier policyName; 16 | 17 | public ExtDDLDropPolicy(Identifier policyName) { 18 | this.policyName = policyName; 19 | } 20 | 21 | public Identifier getPolicyName() { 22 | return policyName; 23 | } 24 | 25 | @Override 26 | public void accept(SQLASTVisitor visitor) { 27 | visitor.visit(this); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/util/BinaryOperandCalculator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.util; 6 | 7 | import java.io.Serializable; 8 | import java.math.BigDecimal; 9 | import java.math.BigInteger; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public interface BinaryOperandCalculator extends Serializable{ 15 | Number calculate(Integer integer1, Integer integer2); 16 | 17 | Number calculate(Long long1, Long long2); 18 | 19 | Number calculate(BigInteger bigint1, BigInteger bigint2); 20 | 21 | Number calculate(BigDecimal bigDecimal1, BigDecimal bigDecimal2); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/parser/com/baidu/hsb/parser/util/UnaryOperandCalculator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.parser.util; 6 | 7 | import java.io.Serializable; 8 | import java.math.BigDecimal; 9 | import java.math.BigInteger; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public interface UnaryOperandCalculator extends Serializable{ 15 | Number calculate(Integer num); 16 | 17 | Number calculate(Long num); 18 | 19 | Number calculate(BigInteger num); 20 | 21 | Number calculate(BigDecimal num); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/hsb.properties: -------------------------------------------------------------------------------- 1 | hsb.home=/Users/brucexx -------------------------------------------------------------------------------- /src/main/route/com/baidu/hsb/route/RouteException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.route; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: RouteException.java, v 0.1 2013年12月31日 下午1:14:08 HI:brucest0078 Exp $ 12 | */ 13 | public class RouteException extends Exception { 14 | private static final long serialVersionUID = -5859343132692693104L; 15 | 16 | public RouteException() { 17 | super(); 18 | } 19 | 20 | public RouteException(String message, Throwable cause) { 21 | super(message, cause); 22 | } 23 | 24 | public RouteException(String message) { 25 | super(message); 26 | } 27 | 28 | public RouteException(Throwable cause) { 29 | super(cause); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/route/com/baidu/hsb/route/context/HeisenbergContext.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2014 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.route.context; 6 | 7 | import java.util.Map; 8 | 9 | import com.baidu.hsb.HeisenbergServer; 10 | import com.baidu.hsb.mysql.MySQLDataNode; 11 | 12 | /** 13 | * 14 | * @author xiongzhao@baidu.com 15 | * @version $Id: HeisenbergContext.java, v 0.1 2014年3月6日 上午11:38:11 HI:brucest0078 Exp $ 16 | */ 17 | public class HeisenbergContext { 18 | 19 | public static Map getMysqlDataNode() { 20 | return HeisenbergServer.getInstance().getConfig().getDataNodes(); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/HeisenbergShutdown.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb; 6 | 7 | import java.util.Date; 8 | 9 | /** 10 | * 11 | * 12 | * @author xiongzhao@baidu.com 13 | * @version $Id: CobarShutdown.java, v 0.1 2013年12月31日 下午1:40:21 HI:brucest0078 Exp $ 14 | */ 15 | public final class HeisenbergShutdown { 16 | 17 | public static void main(String[] args) { 18 | System.out.println(new Date() + ",server shutdown!"); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/ErrorPacketException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * 9 | * 10 | * @author xiongzhao@baidu.com 11 | * @version $Id: ErrorPacketException.java, v 0.1 2013年12月31日 下午1:14:34 HI:brucest0078 Exp $ 12 | */ 13 | public class ErrorPacketException extends RuntimeException { 14 | private static final long serialVersionUID = -2692093550257870555L; 15 | 16 | public ErrorPacketException() { 17 | super(); 18 | } 19 | 20 | public ErrorPacketException(String message, Throwable cause) { 21 | super(message, cause); 22 | } 23 | 24 | public ErrorPacketException(String message) { 25 | super(message); 26 | } 27 | 28 | public ErrorPacketException(Throwable cause) { 29 | super(cause); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/HeartbeatException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public class HeartbeatException extends RuntimeException { 11 | private static final long serialVersionUID = 7639414445868741580L; 12 | 13 | public HeartbeatException() { 14 | super(); 15 | } 16 | 17 | public HeartbeatException(String message, Throwable cause) { 18 | super(message, cause); 19 | } 20 | 21 | public HeartbeatException(String message) { 22 | super(message); 23 | } 24 | 25 | public HeartbeatException(Throwable cause) { 26 | super(cause); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/UnknownCharsetException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * 未知字符集异常 9 | * 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class UnknownCharsetException extends RuntimeException { 13 | private static final long serialVersionUID = 552833416065882969L; 14 | 15 | public UnknownCharsetException() { 16 | super(); 17 | } 18 | 19 | public UnknownCharsetException(String message, Throwable cause) { 20 | super(message, cause); 21 | } 22 | 23 | public UnknownCharsetException(String message) { 24 | super(message); 25 | } 26 | 27 | public UnknownCharsetException(Throwable cause) { 28 | super(cause); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/UnknownDataNodeException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public class UnknownDataNodeException extends RuntimeException { 11 | private static final long serialVersionUID = -3752985849571697432L; 12 | 13 | public UnknownDataNodeException() { 14 | super(); 15 | } 16 | 17 | public UnknownDataNodeException(String message, Throwable cause) { 18 | super(message, cause); 19 | } 20 | 21 | public UnknownDataNodeException(String message) { 22 | super(message); 23 | } 24 | 25 | public UnknownDataNodeException(Throwable cause) { 26 | super(cause); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/UnknownPacketException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * 未知数据包异常 9 | * 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class UnknownPacketException extends RuntimeException { 13 | private static final long serialVersionUID = 3152986441780514147L; 14 | 15 | public UnknownPacketException() { 16 | super(); 17 | } 18 | 19 | public UnknownPacketException(String message, Throwable cause) { 20 | super(message, cause); 21 | } 22 | 23 | public UnknownPacketException(String message) { 24 | super(message); 25 | } 26 | 27 | public UnknownPacketException(Throwable cause) { 28 | super(cause); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/exception/UnknownTxIsolationException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.exception; 6 | 7 | /** 8 | * 未知事物隔离级别异常 9 | * 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class UnknownTxIsolationException extends RuntimeException { 13 | private static final long serialVersionUID = -3911059999308980358L; 14 | 15 | public UnknownTxIsolationException() { 16 | super(); 17 | } 18 | 19 | public UnknownTxIsolationException(String message, Throwable cause) { 20 | super(message, cause); 21 | } 22 | 23 | public UnknownTxIsolationException(String message) { 24 | super(message); 25 | } 26 | 27 | public UnknownTxIsolationException(Throwable cause) { 28 | super(cause); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/manager/ManagerConnectionFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.manager; 6 | 7 | import java.nio.channels.SocketChannel; 8 | 9 | import com.baidu.hsb.HeisenbergPrivileges; 10 | import com.baidu.hsb.net.FrontendConnection; 11 | import com.baidu.hsb.net.factory.FrontendConnectionFactory; 12 | 13 | /** 14 | * @author xiongzhao@baidu.com 15 | */ 16 | public class ManagerConnectionFactory extends FrontendConnectionFactory { 17 | 18 | @Override 19 | protected FrontendConnection getConnection(SocketChannel channel) { 20 | ManagerConnection c = new ManagerConnection(channel); 21 | c.setPrivileges(new HeisenbergPrivileges()); 22 | c.setQueryHandler(new ManagerQueryHandler(c)); 23 | return c; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/manager/handler/StopHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.manager.handler; 6 | 7 | import com.baidu.hsb.config.ErrorCode; 8 | import com.baidu.hsb.manager.ManagerConnection; 9 | import com.baidu.hsb.manager.parser.ManagerParseStop; 10 | import com.baidu.hsb.manager.response.StopHeartbeat; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public final class StopHandler { 16 | 17 | public static void handle(String stmt, ManagerConnection c, int offset) { 18 | switch (ManagerParseStop.parse(stmt, offset)) { 19 | case ManagerParseStop.HEARTBEAT: 20 | StopHeartbeat.execute(stmt, c); 21 | break; 22 | default: 23 | c.writeErrMessage(ErrorCode.ER_YES, "Unsupported statement"); 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/manager/response/Offline.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.manager.response; 6 | 7 | import com.baidu.hsb.HeisenbergServer; 8 | import com.baidu.hsb.manager.ManagerConnection; 9 | import com.baidu.hsb.net.mysql.OkPacket; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public class Offline { 15 | 16 | private static final OkPacket ok = new OkPacket(); 17 | static { 18 | ok.packetId = 1; 19 | ok.affectedRows = 1; 20 | ok.serverStatus = 2; 21 | } 22 | 23 | public static void execute(String stmt, ManagerConnection c) { 24 | HeisenbergServer.getInstance().offline(); 25 | ok.write(c); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/manager/response/Online.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.manager.response; 6 | 7 | import com.baidu.hsb.HeisenbergServer; 8 | import com.baidu.hsb.manager.ManagerConnection; 9 | import com.baidu.hsb.net.mysql.OkPacket; 10 | 11 | /** 12 | * @author xiongzhao@baidu.com 13 | */ 14 | public class Online { 15 | 16 | private static final OkPacket ok = new OkPacket(); 17 | static { 18 | ok.packetId = 1; 19 | ok.affectedRows = 1; 20 | ok.serverStatus = 2; 21 | } 22 | 23 | public static void execute(String stmt, ManagerConnection mc) { 24 | HeisenbergServer.getInstance().online(); 25 | ok.write(mc); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/mysql/bio/ChannelFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.mysql.bio; 6 | 7 | import com.baidu.hsb.mysql.MySQLDataSource; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 2011-5-6 下午12:32:55 11 | */ 12 | public interface ChannelFactory { 13 | 14 | Channel make(MySQLDataSource dataSource); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/mysql/bio/MySQLChannelFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.mysql.bio; 6 | 7 | import com.baidu.hsb.mysql.MySQLDataSource; 8 | 9 | /** 10 | * @author xiongzhao@baidu.com 2011-5-6 下午03:10:16 11 | */ 12 | public final class MySQLChannelFactory implements ChannelFactory { 13 | 14 | @Override 15 | public Channel make(MySQLDataSource dataSource) { 16 | return new MySQLChannel(dataSource); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/mysql/bio/executor/NodeExecutor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.mysql.bio.executor; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public abstract class NodeExecutor { 11 | /** 12 | * @return block until all tasks are finished 13 | */ 14 | public abstract void terminate() throws InterruptedException; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/mysql/nio/handler/Terminatable.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.mysql.nio.handler; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public interface Terminatable { 11 | void terminate(Runnable runnable); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/mysql/xa/XAOp.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2019 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.mysql.xa; 5 | 6 | /** 7 | * @author brucexx 8 | * 9 | */ 10 | public enum XAOp { 11 | 12 | START(0), END_PREPARE(1), COMMIT(2), ROLLBACK(3); 13 | 14 | private int code; 15 | 16 | /** 17 | * @return the code 18 | */ 19 | public int getCode() { 20 | return code; 21 | } 22 | 23 | private XAOp(int code) { 24 | this.code = code; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/context/XAContext.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2019 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.server.context; 5 | 6 | import java.util.Map; 7 | import java.util.concurrent.ConcurrentHashMap; 8 | 9 | import com.baidu.hsb.server.session.XASession; 10 | 11 | /** 12 | * @author brucexx 13 | * 14 | */ 15 | public class XAContext { 16 | 17 | private final static Map sessionMap = new ConcurrentHashMap(); 18 | 19 | private XAContext() { 20 | 21 | } 22 | 23 | public static void removeSession(String xid) { 24 | sessionMap.remove(xid); 25 | 26 | } 27 | 28 | public static void addSession(String xid, XASession ss) { 29 | sessionMap.put(xid, ss); 30 | } 31 | 32 | public static XASession getSession(String xid) { 33 | return sessionMap.get(xid); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/handler/BeginHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.server.handler; 6 | 7 | import com.baidu.hsb.config.ErrorCode; 8 | import com.baidu.hsb.server.ServerConnection; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public final class BeginHandler { 14 | 15 | public static void handle(String stmt, ServerConnection c) { 16 | c.writeErrMessage(ErrorCode.ER_UNKNOWN_COM_ERROR, "Unsupported statement"); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/handler/CommitHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.server.handler; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import com.baidu.hsb.net.mysql.OkPacket; 10 | import com.baidu.hsb.server.ServerConnection; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public final class CommitHandler { 16 | 17 | public static void handle(ServerConnection c) { 18 | ByteBuffer buffer = c.allocate(); 19 | c.write(c.writeToBuffer(OkPacket.OK, buffer)); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/handler/RollbackHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.server.handler; 6 | 7 | import java.nio.ByteBuffer; 8 | 9 | import com.baidu.hsb.net.mysql.OkPacket; 10 | import com.baidu.hsb.server.ServerConnection; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public final class RollbackHandler { 16 | 17 | public static void handle(String stmt, ServerConnection c) { 18 | ByteBuffer buffer = c.allocate(); 19 | c.write(c.writeToBuffer(OkPacket.OK, buffer)); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/handler/SavepointHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.server.handler; 6 | 7 | import com.baidu.hsb.config.ErrorCode; 8 | import com.baidu.hsb.server.ServerConnection; 9 | 10 | /** 11 | * @author xiongzhao@baidu.com 12 | */ 13 | public final class SavepointHandler { 14 | 15 | public static void handle(String stmt, ServerConnection c) { 16 | c.writeErrMessage(ErrorCode.ER_UNKNOWN_COM_ERROR, "Unsupported statement"); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/response/Ping.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.server.response; 6 | 7 | import com.baidu.hsb.HeisenbergServer; 8 | import com.baidu.hsb.mysql.PacketUtil; 9 | import com.baidu.hsb.net.FrontendConnection; 10 | import com.baidu.hsb.net.mysql.ErrorPacket; 11 | import com.baidu.hsb.net.mysql.OkPacket; 12 | 13 | /** 14 | * 加入了offline状态推送,用于心跳语句。 15 | * 16 | * @author xiongzhao@baidu.com 17 | */ 18 | public class Ping { 19 | 20 | private static final ErrorPacket error = PacketUtil.getShutdown(); 21 | 22 | public static void response(FrontendConnection c) { 23 | if (HeisenbergServer.getInstance().isOnline()) { 24 | c.write(c.writeToBuffer(OkPacket.OK, c.allocate())); 25 | } else { 26 | error.write(c); 27 | } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/session/FailCondCallback.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2019 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.server.session; 5 | 6 | /** 7 | * @author brucexx 8 | * 9 | */ 10 | public interface FailCondCallback { 11 | 12 | /** 13 | * 前置条件 14 | */ 15 | void condition(int code, String msg); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/server/session/SucCondCallback.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2019 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.server.session; 5 | 6 | /** 7 | * @author brucexx 8 | * 9 | */ 10 | public interface SucCondCallback { 11 | 12 | void condition(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/statistic/DataSourceCount.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.statistic; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 2010-9-30 上午10:47:47 9 | */ 10 | public final class DataSourceCount { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/statistic/SQLRecord.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.statistic; 6 | 7 | /** 8 | * @author xiongzhao@baidu.com 9 | */ 10 | public final class SQLRecord implements Comparable { 11 | 12 | public String host; 13 | public String schema; 14 | public String statement; 15 | public long startTime; 16 | public long executeTime; 17 | public String dataNode; 18 | public int dataNodeIndex; 19 | 20 | @Override 21 | public int compareTo(SQLRecord o) { 22 | return (int) (executeTime - o.executeTime); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/util/NameableExecutor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.util; 6 | 7 | import java.util.concurrent.BlockingQueue; 8 | import java.util.concurrent.ThreadFactory; 9 | import java.util.concurrent.ThreadPoolExecutor; 10 | import java.util.concurrent.TimeUnit; 11 | 12 | /** 13 | * @author xiongzhao@baidu.com 14 | */ 15 | public class NameableExecutor extends ThreadPoolExecutor { 16 | 17 | protected String name; 18 | 19 | public NameableExecutor(String name, int size, BlockingQueue queue, ThreadFactory factory) { 20 | super(size, size, Long.MAX_VALUE, TimeUnit.NANOSECONDS, queue, factory); 21 | this.name = name; 22 | } 23 | 24 | public String getName() { 25 | return name; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/util/ThreadPool.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2016 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.hsb.util; 5 | 6 | import java.util.HashMap; 7 | import java.util.Map; 8 | import java.util.concurrent.ExecutorService; 9 | import java.util.concurrent.Executors; 10 | 11 | /** 12 | * @author brucexx 13 | * 14 | */ 15 | public class ThreadPool { 16 | public static String COMMON = "common"; 17 | private static Map pool = new HashMap(); 18 | 19 | static { 20 | pool.put(COMMON, Executors.newFixedThreadPool(200)); 21 | } 22 | 23 | public static ExecutorService getPool(String key) { 24 | return pool.get(key); 25 | } 26 | 27 | public static void execute(Runnable r) { 28 | getPool(COMMON).execute(r); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/server/com/baidu/hsb/util/TimeUtil.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Baidu.com,Inc. 3 | * Copyright (c) 2000-2013 All Rights Reserved. 4 | */ 5 | package com.baidu.hsb.util; 6 | 7 | /** 8 | * 弱精度的计时器,考虑性能不使用同步策略。 9 | * 10 | * @author xiongzhao@baidu.com 11 | */ 12 | public class TimeUtil { 13 | private static long CURRENT_TIME = System.currentTimeMillis(); 14 | 15 | public static final long currentTimeMillis() { 16 | return CURRENT_TIME; 17 | } 18 | 19 | public static final void update() { 20 | CURRENT_TIME = System.currentTimeMillis(); 21 | } 22 | 23 | } 24 | --------------------------------------------------------------------------------