1 /* Copyright (C) 2014 InfiniDB, Inc.
2 
3    This program is free software; you can redistribute it and/or
4    modify it under the terms of the GNU General Public License
5    as published by the Free Software Foundation; version 2 of
6    the License.
7 
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12 
13    You should have received a copy of the GNU General Public License
14    along with this program; if not, write to the Free Software
15    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16    MA 02110-1301, USA. */
17 
18 //
19 // $Id: passthrucommand-jl.h 9655 2013-06-25 23:08:13Z xlou $
20 // C++ Interface: passthrucommand-jl
21 //
22 // Description:
23 //
24 //
25 // Author: Patrick <pleblanc@localhost.localdomain>, (C) 2008
26 //
27 // Copyright: See COPYING file that comes with this distribution
28 //
29 //
30 /** @file */
31 
32 #ifndef PASSTHRUCOMMAND_JL
33 #define PASSTHRUCOMMAND_JL
34 
35 #include "jobstep.h"
36 #include "command-jl.h"
37 
38 namespace joblist
39 {
40 
41 class PassThruCommandJL : public CommandJL
42 {
43 public:
44     PassThruCommandJL(const PassThruStep&);
45     virtual ~PassThruCommandJL();
46 
47     void setLBID(uint64_t data, uint32_t dbroot);		// converts a rid or dictionary token to an LBID.  For ColumnCommandJL it's a RID, for a DictStep it's a token.
48     uint8_t getTableColumnType();
49     std::string toString();
50 
51     void createCommand(messageqcpp::ByteStream&) const;
52     void runCommand(messageqcpp::ByteStream&) const;
53     uint16_t getWidth();
getCommandType()54     CommandType getCommandType()
55     {
56         return PASS_THRU;
57     }
58 
59 private:
60     PassThruCommandJL();
61     PassThruCommandJL(const PassThruCommandJL&);
62 
63     uint8_t colWidth;
64     uint8_t tableColumnType;
65 };
66 
67 };
68 
69 #endif
70