1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00

the begginning

This commit is contained in:
david hill 2016-01-06 14:08:59 -06:00
parent 66a31debcb
commit f6afc42dd0
18251 changed files with 16460679 additions and 2 deletions

0
AUTHORS Normal file
View File

340
COPYING Normal file
View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

445
ChangeLog Normal file
View File

@ -0,0 +1,445 @@
/***********************************************************************
*
* Copyright (C) 2013 InfiniDB Corp
* All Rights Reserved
*
***********************************************************************/
July 7, 2014
Version 4.6
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
1505 Implement temp file based LargeHashJoin for tuple joins
3683 Allow function(column) = function(column) join
5308 Improve performance of load data infile and insert into select from
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
3858 While "load data infile" is in progress, PrimProc fails to read compressed chunk and retries for more than a minute
4295 CPimport Mode 2: Should check for input files on all PMs before starting loading
4737 Distributed cpimport does not support a list of import files to a single table
4789 InfiniDB came up normally after encountering an critical sessionManager::rollback() error
5134 Source package: After compilation and installation, InfiniDB reported lib not found error during startup
5140 second and subsequent load data infiles have 30 second delay with auto increment
5523 Mysql is resetting when running a query on a information_schema.table and an InfiniDB table.
5727 Improve logging around controllernode start up
5756 After a failed addModule command movePmDbrootConfig did not fail
5758 when amazon UM modules are removed, their associated EBS storages are not removed
5761 Support additional versions of Java for Hadoop installations
5762 Need a method to handle MySQL port conflict on a multi-server install
5773 Startsystem is failing when shutdown has not completed.
5847 IDB-2021 on query using multiple pseudo column functions against same column and aggregation
5848 No CP elimination from idbPartition(col) in the where clause
5865 ERROR 138 (HY000): IDB-1000: 'orders' and 'sub-query' are not joined on a query with an or condition and not in condition
5891 getsystemdisk reporting minus value
5894 Performance issue when inserting a value in an autoincrement column
5930 Not in group by error on query grouping by idbPm and idbDbRoot functions
5931 current builds do not support a non-root / hdfs install
5946 load data infile error: ERROR 122 (HY000): CAL0006: Error verifying compression headers
5947 calonlinealter always creates non compressed columns
5950 getModuleHostNames command on AWS returned a segmentation fault error
5954 calpontSupport for Windows does not recognize options
5958 Query with a subselect is getting an assertion error
5963 configxml.sh fails to set CrossEngineSupport Password from the default setting
5978 crash with prepared statements
5987 hadoop test failed on install, hadoop not install where setenv was looking and not a parcel
5992 Bulk load fails on long schema name, long table name, and long column name combination.
5993 IDB-2016: Non supported item 'c2' on the GROUP BY list.
5996 Table reporting errors after a LDI
5997 standard mysql and infinidb mysql incorrectly starting/stopping each other
6000 New MySQL port test is insufficient
6001 cpimport performance improvement for tables with many dictionary columns
6005 addModule command failed to add an UM
6010 InfiniDB mysql replication doesn't work when UM mysql Port address is not 3306
6013 HW 2.1 testing with 4.5.1-2 - different JAVA_HOME's are setup
6017 Queries with "where date(col) in (select dtCol)" not finding rows
6026 Prevent potential infinite loops reading input in postConfigure
6027 post-install message for a non-root hadoop install is incorrect..
6029 when autocommit off, batchinsert set hwm of dictionary store file to 0
6041 When loading 4160825419 rows cpimport reported as -134141877 rows
6044 'union all' query generates tupleconstantstep.cpp@731: assertion 'fRowConst.getSize() == fRowOut.getSize()' failed
6061 window function returned incorrect results
6066 query with alias is returning IDB-3009: Unknown column error.
6073 setenv scripts issues on Ubuntu
/***********************************************************************
*
* Copyright (C) 2013 InfiniDB Corp
* All Rights Reserved
*
***********************************************************************/
June 23, 2014
Version 4.5.1
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
4438 Implement -j option with simple usage to create a specific job log file
4638 Update from 2.2.x to 3.0 is not supported with multiple dbroots
5501 update with subquery using a view with an order by receives an error when using infinidb tables
5523 Mysql is resetting when running a query on a information_schema.table and an InfiniDB table.
5739 install-infinidb.sh script should be removed
5756 After a failed addModule command movePmDbrootConfig did not fail
5758 when amazon UM modules are removed, their associated EBS storages aren't
5761 Add support for additional Java versions with installation on HDFS
5762 Need a method to handle MySQL port conflict on a multi-server install
5785 While running a complex query a Control C aborts the query but may not clear ExeMgr memory
5804 mysql reset occurring following an install when /dev/shm permissions were not set correctly
5838 no prompt postConfigure does not work when mysql password is required.
5873 install failure - No Calpont.xml: failed to be written in config api
5881 with replication, delete with idbpm(colname) in where clause failed with an error.
5884 query returns incorrect results when using an on clause filter involving a table not directly involved in the outer join
5887 " Incorrect results of Is Null "
5891 getsystemdisk returns minus value
5893 Pseudo column functions return an "BPS not created 1" error when used as the 2nd expression in a where clause
5896 getConfig has no linefeed after returning value
5900 PrimProc crashes if NumBlocksPct has '%' in value
5903 startsystem reported successful system start when mysqld aborted
5904 Changing dbroot-to-pm assignment during postConfigure causes double-mounted storage devices
5906 Diagnostic messages logged in the err.log file during new installation
5907 After installation, a rsync error was report in UM1 but the stack seems to be in working state
5908 4.5 non-root install problems
5909 On a stack with replication and local query enabled, rerunning postConfigure caused the two features to become disabled
5910 Object names > 64 cause replication errors
5913 Renaming an autoincrement column is resetting the next value
5915 On hadoop system, SYSTABLE's update was not flushed to disk when implementing split dbroots for systables
5916 query using a view on a view causes ERROR 2013 (HY000): Lost connection to MySQL server during query
5917 non-root gluster / hadoop installs fail - storage types not being offered in postConfigure
5919 Warning of future deprecated "default-character-set" setting on Windows install
5923 ERROR 122 (HY000): Lost connection to DDLProc
5925 Add the two new options to postConfigure -h
5932 Queries with limits sometimes set the extent map min / max incorrectly
5943 mysql daemon fails to start on pm2 of a non-root install local-query configured system
5944 Incorrect schema name in error message
5946 load data infile error: ERROR 122 (HY000): CAL0006: Error verifying compression headers
5947 calonlinealter always creates non compressed columns
5956 Error Code: 138 IDB-2015: Sorting length exceeded when using a view
5958 Query with a subselect is getting an assertion error
5973 large system (1um-30pm) failing to start, ProcMgr incorrect stopping with ProcMons not active
5981 postconfigure upgrade when enabling local-query fails
5983 all the hdfs settings are not in the .bashrc file after install
5993 IDB-2016: Non supported item 'c2' on the GROUP BY list.
5996 Table reporting errors after a LDI
6001 cpimport performance improvement for tables with many dictionary columns
6029 with autocommit off, batchinsert set hwm of dictionary store file to 0
/***********************************************************************
*
* Copyright (C) 2013 InfiniDB Corp
* All Rights Reserved
*
***********************************************************************/
March 31, 2014
Version 4.5
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
4021 Selectable pseudo columns for row/PM identification
4578 Upgrade to latest MySQL 5.1.73
5572 Optimizations to cpimport with Hadoop
5634 Optimization: Project only the necessary columns from views with union all or union
5635 Optimization: Use partition elimination for from clause sub queries and views with union / union all
5657 Local PM query interface
5660 Local PM Sqoop Import
5740 Enable use of MySQL Replication on UMs with InfiniDB
5799 Enhancement request to not provide information when performing a non-hadoop install on a system with hadoop
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
5443 An error is not issued when changing a column's datatype
5444 alter table will not allow an autoincrement column to be renamed.
5611 Windows MySQL doesn't build out of github
5640 Hadoop: dumpcol and eval returned a java error with stack trace when non-existing file is supplied
5647 cpimport -i option doesn't work with modes 1 and 2
5745 hadoop: unknown bulk rollback error on 4PM stack
5748 startsystem failure when user-module is disabled
5805 Query with avg windowing function returning the average at the wrong decimal scale
5806 cpimport loads data incorrectly on a multi-server stack when the table has a mix of compressed and non-compressed columns
5807 concat producing an incorrect count when using a view
5808 colxml error reported on Windows system.
5811 selecting from a view which has a cross engine join produces an ERROR 122 (HY000): fatal error executing query in crossengine client lib(17)(17)
5817 addModule / altersystem-enablemodule fails on amazon with InfiniDB 4.x
5819 Calpont.xml and Calpont.xml.singleserver do not have the same parameters.
5820 Inconsistent rounding on percentile_cont windowing function
5861 post-install reported to have run the setenv-hdfs-12 script on a CDH 4 install
5864 Include calpontSupport in the standard edition
5874 Reset of ProcessMonitor on PM2 on a combo system left mysqld as man_offline
/***********************************************************************
*
* Copyright (C) 2014 InfiniDB Corp
* All Rights Reserved
*
***********************************************************************/
April 14, 2014
Version 4.0.3
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
4638 Update from 2.2.x to 3.0 is not supported with multiple dbroots
5610 The MySQL front end no longer outputs a descriptive messages when version buffer is full
5748 startsystem failure when user-module is disabled
5778 Distributed import error message for auto increment overflow is not friendly
5793 Remove O/S version checking in glusterconf
5801 Queries with string comparison in where clause occasionally causes a PM to hang
5805 Query with avg windowing function returning the average at the wrong decimal scale
5806 cpimport loads data incorrectly on a multi-server stack when the table has a mix of compressed and non-compressed columns
5807 concat producing an incorrect count when using a view
5808 colxml error reported on Windows system.
5810 update doesn't flush string file with table oid 3000
5811 selecting from a view which has a cross engine join produces an ERROR 122 (HY000): fatal error executing query in crossengine client lib(17)(17)
5817 addModule / altersystem-enablemodule fails on amazon 4.x
5820 Inconsistent rounding on percentile_cont windowing function
5821 PM join with F & E in-join filter + a UM join will crash ExeMgr
5823 System hung when running concurrent queries with autocommit off
5838 no prompt postConfigure does not work when mysql password is required.
5874 Reset of ProcessMonitor on PM2 on a combo system left mysqld as man_offline
5877 After loading 1 extent worth of data into a table, select count(*) failed.
5882 cleartablelock fails on a multi server system.
5884 query returns incorrect results when using an on clause filter involving a table not directly involved in the outer join
5887 " Incorrect results of Is Null "
5870 select following delete statement is encountering a rid error.
5896 getConfig has no linefeed after returning value
5900 PrimProc crashes if NumBlocksPct has '%' in value
5904 Changing dbroot-to-pm assignment during postConfigure causes double-mounted storage devices
5915 On hadoop system, SYSTABLE's update was not flushed to disk when implementing split dbroots for systables
5916 query using a view on a view causes ERROR 2013 (HY000): Lost connection to MySQL server during query
5917 non-root gluster / hadoop installs fail - storage types not being offered in postConfigure
5932 Queries with limits sometimes set the extent map min / max incorrectly
/***********************************************************************
*
* Copyright (C) 2013 Calpont Corp
* All Rights Reserved
*
***********************************************************************/
February 10, 2014
Version 4.0.2
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
5760 Hadoop with Cloudera parcel-based install
5769 Optimization to not preallocate database column files in HDFS
5732 Add ability to report compressed bytes used rather than file size on disk
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
2437 When expression results in data overflow, no error or warning was returned
4930 no prompt install on AWS had an error when it did not use the volume information.
5363 HAVING statement regression on 4.0 with COUNT DISTINCT
5383 NOT NULL constraint cpimport issues
5604 cpimport jobs hanging on HDFS installs
5617 Invalid Package error reported during the running of calpontSupport - incorrect error message
5636 query gives ERROR 1054 (42S22): Unknown column
5678 ERROR 138 (HY000): 'date_last_update_tk' isn't in tuple.
5682 HDFS updating a row that was inserted sometimes does not update the row
5687 TIMESTAMPADD(SECOND,2147483647, returns incorrect information.
5696 insert statement not providing a warning for truncated data
5697 IDB produces different results for equivalent calculations
5705 hadoop: HdfsFileSystem::listDirectory() not returning all files in directory; bulk rollback not deleting db files
5712 left('unsigned int',6) provides incorrect result
5715 incorrect calculation provided in result set
5716 union sql statement not displaying correct result
5717 create table with invalid Infinidb option does not provide an error or warning
5718 cross engine join results in ERROR 122 (HY000): InetStreamSocket::readToMagic: Remote is closed
5721 amazon upgrade 4.0.0 to 4.0.1 issues
5722 cpimport failing on table to PM17; not handling a boundary case where 2 DBRoots have partial HWM extents
5726 amazon 3.6.3 to 4.0.1 upgrade issue - the ebs storage data not given in postConfigure
5728 update Server cpu-info and disk scheduler in calpontSupport output
5733 databaseSizeReport doesn't report the size of dictionary string files in calpontsys tables
5735 Launching simultaneous databaseSizeReports at virtually the same time can sometimes yield incorrect results
5749 addModule for failed on Amazon system - user_installer password error
5750 dbrm halt/resumes need to be put around the load of dbrm files
5752 ERROR 138 (HY000) at line 2: Sub-query failed: error code 2003 error for query that exceeded TotalUmMemory
5753 When PrimProc restarts, DML statement didn't reset the connections to PrimProc in connector
5757 addModule for UM failed on Amazon system - remote_command error
5759 Must use -p option for hadoop fs -mkdir when creating /usr/local/Calpont
5764 select count(*) from a complex view is returning an incorrect answer.
5765 truncate statement does not show schema in the debug.log
5767 'create table' creates table in front end when spaces are in the table name.
5775 Windows does not log when PrimProc goes down or restarts
5777 LAG function returns invalid answer on a float column
/***********************************************************************
*
* Copyright (C) 2013 Calpont Corp
* All Rights Reserved
*
***********************************************************************/
December 2, 2013
Version 4.0.1
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
5619 Support VPC environment with AMI
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Short Description
4996 removeDbroot should be disabled when GlusterFS is configured
5268 Incorrect date_format answer from infindb table
5402 OAM getSystemStatus message in Windows log
5429 LDI updated casual partitioning min/max values for an extent when where is no update to the actual column value.
5454 assignDbrootPmConfig needs to error out when the system is shutdown
5463 calpontSupport is not including the -c option when -a is selected.
5499 'Memory leak of ExeMgr'
5529 _CpNoTf_ is reported in results set
5549 update on two columns with an AND causes mysql reset
5555 HDFS tools installed on non-Hadoop system
5558 Issuing Ctrl-C on a repetitive OAM command will set terminal session to echo off
5566 hdfs error message printed to screen in calpontConsole - run before hdfs is up
5573 hadoop: update a string column is very slow.
5588 Delete statement left table locked.
5596 postConfigure/glusterconf is creating gluster brick directories owned by root user
5614 "hdfsCheck failed" message logged in crit.log when the stack came up normal
5621 can't create large (20+ pm) amazon systems using 4.0 AMI
5626 PrimProc crash running on HDFS
5628 Bug joining against unsigned tinyint data type
5631 After applying the row_number() function the table content is going to be lost.
5638 issue with using a constant in group by column
5642 system hung during distributed import
5646 Left outer join on varchar column and date datetime column to date column not returning all matching rows
5651 Query wrapped in a select * () returns invalid results.
5652 alter table add dictionary column doesnt set Number of allocated blocks correctly
5667 Gluster Install with debian - 'glusterctl status' returns with NOTINSTALLED
5669 gluster install - dbroot setup in gluster was mismatched to OAM setup per pm
5670 DecomSrv is restarting after upgrade to 4.0
5672 dbroot gets unmounted during upgrade when a softlink is used and disk type is internal
5681 cpimport sometimes fails during concurrent query / import test on HDFS
5683 HdfsRdwrMemBuffer: unable to write all bytes error in cpimport
5689 rename table leaves table inaccessible in HDFS
/***********************************************************************
*
* Copyright (C) 2013 Calpont Corp
* All Rights Reserved
*
***********************************************************************/
October 15, 2013
Version 4.0
ENHANCEMENTS INCLUDED IN THIS RELEASE
-------------------------------------
Enh # Short Description
3581 Optimize Memory Utilization for wide string columns
4531 Add support for Windowing Functions
4568 Add ability to report database, schema, and table sizes
4901 Improve performance of concat function
4902 Improve performance of insert() and replace() string functions
4919 Improve performance of makedate() and maketime() functions
4920 Improve performance of adddate(), date_add(), subdate(), date_sub() functions.
5087 Enhance InfiniDB to support over 32 PMs.
5208 Change the Status Updates messages to have state show an ASCII value
5237 Remove restriction preventing user from dropping a logical partition (segment file) in the last physical partition for a DBRoot
5243 Add setting in Calpont.xml for enable/disable corefiles
5300 calpontSupport script performance improvement and additional features
5316 Include schema name in SQL statement debug log entries
5410 Add support for InfiniDB on Apache Hadoop
5414 Add Infinidb support for Apache Sqoop
5421 Add support for running InfiniDB under a Linux Control Group
ISSUES RESOLVED IN THIS RELEASE
-------------------------------
Bug # Launchpad Short Description
2871 Exceeding aggregation limits can block session
4208 'drop table' cannot delete files on NFS
4345 Specific SQL statements exhausts memory in seconds
4552 1025340 Load data infile and cpimport produce different results
1025247
4757 Incorrect results with correlated subquery
4774 Port Data Duplication to debian & Ubuntu
5160 Incorrect result on query with "DATE(IF(t1.`end_date` - INTERVAL 30 DAY < t1.`start_date`, t1.`start_date`, t1.`end_date` - INTERVAL 30 DAY))" expression
5222 Update errors out when dealing with out-of-range date and datetime values
5256 OAM ops returning without DDLProc fully up
5269 swap limit exceeded and not cleared by OAM restart of the system
5272 cast function returns incorrect result
5274 alter table add column returned "Constraints are currently not supported in InfiniDB" error
5287 system came up Active while a pm was disabled and dbroot was assigned to it
5299 stopsystem with Force Option is incorrectly resetting dbrm and save_brm too early
5301 startsystem command system status ended up in MAN_OFFLINE instead of ACTIVE
5304 Windows command prompt exit hangs after cpimport on upgraded database from 3.0.x and earlier
5321 Delete from table command fails when pm1 is down on a combo 2pm system
5322 query failed after disabling and enabling partitions
5323 Backup error opening column file for OID-3132 on a multi node cpimport
5331 select calshowpartitions not showing limits incorrectly for char fields in empty table
5332 shutdownSystem command incorrectly reported 'success'
5349 ERR : Backup error for column file error message occurred running cpimport
5356 Default syslog.conf to the asynchronous option
5374 Data mismatch occurred running query via view
5379 LPAD is not functioning correctly when using a Japanese character
5391 ERROR 138 (HY000): IDB-1000: 'c1, c2' and 'c3' are not joined error message on a query
5392 Reset invalid locale alarm when locale has been corrected
5426 calshowprocesslist issue hard-coded to look for host in first 13 bytes
5427 Distributed cpimport not handling connection failure with WriteEngineServer
5429 Load data infile cleared the min/max values for an extent that was not updated
5436 ERROR 122 (HY000): CAL0001: Alter table Failed: AlterTableProcessor::addColumn Failed to set offset in a compressed data file.
5438 query filters issue
5447 cpimport is reporting that -i is an invalid option
5448 Bug in date_add() with InfiniDB table
5455 PrimProc resets during a particular sql statement
5463 calpontSupport is not including the -c option when -a is selected.
5481 Maintain DBBC/NumThreads setting through upgrade
5488 PrimProc hangs when DecomSvr dies
5494 calpontSupport -a option is not capturing the logs from PM1
5495 DB occasionally hangs querying old data loaded in 3.5.0 or prior release

28
CodeTree Normal file
View File

@ -0,0 +1,28 @@
build - tools to help build InfiniDB
buildFlags
dbcon - most of the code for InfiniBD:
ddlpackage - classes to parse DDL
ddlpackageproc - classes to perform DDL
dmlpackage - classes to parse DML
dmlpackageproc - classes to perform DML
doc - some historical documents
execplan - classes to describe an execution plan from a SQL point of view
ingres - WIP code to interface w/ Ingres
joblist - classes that transform a SQL tree into IDB job instructions
mysql - the MySQL Storage Engine API layer, also the patches to MySQL server
plsql - WIP code to interface w/ Oracle
sm - an abstraction layer for interfacing with ExeMgr
ddlproc - main service loop for DDL
dmlproc - main service loop for DML
exemgr - main service loop for queries
mysql - mostly header files copied from MySQL
net-snmp - SNMP library
oam - OAM service library
oamapps - some OAM apps
primitives - most of the code to build PrimProc, the main block processor
snmpd - snmp utils
tools - tools to debug IDB
utils - utility classes
versioning - classes to help with MVCC
writeengine - classes that write data to disk

306
INSTALL Normal file
View File

@ -0,0 +1,306 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
Software Foundation, Inc.
Copyright (C) 2014 InfiniDB, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
InfiniDB, Inc. also gives unlimited permission to copy, distribute and
modify it.
Basic Installation from source
==============================
**** InfiniDB source build instructions ****
Consult the generic installation instructions
that follow for detailed information. The short version is:
cd $HOME
git clone http://github.com/infinidb/mysql
git clone http://github.com/infinidb/infinidb
-- or --
tar -zxf <srcfile>
cd mysql
./configure --prefix=$HOME
make
make install
cd ../infinidb
./configure --prefix=$HOME
make
make install
This will create a directory called Calpont in $HOME which conatins
all the software you need.
Install the InfiniDB software into /usr/local (for example) by copying
the entire Calpont directory tree there.
After untaring the sofware or installing the RPM's, setup the software
to run (this script needs to run with root privileges). Check the Installation
Guide for addition details on using postConfigure:
/usr/local/Calpont/bin/postConfigure
Setup some aliases:
. /usr/local/Calpont/bin/calpontAlias
Connect to MySQL:
idbmysql
A suggested test scenario:
create database calpont;
use calpont;
create table caltest (col1 int, col2 int) engine=infinidb;
show create table caltest;
set autocommit=0;
insert into caltest values (1, 2);
insert into caltest values (3, 4);
commit;
select * from caltest;
To use bulk load:
1. A delimited import file should be created to match the table that
you want to import data to similar to the following. In this
example, the file will be saved as idbtest.tbl:
100|1001|
200|2002|
2. Save/place this file in a directory.
3. From that same directory, import the rows:
/usr/local/Calpont/bin/cpimport calpont caltest caltest.tbl
And check the import:
calpontmysql calpont
select * from caltest;
That's it. Enjoy.
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). Here is a another example:
/bin/bash ./configure CONFIG_SHELL=/bin/bash
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
configuration-related scripts to be executed by `/bin/bash'.
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

Binary file not shown.

337
LICENSE.md Normal file
View File

@ -0,0 +1,337 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not price.
Our General Public Licenses are designed to make sure that you have the
freedom to distribute copies of free software (and charge for this
service if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone
to deny you these rights or to ask you to surrender the rights. These
restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must give the recipients all the rights that you
have. You must make sure that they, too, receive or can get the source
code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent
must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is
covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program). Whether that
is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously
and appropriately publish on each copy an appropriate copyright notice
and disclaimer of warranty; keep intact all the notices that refer to
this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the
Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of
it, thus forming a work based on the Program, and copy and distribute
such modifications or work under the terms of Section 1 above, provided
that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change. b) You must
cause any work that you distribute or publish, that in whole or in part
contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms
of this License. c) If the modified program normally reads commands
interactively when run, you must cause it, when started running for
such interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a notice
that there is no warranty (or else, saying that you provide a warranty)
and that users may redistribute the program under these conditions, and
telling the user how to view a copy of this License. (Exception: if the
Program itself is interactive but does not normally print such an
announcement, your work based on the Program is not required to print
an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of a
storage or distribution medium does not bring the other work under the
scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years,
to give any third party, for a charge no more than your cost of
physically performing source distribution, a complete machine-readable
copy of the corresponding source code, to be distributed under the
terms of Sections 1 and 2 above on a medium customarily used for
software interchange; or, c) Accompany it with the information you
received as to the offer to distribute corresponding source code. (This
alternative is allowed only for noncommercial distribution and only if
you received the program in object code or executable form with such an
offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to control
compilation and installation of the executable. However, as a special
exception, the source code distributed need not include anything that
is normally distributed (in either source or binary form) with the
major components (compiler, kernel, and so on) of the operating system
on which the executable runs, unless that component itself accompanies
the executable.
If distribution of executable or object code is made by offering access
to copy from a designated place, then offering equivalent access to
copy the source code from the same place counts as distribution of the
source code, even though third parties are not compelled to copy the
source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such parties
remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying the
Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further restrictions
on the recipients' exercise of the rights granted herein. You are not
responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent license
would not permit royalty-free redistribution of the Program by all
those who receive copies directly or indirectly through you, then the
only way you could satisfy both it and this License would be to refrain
entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made generous
contributions to the wide range of software distributed through that
system in reliance on consistent application of that system; it is up
to the author/donor to decide if he or she is willing to distribute
software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License may
add an explicit geographical distribution limitation excluding those
countries, so that distribution is permitted only in or among countries
not thus excluded. In such case, this License incorporates the
limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new
versions of the General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Program does not specify a version
number of this License, you may choose any version ever published by
the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the
author to ask for permission. For software which is copyrighted by the
Free Software Foundation, write to the Free Software Foundation; we
sometimes make exceptions for this. Our decision will be guided by the
two goals of preserving the free status of all derivatives of our free
software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
Also add information on how to contact you by electronic and paper
mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications
with the library. If this is what you want to do, use the GNU Lesser
General Public License instead of this License.

75
Makefile Executable file
View File

@ -0,0 +1,75 @@
#
# $Id$
#
include rules.mak
.PHONY: export all full scratch compile clean dist
all: compile
# TODO: fix this! a compile step should not install anything
install: compile
full: export
cd utils && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd snmpd && $(MAKE) -C../oam install && $(MAKE) && $(MAKE) install docs
cd versioning && $(MAKE) && $(MAKE) install docs
cd oam && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd dbcon/execplan && $(MAKE) && $(MAKE) install docs
cd dbcon/joblist && $(MAKE) && $(MAKE) install docs
cd versioning && $(MAKE) dbrm tools install_dbrm install_tools test test-dbrm coverage leakcheck
cd writeengine && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd dbcon && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd exemgr && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd ddlproc && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd dmlproc && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd procmon && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd procmgr && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd oamapps && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd primitives && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd decomsvr && $(MAKE) && $(MAKE) install test coverage leakcheck docs
cd tools && $(MAKE) && $(MAKE) install test coverage leakcheck docs
$(MAKE) -C writeengine/server install_server
$(MAKE) -C writeengine/bulk install_bulk
$(MAKE) -C writeengine/splitter install_splitter
echo $(CXXFLAGS) $(DEBUG_FLAGS) > buildFlags
scratch: export
$(MAKE) clean all
export:
build/bootstrap
compile: export
cd utils && $(MAKE) && $(MAKE) install
cd snmpd && $(MAKE) -C../oam install && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) && $(MAKE) install
cd oam && $(MAKE) && $(MAKE) install
cd dbcon/execplan && $(MAKE) && $(MAKE) install
cd dbcon/joblist && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) dbrm tools && $(MAKE) install_dbrm install_tools
cd writeengine && $(MAKE) && $(MAKE) install
cd dbcon && $(MAKE) && $(MAKE) install
cd exemgr && $(MAKE) && $(MAKE) install
cd ddlproc && $(MAKE) && $(MAKE) install
cd dmlproc && $(MAKE) && $(MAKE) install
cd procmon && $(MAKE) && $(MAKE) install
cd procmgr && $(MAKE) && $(MAKE) install
cd oamapps && $(MAKE) && $(MAKE) install
cd primitives && $(MAKE) && $(MAKE) install
cd decomsvr && $(MAKE) && $(MAKE) install
cd tools && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) tools install_tools
$(MAKE) -C writeengine/server install_server
$(MAKE) -C writeengine/bulk install_bulk
$(MAKE) -C writeengine/splitter install_splitter
echo $(CXXFLAGS) $(DEBUG_FLAGS) > buildFlags
clean:
build/clean
rm -rf export
dist:
build/make_src_tar

88
Makefile.am Normal file
View File

@ -0,0 +1,88 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id$
ACLOCAL_AMFLAGS = -I ./m4
all-local: bootstrap
cd utils && $(MAKE) && $(MAKE) install
cd oam; \
$(MAKE) -C oamcpp install
cd snmpd && $(MAKE) && $(MAKE) install
cd dbcon; \
$(MAKE) -C execplan install; \
$(MAKE) -C joblist install
cd versioning && $(MAKE) && $(MAKE) install
cd oam && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) dbrm tools && $(MAKE) install_dbrm install_tools
cd writeengine; \
$(MAKE) -C wrapper install; \
$(MAKE) -C client install; \
$(MAKE) -C xml install; \
$(MAKE) -C redistribute install
cd dbcon; \
$(MAKE) -C ddlpackage install; \
$(MAKE) -C ddlpackageproc install; \
$(MAKE) -C dmlpackage install; \
$(MAKE) -C dmlpackageproc install
cd dbcon && $(MAKE) && $(MAKE) install
cd exemgr && $(MAKE) && $(MAKE) install
cd ddlproc && $(MAKE) && $(MAKE) install
cd dmlproc && $(MAKE) && $(MAKE) install
cd procmon && $(MAKE) && $(MAKE) install
cd procmgr && $(MAKE) && $(MAKE) install
cd oamapps && $(MAKE) && $(MAKE) install
cd decomsvr && $(MAKE) && $(MAKE) install
cd primitives && $(MAKE) && $(MAKE) install
cd tools && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) tools install_tools
$(MAKE) -C writeengine/server install_server
$(MAKE) -C writeengine/bulk install_bulk
$(MAKE) -C writeengine/splitter install_splitter
echo $(CXXFLAGS) $(DEBUG_FLAGS) > buildFlags
compile: all-local
.PHONY: test coverage leakcheck docs bootstrap
test:
coverage:
leakcheck:
docs:
bootstrap:
./build/genVersion.sh --prefix=$(prefix)
for subdir in dbcon ddlproc dmlproc exemgr mysql net-snmp oam \
oamapps decomsvr primitives procmgr procmon qa snmpd tools utils versioning \
writeengine ; do \
if test -f $$subdir/Makefile; then \
$(MAKE) BOOTSTRAP=1 -C $$subdir bootstrap || exit $$?; \
fi; \
done
clean: clean-am
for subdir in dbcon ddlproc dmlproc exemgr mysql net-snmp oam \
oamapps decomsvr primitives procmgr procmon qa snmpd tools utils versioning \
writeengine ; do \
if test -f $$subdir/Makefile; then \
$(MAKE) BOOTSTRAP=1 -C $$subdir clean || exit $$?; \
fi; \
done

576
Makefile.in Normal file
View File

@ -0,0 +1,576 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id$
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
compile config.guess config.sub depcomp install-sh ltmain.sh \
missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/compilerflags.m4 \
$(top_srcdir)/m4/functions.m4 $(top_srcdir)/m4/install.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XML2_CONFIG = @XML2_CONFIG@
XML_CPPFLAGS = @XML_CPPFLAGS@
XML_LIBS = @XML_LIBS@
YACC = @YACC@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
etcdir = @etcdir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
idb_brm_libs = @idb_brm_libs@
idb_cflags = @idb_cflags@
idb_common_includes = @idb_common_includes@
idb_common_ldflags = @idb_common_ldflags@
idb_common_libs = @idb_common_libs@
idb_cppflags = @idb_cppflags@
idb_cxxflags = @idb_cxxflags@
idb_exec_libs = @idb_exec_libs@
idb_ldflags = @idb_ldflags@
idb_oam_libs = @idb_oam_libs@
idb_write_libs = @idb_write_libs@
idbinstall = @idbinstall@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localdir = @localdir@
localstatedir = @localstatedir@
mandir = @mandir@
march_flags = @march_flags@
mibdir = @mibdir@
mkdir_p = @mkdir_p@
mysqldir = @mysqldir@
netsnmp_libs = @netsnmp_libs@
netsnmpagntdir = @netsnmpagntdir@
netsnmpdir = @netsnmpdir@
netsnmplibrdir = @netsnmplibrdir@
netsnmpmachdir = @netsnmpmachdir@
netsnmpsysdir = @netsnmpsysdir@
oldincludedir = @oldincludedir@
postdir = @postdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedir = @sharedir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
toolsdir = @toolsdir@
ACLOCAL_AMFLAGS = -I ./m4
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/m4
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -755 -exec chmod a+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile config.h all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am all-local am--refresh check check-am clean \
clean-generic clean-libtool dist dist-all dist-bzip2 dist-gzip \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
all-local: bootstrap
cd utils && $(MAKE) && $(MAKE) install
cd oam; \
$(MAKE) -C oamcpp install
cd snmpd && $(MAKE) && $(MAKE) install
cd dbcon; \
$(MAKE) -C execplan install; \
$(MAKE) -C joblist install
cd versioning && $(MAKE) && $(MAKE) install
cd oam && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) dbrm tools && $(MAKE) install_dbrm install_tools
cd writeengine; \
$(MAKE) -C wrapper install; \
$(MAKE) -C client install; \
$(MAKE) -C xml install; \
$(MAKE) -C redistribute install
cd dbcon; \
$(MAKE) -C ddlpackage install; \
$(MAKE) -C ddlpackageproc install; \
$(MAKE) -C dmlpackage install; \
$(MAKE) -C dmlpackageproc install
cd dbcon && $(MAKE) && $(MAKE) install
cd exemgr && $(MAKE) && $(MAKE) install
cd ddlproc && $(MAKE) && $(MAKE) install
cd dmlproc && $(MAKE) && $(MAKE) install
cd procmon && $(MAKE) && $(MAKE) install
cd procmgr && $(MAKE) && $(MAKE) install
cd oamapps && $(MAKE) && $(MAKE) install
cd decomsvr && $(MAKE) && $(MAKE) install
cd primitives && $(MAKE) && $(MAKE) install
cd tools && $(MAKE) && $(MAKE) install
cd versioning && $(MAKE) tools install_tools
$(MAKE) -C writeengine/server install_server
$(MAKE) -C writeengine/bulk install_bulk
$(MAKE) -C writeengine/splitter install_splitter
echo $(CXXFLAGS) $(DEBUG_FLAGS) > buildFlags
compile: all-local
.PHONY: test coverage leakcheck docs bootstrap
test:
coverage:
leakcheck:
docs:
bootstrap:
./build/genVersion.sh --prefix=$(prefix)
for subdir in dbcon ddlproc dmlproc exemgr mysql net-snmp oam \
oamapps decomsvr primitives procmgr procmon qa snmpd tools utils versioning \
writeengine ; do \
if test -f $$subdir/Makefile; then \
$(MAKE) BOOTSTRAP=1 -C $$subdir bootstrap || exit $$?; \
fi; \
done
clean: clean-am
for subdir in dbcon ddlproc dmlproc exemgr mysql net-snmp oam \
oamapps decomsvr primitives procmgr procmon qa snmpd tools utils versioning \
writeengine ; do \
if test -f $$subdir/Makefile; then \
$(MAKE) BOOTSTRAP=1 -C $$subdir clean || exit $$?; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

3
MyDebugFlags Normal file
View File

@ -0,0 +1,3 @@
-g0 -O3 -fno-strict-aliasing -fno-tree-vectorize -DDBUG_OFF
#-ggdb3 -fno-tree-vectorize -DSAFE_MUTEX -DSAFEMALLOC
#-ggdb3 -fno-tree-vectorize -DSAFE_MUTEX

0
NEWS Normal file
View File

145
README Normal file
View File

@ -0,0 +1,145 @@
To build the software from source, consult the file INSTALL.
Brief Install Instructions:
1. Install the 3 Calpont InfiniDB RPMs.
2. Install and start the software, run: /usr/local/Calpont/bin/postConfigure
3. Setup some aliases: . /usr/local/Calpont/bin/calpontAlias
4. Connect to MySQL: idbmysql
5. Try the test in step 12 below
Detailed Installation Instructions:
1. Download the package calpont-2.2.0-2.x86_64.rpm.tar.gz (RHEL5 64-BIT)
to the server where you are installing Calpont.
2. Obtain root user access.
3. Unpack the tarball, which will generate 4 RPMs.
tar xvf calpont-2.2.0-2.x86_64.rpm.tar.gz
4. Install the 3 RPMs in this order, the Calpont InfiniDB software will be installed in
/usr/local/Calpont.
rpm -ivh infinidb-libs-2.2.0-2.x86_64.rpm
rpm -ivh infinidb-platform-2.2.0-2.x86_64.rpm
rpm -ivh infinidb-mysql-2.2.0-2.x86_64.rpm
rpm -ivh infinidb-storage-engine-2.2.0-2.x86_64.rpm
5a.To configure and run on a single server system utilizing local disk storage,
run install script:
/usr/local/Calpont/bin/postConfigure
5b.To configure and run on a multi-server system and/or to utilize a SAN storage
system, follow the instructions in the Calpont InfiniDB Installation Guide.
/usr/local/Calpont/bin/postConfigure
6. Ports utilized by the Calpont InfiniDB Software
The Calpont MySQL daemon utilizes port 3306. To use a different port, update
the 2 locations in the following file:
/usr/local/Calpont/mysql/my.cnf
port = 3306
port = 3306
You must reserve the following ports to run the Calpont InfiniDB Software:
8600 - 8622, 8700, and 8800
7. Setup some aliases:
. /usr/local/Calpont/bin/calpontAlias
8. To manually start and stop the Calpont InfiniDB Software as the root user run:
cc startSystem
To stop the Calpont Software, run:
cc stopSystem
9. To start/stop the Calpont InfiniDB Software during system boot/shutdown use the
chkconfig command
/sbin/chkconfig --add infinidb
/sbin/chkconfig infinidb on
10. After the Calpont InfiniDB Software has been started, use the following command to
connect to the Calpont OAM Console and watch for the System to go to the
ACTIVE status. The follow will repeatedly run the OAM command getsysteminfo
every 5 seconds.
calpontOAMconsole getsysteminfo -r
Here is an example display from a Single Server Install:
System and Module statuses
Component Status Last Status Change
------------ ---------------------- ------------------------
System ACTIVE Mon Apr 6 18:07:14 2009
Module dm1 ACTIVE Mon Apr 6 18:07:12 2009
Calpont Process statuses
Process Module Status Last Status Change Process ID
------------------ ------ ------------ ------------------------ ----------
ProcessMonitor dm1 ACTIVE Mon Apr 6 18:06:41 2009 12753
ProcessManager dm1 ACTIVE Mon Apr 6 18:06:46 2009 12954
SNMPTrapDaemon dm1 ACTIVE Mon Apr 6 18:06:41 2009 12963
SNMPAgent dm1 ACTIVE Mon Apr 6 18:06:50 2009 13565
ServerMonitor dm1 ACTIVE Mon Apr 6 18:06:55 2009 13635
DBRMWorkerNode dm1 ACTIVE Mon Apr 6 18:06:51 2009 13640
DBRMControllerNode dm1 ACTIVE Mon Apr 6 18:06:52 2009 13645
ExeMgr dm1 ACTIVE Mon Apr 6 18:07:05 2009 14578
PrimProc dm1 ACTIVE Mon Apr 6 18:07:03 2009 13842
DDLProc dm1 ACTIVE Mon Apr 6 18:07:10 2009 14936
DMLProc dm1 ACTIVE Mon Apr 6 18:07:13 2009 15114
Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0
Once the System status is ACTIVE, enter the following to exit back to the
UNIX prompt:
CNTR<C>
Or to get back Calpont OAM Console Prompt,enter the following:
CNTR<D>
11. Use the following command to access the Calpont InfiniDB MySQL console:
idbmysql
Example output:
Welcome to the Mysql monitor. Commands end with ; or \g.
Your Mysql connection id is 1
Server version: 5.1.26-Calpont-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/Calpont/bin/upgrade-infinidb.sh
13. As an example to get you started, try this:
create database calpont;
use calpont;
create table caltest (col1 int, col2 int) engine=infinidb;
show create table caltest;
insert into caltest values (1, 2);
insert into caltest values (3, 4);
commit;
select * from caltest;
14. Consult the Admin Guide and Syntax Guide for additional information on how
to get started.

View File

@ -1,2 +1,60 @@
# InfiniDB_MariaDB
InfiniDB with changes for MariaDB
# This is InfiniDB 4.6.2
## Build prerequisites
To build InfiniDB from source you will need:
* a CentOS/RHEL 5/6, debian 6/7 or Ubuntu 12/14 linux host configured for software development
Along with a working C++ compiler and GNU software development tools you will need the following extra packages:
* expect
* zlib-devel
* ncurses-devel
* libxml2-devel
* readline-devel
## Build steps
### Build environment
mkdir infinidb-src
cd infinidb-src
### InfiniDB MySQL
wget -Omysql-4.6.2-1.tar.gz https://github.com/infinidb/mysql/archive/4.6.2-1.tar.gz
tar -zxf mysql-4.6.2-1.tar.gz
ln -s mysql-4.6.2-1 mysql
cd mysql
./configure --prefix=$HOME/infinidb/mysql
make
make install
### InfiniDB
cd ..
wget -Oinfinidb-4.6.2-1.tar.gz https://github.com/infinidb/infinidb/archive/4.6.2-1.tar.gz
tar -zxf infinidb-4.6.2-1.tar.gz
ln -s infinidb-4.6.2-1 infinidb
cd infinidb
./configure --prefix=$HOME/infinidb
make
make install
This will leave you with `$HOME/infinidb` as a binary tree. Follow the Binary Download
instructions in the InfiniDB 4.6 Installation Guide (available on http://www.infinidb.co/).
## How to Contribute
* You may submit your contributions via GitHub pull requests.
* The submission must be by the original author.
* Along with any pull requests, please state that the contribution is your original work
and that you license the work to the project under the project's open source license
and the InfiniDB Contributor Agreement
(see InfiniDBContributorAgreement.pdf). Whether or not you state this explicitly,
by submitting any copyrighted material via pull request, email, or other means you agree to
license the material under the project's open source license and warrant that you have the
legal authority to do so.
* The InfiniDB Project committee will review your pull request and shall decide when and
whether to merge your request in the main InfiniDB project. The InfiniDB Project
committee will inform you of any decision regarding your request.

7441
aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

10
addgit Executable file
View File

@ -0,0 +1,10 @@
git add oam/oamcpp/liboamcpp.cpp
git add oamapps/postConfigure/postConfigure.cpp
git add oamapps/traphandler/trapHandler.cpp
git add procmgr/processmanager.cpp
git add procmon/processmonitor.cpp
git add snmpd/snmpmanager/snmpmanager.cpp
git add utils/libxml/nanohttp.c
git add versioning/BRM/oidserver.cpp
git add versioning/BRM/sessionmanagerserver.cpp
git add versioning/BRM/slavecomm.cpp

82
build/Build.bat Executable file
View File

@ -0,0 +1,82 @@
::@echo off
set branch=%1
set basedir=\InfiniDB_%branch%
IF "%branch%" == "" (
set branch=develop
set basedir=\InfiniDB
)
IF "%branch%" == "trunk" (
set branch=develop
set basedir=\InfiniDB
)
echo %branch%
echo building %basedir%
echo ======================================
echo updating mysql source
cd %basedir%\mysql
git checkout %branch%
git stash
git pull
git stash pop
echo ======================================
echo updating InfiniDB source
cd %basedir%\genii
git checkout %branch%
git pull origin_http %branch%
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo ======================================
echo Building mysql
cd %basedir%\mysql
MSBuild /M:8 /t:rebuild /p:Configuration="Release" /p:Platform="x64" mysql.sln
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo ======================================
echo Building InfiniDB
cd %basedir%\genii\build
MSBuild /M:8 /t:rebuild /p:Configuration="EnterpriseRelease" /p:Platform="x64" InfiniDB.sln
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo ======================================
echo Building infindb-ent
cd %basedir%\infinidb-ent\build
call Build.bat
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
cd %basedir%\genii\build
echo ======================================
echo Building CalpontVersion.txt
call BuildCalpontVersion.bat
echo ======================================
echo Building the Standard Installer
makensis ..\utils\winport\idb_64_standard.nsi
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo ======================================
echo Building the Enterprise Installer
makensis ..\utils\winport\idb_64_enterprise.nsi
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo.
echo Build complete
GOTO QUIT
:ERROR_HANDLER
echo.
echo ======================================
echo Error occured. InfiniDB not built
cd %basedir%\genii\build
exit /B 1
:QUIT
echo ======================================
cd %basedir%\genii\build
echo compiled at %date% %time%
echo nightly build complete

View File

@ -0,0 +1,18 @@
for /f "delims= skip=1" %%x in (releasenum) do (set "%%x")
set packager="%USERNAME% <%USERNAME%@calpont.com>"
echo %packager%
set builddate="%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%"
set buildmachine=%computername%
copy /Y .\CalpontVersion.txt.in ..\utils\winport\CalpontVersion.txt
sed -i -e s/@@PACKAGER@@/%packager%/ ..\utils\winport\CalpontVersion.txt
sed -i -e s/@@BUILDDATE@@/%builddate%/ ..\utils\winport\CalpontVersion.txt
sed -i -e s/@@VERSION@@/%version%/ ..\utils\winport\CalpontVersion.txt
sed -i -e s/@@RELEASE@@/%release%/ ..\utils\winport\CalpontVersion.txt
sed -i -e s/@@BUILDMACHINE@@/%buildmachine%/ ..\utils\winport\CalpontVersion.txt
:: For some unknown reason, sed removes permissions. Put them back.
icacls ..\utils\winport\CalpontVersion.txt /grant SYSTEM:F administrators:F
cd ..
git status | grep "On branch" >> utils\winport\CalpontVersion.txt
git log -1 | head -3 | egrep "^(commit|Date)" >> utils\winport\CalpontVersion.txt
cd build

155
build/CMakeLists.txt Normal file
View File

@ -0,0 +1,155 @@
# Copyright (C) 2006 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake")
SET(CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi")
SET(CMAKE_C_FLAGS_DEBUG
"${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi")
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /MAP /MAPINFO:EXPORTS")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/extra/yassl/include
${CMAKE_SOURCE_DIR}/sql
${CMAKE_SOURCE_DIR}/regex
${CMAKE_SOURCE_DIR}/zlib
)
SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/sql_yacc.h
${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc
${CMAKE_SOURCE_DIR}/include/mysql_version.h
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc
${CMAKE_SOURCE_DIR}/sql/lex_hash.h
${PROJECT_SOURCE_DIR}/include/mysqld_error.h
${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
${PROJECT_SOURCE_DIR}/include/sql_state.h
PROPERTIES GENERATED 1)
ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN -DHAVE_EVENT_SCHEDULER)
SET (SQL_SOURCE
../sql-common/client.c derror.cc des_key_file.cc
discover.cc ../libmysql/errmsg.c field.cc field_conv.cc
filesort.cc gstream.cc
ha_partition.cc
handler.cc hash_filo.cc hash_filo.h
hostname.cc init.cc item.cc item_buff.cc item_cmpfunc.cc
item_create.cc item_func.cc item_geofunc.cc item_row.cc
item_strfunc.cc item_subselect.cc item_sum.cc item_timefunc.cc
item_window_function.cc item_create_window_function.cc
key.cc log.cc lock.cc message.rc
log_event.cc rpl_record.cc rpl_reporting.cc
log_event_old.cc rpl_record_old.cc
message.h mf_iocache.cc my_decimal.cc ../sql-common/my_time.c
mysqld.cc net_serv.cc
nt_servc.cc nt_servc.h opt_range.cc opt_range.h opt_sum.cc
../sql-common/pack.c parse_file.cc password.c procedure.cc
protocol.cc records.cc repl_failsafe.cc rpl_filter.cc set_var.cc
slave.cc sp.cc sp_cache.cc sp_head.cc sp_pcontext.cc
sp_rcontext.cc spatial.cc sql_acl.cc sql_analyse.cc sql_base.cc
sql_cache.cc sql_class.cc sql_client.cc sql_crypt.cc sql_crypt.h
sql_cursor.cc sql_db.cc sql_delete.cc sql_derived.cc sql_do.cc
sql_error.cc sql_handler.cc sql_help.cc sql_insert.cc sql_lex.cc
sql_list.cc sql_load.cc sql_manager.cc sql_map.cc sql_parse.cc
sql_partition.cc sql_plugin.cc sql_prepare.cc sql_rename.cc
sql_repl.cc sql_select.cc sql_show.cc sql_state.c sql_string.cc
sql_table.cc sql_test.cc sql_trigger.cc sql_udf.cc sql_union.cc
sql_update.cc sql_view.cc strfunc.cc table.cc thr_malloc.cc
time.cc tztime.cc uniques.cc unireg.cc item_xmlfunc.cc
rpl_tblmap.cc sql_binlog.cc event_scheduler.cc event_data_objects.cc
event_queue.cc event_db_repository.cc
sql_tablespace.cc events.cc ../sql-common/my_user.c
partition_info.cc rpl_utility.cc rpl_injector.cc sql_locale.cc
rpl_rli.cc rpl_mi.cc sql_servers.cc
sql_connect.cc scheduler.cc
sql_profile.cc event_parse_data.cc
${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
${PROJECT_SOURCE_DIR}/include/mysqld_error.h
${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
${PROJECT_SOURCE_DIR}/include/sql_state.h
${PROJECT_SOURCE_DIR}/include/mysql_version.h
${PROJECT_SOURCE_DIR}/sql/sql_builtin.cc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
ADD_LIBRARY(sql ${SQL_SOURCE})
IF (NOT EXISTS cmake_dummy.cc)
FILE (WRITE cmake_dummy.cc "")
ENDIF (NOT EXISTS cmake_dummy.cc)
ADD_EXECUTABLE(mysqld cmake_dummy.cc)
SET_TARGET_PROPERTIES(mysqld PROPERTIES OUTPUT_NAME mysqld${MYSQLD_EXE_SUFFIX})
SET_TARGET_PROPERTIES(mysqld PROPERTIES ENABLE_EXPORTS TRUE)
SET (MYSQLD_CORE_LIBS mysys zlib dbug strings yassl taocrypt vio regex sql)
TARGET_LINK_LIBRARIES(mysqld ${MYSQLD_CORE_LIBS} ${MYSQLD_STATIC_ENGINE_LIBS})
TARGET_LINK_LIBRARIES(mysqld ws2_32.lib)
IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
# Set module definition file. Also use non-incremental linker,
# incremental appears to crash from time to time,if used with /DEF option
SET_TARGET_PROPERTIES(mysqld PROPERTIES LINK_FLAGS "/DEF:mysqld.def /INCREMENTAL:NO")
FOREACH (CORELIB ${MYSQLD_CORE_LIBS})
GET_TARGET_PROPERTY(LOC ${CORELIB} LOCATION)
FILE(TO_NATIVE_PATH ${LOC} LOC)
SET (LIB_LOCATIONS ${LIB_LOCATIONS} ${LOC})
ENDFOREACH (CORELIB ${MYSQLD_CORE_LIBS})
ADD_CUSTOM_COMMAND(TARGET mysqld PRE_LINK
COMMAND cscript ARGS //nologo ${PROJECT_SOURCE_DIR}/win/create_def_file.js
${PLATFORM} ${LIB_LOCATIONS} > mysqld.def
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/sql)
ENDIF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
ADD_DEPENDENCIES(sql GenError)
# Sql Parser custom command
ADD_CUSTOM_COMMAND(
OUTPUT ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
COMMAND bison ARGS -y -p MYSQL --defines=sql_yacc.h
--output=sql_yacc.cc sql_yacc.yy
DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.yy)
# Gen_lex_hash
ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
TARGET_LINK_LIBRARIES(gen_lex_hash debug dbug mysqlclient wsock32)
GET_TARGET_PROPERTY(GEN_LEX_HASH_EXE gen_lex_hash LOCATION)
ADD_CUSTOM_COMMAND(
OUTPUT ${PROJECT_SOURCE_DIR}/sql/lex_hash.h
COMMAND ${GEN_LEX_HASH_EXE} ARGS > lex_hash.h
DEPENDS ${GEN_LEX_HASH_EXE})
ADD_CUSTOM_TARGET(
GenServerSource ALL
DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h
${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
${PROJECT_SOURCE_DIR}/sql/message.h
${PROJECT_SOURCE_DIR}/sql/message.rc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
ADD_DEPENDENCIES(mysqld GenServerSource)
# Remove the auto-generated files as part of 'Clean Solution'
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"lex_hash.h;sql_yacc.h;sql_yacc.cc;mysqld.def")
ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def)
ADD_DEPENDENCIES(udf_example strings GenError)
TARGET_LINK_LIBRARIES(udf_example strings wsock32)

View File

@ -0,0 +1,13 @@
Name : infinidb Relocations: (not relocatable)
Version : @@VERSION@@ Vendor: InfiniDB, Inc.
Release : @@RELEASE@@ Build Date: @@BUILDDATE@@
Install Date: @@INSTALLDATE@@ Build Host: @@BUILDMACHINE@@.calpont.com
Group : Applications
Size : 750449506 License: Copyright (c) 2014 InfiniDB, Inc., all rights reserved
Signature : (none)
Packager : @@PACKAGER@@
URL : http://www.infinidb.co/
Summary : InfiniDB software for Windows
InfiniDB binary files

15
build/CopyLog.sh Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/expect -f
#@echo off
spawn scp /InfiniDB/genii/mysql/queries/nightly/srvswdev11/go.log root@srvnightly:/tmp/srvbldwin1-genii-queryTester.log
expect {
-re "authenticity" { send "yes\r"
expect {
-re "word: " { send "$PASSWORD\r" } abort
-re "passphrase" { send "$PASSWORD\r" } abort
}
}
-re "word: " { send "Calpont1\r" } abort
}
expect "*\r"
expect "\r"

5
build/CopyToCalweb.bat Normal file
View File

@ -0,0 +1,5 @@
set dailydirname=genii-%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%
xcopy /i /y \InfiniDB\genii\utils\winport\InfiniDB64.exe \\calweb\shared\\Iterations\Latest\packages\
xcopy /i /y \InfiniDB\genii\utils\winport\InfiniDB64.exe \\calweb\shared\\Iterations\nightly\%dailydirname%\packages\
xcopy /i /y \InfiniDB\genii\utils\winport\InfiniDB64-ent.exe \\calweb\shared\\Iterations\Latest\packages\
xcopy /i /y \InfiniDB\genii\utils\winport\InfiniDB64-ent.exe \\calweb\shared\\Iterations\nightly\%dailydirname%\packages\

1199
build/InfiniDB.sln Normal file

File diff suppressed because it is too large Load Diff

80
build/Nightly.bat Normal file
View File

@ -0,0 +1,80 @@
:: This nightly script is customized for srvbldwin1
:: It probably needs to be modified if used for other machines
:: Nightly.bat needs be moved to c:\ and run from there.
::@echo off
:: If there's a command line branch, use it.
set branch=%1
IF "%1" == "" (
:: No command line, use file
FOR /F %%i IN (branch.txt) DO set branch=%%i
)
echo %branch%
IF "%branch%" == "trunk" (
set basedir=\InfiniDB
) ELSE (
set basedir=\InfiniDB_%branch%
)
:: Setup branch.txt for next run
:: default is to run trunk next
set nextrun=trunk
echo %nextrun%
IF "%branch%" == "trunk" set nextrun=4.0
echo %nextrun%
IF "%branch%" == "4.0" set nextrun=4.5
echo %nextrun%
echo %nextrun% > branch.txt
echo Building %branch% at %basedir%
:: Checkout the server
bash %basedir%\genii\tools\reserveStacks\stack reserve srvbldwin1 nightly f:/Calpont
:: create a time with a leading zero if hour < 10
set MYTIME=%TIME: =0%
set archivedirname=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%@%MYTIME:~0,2%.%MYTIME:~3,2%.%MYTIME:~6,2%
echo Building the application
cd %basedir%\genii\build
call Build.bat %branch%
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo Running the installer
cd %basedir%\genii\utils\winport
InfiniDB64-ent.exe /S /D=f:\Calpont
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
cd \
echo Waiting for InfiniDB service to boot
call svcwait.bat
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo InfiniDB service is ready
echo copying the installer to calweb
call %basedir%\genii\build\CopyToCalweb.bat
echo running the nightly test scripts
cd %basedir%\genii\mysql\queries\nightly\srvswdev11
bash ./go.sh f:/Calpont
GOTO QUIT
:ERROR_HANDLER
echo.
echo Build error occured. Nightly tests not run >> build.log
cd \
expect %basedir%/genii/build/CopyLog.sh
xcopy build.log f:\nightly\build_log\%archivedirname%\
bash %basedir%\genii\tools\reserveStacks\stack release srvbldwin1 nightly f:/Calpont
exit 1
:QUIT
echo nightly tests complete >> go.log
echo %date% %time% >> go.log
cd \
expect %basedir%/genii/build/CopyLog.sh
xcopy build.log f:\nightly\build_log\%archivedirname%\
bash %basedir%\genii\tools\reserveStacks\stack release srvbldwin1 nightly f:/Calpont
:END

74
build/README Normal file
View File

@ -0,0 +1,74 @@
How it Works Now
----------------
There is a new toplevel directory called build. This contains a
couple of scripts and a couple of previously (as far as I can tell)
unmanaged files: Calpont.xml and Doxyfile. It also contains a
top-level Makefile and a rules.tmpl, which is a template rules file
for other makefiles to include. More on that later.
After doing an updateGenii.pl, you do the following from the top of
your development tree, which, more or less has to be genii in
conformance with updateGenii.pl. (I'm not particularly happy with what
we are doing with updateGenii.pl, but, it is the prevailing custom and
these changes assume its use).
0. cd $HOME/genii.
1. build/bootstrap
This does the following:
a. creates export/bin,lib,share,etc,include
b. Copies static elements into the export tree. Static elements
are things we use but either don't build or don't build
routinely. This includes Doxyfile, Calpont.xml and
net-snmp components.
c. Generates a rules.mak from build/build/rules.tmpl to pwd (which
is supposed to be the top of your development tree). rules.mak
includes shared variables used by many other makefiles, mostly
in install rules. In particular, it defines TOP, which is how
build processes find the export tree. Makefiles that use this
have a hard-coded path to rules.mak. These hard-coded paths can
be automatically reset via build/setmktop.
d. Runs make bootstrap for components that need to export headers.
bootstrap rules usually just copy LINCLUDES (headers that need
to be shared with other components) to export/include.
2. Now you can type make in the various component areas or use the
top-level Makefile installed by bootstrap.
The order specified in the buildbot configuration is:
a. utils
b. snmpd
c. oam
d. dbcon
--------------
e. emulator
f. mysql
g. exemgr
h. procmon
i. procmgr
3. There is a top-level build/Makefile to support development build
activities. It is not part of the formal nightly build. The
buildbot setup orchestrates component builds via component specific
builders. Developers may want to use this. cp build/Makefile
$HOME/genii or use make -f.
For example you can try make scratch to build everything including
test, coverage, etc., or make compile to just try the build part.
It's a simple makefile, you can read it if you want to.
4. Note that while we no longer install files into /usr/local/Calpont,
the old install targets are retained as the mechanism for copying
programs and libraries into the export tree. Install targets do
not operate on header files. This is taken care of by the
bootstrap target.
5. Following a build, a bunch of output products should be in
genii/export.

21
build/README.md Normal file
View File

@ -0,0 +1,21 @@
This is InfiniDB 4.0.
=====================
To build InfiniDB from source you will need:
* a CentOS/RHEL 5/6, debian 5/6 or Ubuntu 10/12 linux host configured for software development
Along with a working C++ compiler and GNU software development tools you will need the following extra packages:
* expect
* zlib-devel
* ncurses-devel
* libxml2-devel
* readline-devel
Clone or download this repository.
git clone https://github.com/infinidb/infinidb
cd infinidb
./build/src-build --prefix=$HOME

36
build/Switch.bat Normal file
View File

@ -0,0 +1,36 @@
::@echo off
IF NOT EXIST C:\InfiniDB_3.6\NUL GOTO SWITCH_to_trunk
IF NOT EXIST C:\InfiniDB_4.0\NUL GOTO SWITCH_to_3.6
IF NOT EXIST C:\InfiniDB_trunk\NUL GOTO SWITCH_to_4.0
:SWITCH_to_trunk
echo switching to trunk
REN "\InfiniDB" "InfiniDB_3.6"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
REN "\InfiniDB_trunk" "InfiniDB"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo Switched to InfiniDB trunk
GOTO COMPLETE
:SWITCH_to_3.6
echo switching to 3.6
REN "\InfiniDB" "InfiniDB_4.0"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
REN "\InfiniDB_3.6" "InfiniDB"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo Switched to InfiniDB 3.6
GOTO COMPLETE
:SWITCH_to_4.0
echo switching to 4.0
REN "\InfiniDB" "InfiniDB_trunk"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
REN "\InfiniDB_4.0" "InfiniDB"
IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER
echo Switched to InfiniDB 4.0
GOTO COMPLETE
:ERROR_HANDLER
echo failed to switch
:COMPLETE

36
build/bb_pre_build.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
prefix="$1"
if [ -z "$prefix" ]; then
echo "usage: $0 destdir" 1>&2
exit 1
fi
rm -rf infinidb mysql infinidb-ent
git clone http://srvgip1.calpont.com/repos/infinidb.git
cd infinidb
git checkout develop
cd ..
git clone https://github.com/infinidb/mysql.git
cd mysql
git checkout develop
cd ..
git clone http://srvgip1.calpont.com/repos/infinidb-ent.git
cd infinidb-ent
git checkout develop
cd ..
cd infinidb
mkdir -p export/{include,lib,etc,share,bin,sbin,post}
cp -r utils/autoconf/* .
autoreconf
libtoolize --force --install
./configure --prefix=$prefix

63
build/bootstrap Executable file
View File

@ -0,0 +1,63 @@
#!/bin/bash
#
# $Id: bootstrap 1333 2011-01-18 17:25:26Z rdempsey $
#
# This script is responsible for setting up a fresh development tree
# following a git checkout. It copies static files and shared include
# files to the export tree prior to building the software.
mkdir -p export/{include,lib,etc,share,bin,sbin,post}
if [ ! $$ ]; then
exit 1
fi
cp build/gdb export/bin
cp build/libgcc_s.so.1 export/lib
cp build/libstdc++.so.6.0.14 export/lib
cp build/files.lst $HOME/InfiniDB-MySQL/export/mysql/.
cp dbcon/mysql/install_calpont_mysql.sh $HOME/InfiniDB-MySQL/export/mysql/.
cp dbcon/mysql/my.cnf $HOME/InfiniDB-MySQL/export/mysql/.
cp dbcon/mysql/mysql-Calpont $HOME/InfiniDB-MySQL/export/mysql/.
cp build/Doxyfile export/etc
if [ ! $$ ]; then
exit 1
fi
cp -p -r utils/net-snmp export/include
if [ `uname -m` == "x86_64" ]; then
cp -p utils/net-snmp-built-libs/lib64/* export/lib
cp -p utils/net-snmp-built-libs/bin64/* export/sbin
else
egrep -qs Constantine /etc/redhat-release
if [ $? -eq 0 ]; then
cp -p utils/net-snmp-built-libs/fc12lib/libnetsnmp*.so.* export/lib
cp -p utils/net-snmp-built-libs/fc12bin/* export/sbin
else
cp -p utils/net-snmp-built-libs/fc6lib/libnetsnmp*.so.* export/lib
cp -p utils/net-snmp-built-libs/fc6bin/* export/sbin
fi
fi
pushd export/lib >/dev/null
for lib in libnetsnmpagent.so libnetsnmphelpers.so libnetsnmpmibs.so libnetsnmp.so libnetsnmptrapd.so; do
rm -f ${lib} ${lib}.5
ln -s ${lib}.5.2.1 ${lib}.5
ln -s ${lib}.5.2.1 ${lib}
done
popd >/dev/null
./build/genVersion.sh
for x in \
$(find . -name '[mM]akefile' \
| xargs grep -l ^bootstrap: \
| cut -f 2 -d / \
| sort -u)
do
echo bootstrapping $x
make BOOTSTRAP=1 -C $x bootstrap
done

63
build/bootstrap.4.5 Executable file
View File

@ -0,0 +1,63 @@
#!/bin/bash
#
# $Id: bootstrap 1333 2011-01-18 17:25:26Z rdempsey $
#
# This script is responsible for setting up a fresh development tree
# following a git checkout. It copies static files and shared include
# files to the export tree prior to building the software.
mkdir -p export/{include,lib,etc,share,bin,sbin,post}
if [ ! $$ ]; then
exit 1
fi
cp build/gdb export/bin
cp build/libgcc_s.so.1 export/lib
cp build/libstdc++.so.6.0.14 export/lib
cp build/files.lst $HOME/InfiniDB-MySQL/export/.
cp dbcon/mysql/install_calpont_mysql.sh $HOME/InfiniDB-MySQL/export/.
cp dbcon/mysql/my.cnf $HOME/InfiniDB-MySQL/export/.
cp dbcon/mysql/mysql-Calpont $HOME/InfiniDB-MySQL/export/.
cp build/Doxyfile export/etc
if [ ! $$ ]; then
exit 1
fi
cp -p -r utils/net-snmp export/include
if [ `uname -m` == "x86_64" ]; then
cp -p utils/net-snmp-built-libs/lib64/* export/lib
cp -p utils/net-snmp-built-libs/bin64/* export/sbin
else
egrep -qs Constantine /etc/redhat-release
if [ $? -eq 0 ]; then
cp -p utils/net-snmp-built-libs/fc12lib/libnetsnmp*.so.* export/lib
cp -p utils/net-snmp-built-libs/fc12bin/* export/sbin
else
cp -p utils/net-snmp-built-libs/fc6lib/libnetsnmp*.so.* export/lib
cp -p utils/net-snmp-built-libs/fc6bin/* export/sbin
fi
fi
pushd export/lib >/dev/null
for lib in libnetsnmpagent.so libnetsnmphelpers.so libnetsnmpmibs.so libnetsnmp.so libnetsnmptrapd.so; do
rm -f ${lib} ${lib}.5
ln -s ${lib}.5.2.1 ${lib}.5
ln -s ${lib}.5.2.1 ${lib}
done
popd >/dev/null
./build/genVersion.sh
for x in \
$(find . -name '[mM]akefile' \
| xargs grep -l ^bootstrap: \
| cut -f 2 -d / \
| sort -u)
do
echo bootstrapping $x
make BOOTSTRAP=1 -C $x bootstrap
done

11
build/build-boost-win.bat Normal file
View File

@ -0,0 +1,11 @@
REM You need to uncomment one of these sections below at a time
REM Then you need to copy the libs from stage to \InfiniDB
REM
REM build just 64-bit release libs
REM b2 --clean
b2 --with-date_time --with-filesystem --with-regex --with-system --with-thread --with-chrono address-model=64 variant=release stage
REM build just 64-bit debug libs
REM bjam --clean
REM bjam --with-date_time --with-filesystem --with-regex --with-system --with-thread address-model=64 variant=debug stage

47
build/build-branch.mysql Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
branch=$1
prefix=/usr/local/Calpont
extra_ld_flags="-Wl,-rpath -Wl,$prefix/mysql/lib/mysql -Wl,-rpath -Wl,$prefix/lib"
export LD_LIBRARY_PATH=/usr/local/gcc45/lib64:/usr/local/gmp43/lib:/usr/local/mpfr24/lib:/usr/local/mpc08/lib
export PATH=/usr/local/gcc45/bin:/usr/local/bin:/bin:/usr/bin
export CC=/usr/local/gcc45/bin/gcc
export CXX=/usr/local/gcc45/bin/g++
cd $HOME
updateGenii.pl -b $branch > updateBranch-$branch.log 2>&1
rm -rf mysql-5.1.39
tar -zxf mysql-5.1.39.tar.gz
cd mysql-5.1.39
cp $HOME/$branch/dbcon/mysql/configure.in .
cd sql
cp $HOME/$branch/dbcon/mysql/*.yy .
cp $HOME/$branch/dbcon/mysql/*.h .
cp $HOME/$branch/dbcon/mysql/*.cc .
if [ -f $HOME/$branch/dbcon/mysql/Makefile.am.mysql ]; then
cp $HOME/$branch/dbcon/mysql/Makefile.am.mysql Makefile.am
fi
if [ -f $HOME/$branch/utils/loggingcpp/errorids.h ]; then
cp $HOME/$branch/utils/loggingcpp/errorids.h .
fi
cd ..
for extras in include mysys; do
if [ -d $HOME/$branch/dbcon/mysql/$extras ]; then
cp $HOME/$branch/dbcon/mysql/$extras/*.h $extras
fi
done
autoreconf
./configure --prefix=$prefix/mysql --without-libedit --with-readline \
--with-plugins=csv,heap,myisam,myisammrg,partition --with-mysqld-ldflags="$extra_ld_flags" \
--with-client-ldflags="$extra_ld_flags" --with-extra-charsets=all --with-ssl
(make && make install) > $HOME/make-branch-$branch.log 2>&1
cd $HOME/$branch/dbcon/mysql
cp files.lst $prefix/mysql
cp install_calpont_mysql.sh $prefix/mysql
cp my.cnf $prefix/mysql
cp mysql-Calpont $prefix/mysql

47
build/build-genii.mysql Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
branch=genii
prefix=/usr/local/Calpont
extra_ld_flags="-Wl,-rpath -Wl,$prefix/mysql/lib/mysql -Wl,-rpath -Wl,$prefix/lib"
export LD_LIBRARY_PATH=/usr/local/gcc45/lib64:/usr/local/gmp43/lib:/usr/local/mpfr24/lib:/usr/local/mpc08/lib
export PATH=/usr/local/gcc45/bin:/usr/local/bin:/bin:/usr/bin
export CC=/usr/local/gcc45/bin/gcc
export CXX=/usr/local/gcc45/bin/g++
cd $HOME
updateGenii.pl > updateGenii.log 2>&1
rm -rf mysql-5.1.39
tar -zxf mysql-5.1.39.tar.gz
cd mysql-5.1.39
cp $HOME/$branch/dbcon/mysql/configure.in .
cd sql
cp $HOME/$branch/dbcon/mysql/*.yy .
cp $HOME/$branch/dbcon/mysql/*.h .
cp $HOME/$branch/dbcon/mysql/*.cc .
if [ -f $HOME/$branch/dbcon/mysql/Makefile.am.mysql ]; then
cp $HOME/$branch/dbcon/mysql/Makefile.am.mysql Makefile.am
fi
if [ -f $HOME/$branch/utils/loggingcpp/errorids.h ]; then
cp $HOME/$branch/utils/loggingcpp/errorids.h .
fi
cd ..
for extras in include mysys; do
if [ -d $HOME/$branch/dbcon/mysql/$extras ]; then
cp $HOME/$branch/dbcon/mysql/$extras/*.h $extras
fi
done
autoreconf
./configure --prefix=$prefix/mysql --without-libedit --with-readline \
--with-plugins=csv,heap,myisam,myisammrg,partition --with-mysqld-ldflags="$extra_ld_flags" \
--with-client-ldflags="$extra_ld_flags" --with-extra-charsets=all --with-ssl
(make && make install) > $HOME/make-$branch.log 2>&1
cd $HOME/$branch/dbcon/mysql
cp files.lst $prefix/mysql
cp install_calpont_mysql.sh $prefix/mysql
cp my.cnf $prefix/mysql
cp mysql-Calpont $prefix/mysql

125
build/build_rpms Executable file
View File

@ -0,0 +1,125 @@
#!/bin/bash
#
# $Id: build_rpms 1734 2012-10-25 18:07:16Z dhill $
#
verbose=0
mysqldir=$HOME/InfiniDB-MySQL/export/mysql
usage()
{
cat <<EOD
usage: build_rpms [--verbose] [--local-mysql] [--help]
--local-mysql use local (relative) mysql binary tree
EOD
}
for arg in "$@"; do
if [ `expr -- "$arg" : '--verbose'` -eq 9 ]; then
((verbose++))
elif [ `expr -- "$arg" : '--local-mysql'` -eq 13 ]; then
mysqldir=../Calpont/mysql
elif [ `expr -- "$arg" : '--help'` -eq 6 ]; then
usage
exit 0
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
#try to find project root
while [ ! -d dbcon ]; do
cd ..
curdir=$(pwd)
if [ $curdir = / -o $curdir = $HOME ]; then
echo "I could not find the project root directory: I can't continue!"
exit 1
fi
done
if [ ! -f ./build/releasenum ]; then
echo "I could not find the file 'releasesum' in the build directory: I can't continue!"
exit 1
fi
. ./build/releasenum
# make the install package
buildroot=$HOME/rpm/BUILD/infinidb-$version-$release
rm -rf $buildroot
mkdir -p $buildroot
echo -n "Writing binary files to $buildroot..."
tar -cf - --exclude 'export/include' --exclude 'export/*.tar' export | tar -C $buildroot -xf -
mv $buildroot/export $buildroot/Calpont
#get mysql server files
pushd $mysqldir > /dev/null
mkdir -p $buildroot/Calpont/mysql
cpio -pdmu --quiet $buildroot/Calpont/mysql < files.lst
popd >/dev/null
#clean up some files from buildroot
rm -f $buildroot/Calpont/etc/Doxyfile
for file in $buildroot/Calpont/lib/*; do
if [ -h $file ]; then
rm -f $file
fi
done
#temporarily clean up these BRM thingies
for file in dbrm script-fcns; do
rm -f $buildroot/Calpont/bin/$file
done
#clean up these bulkload scripts
for file in bulkload.sh cleanup.sh dbbuilder.sh dbload.sh cpimport.sh bulkloadp.sh; do
rm -f $buildroot/Calpont/bin/$file
done
rm -f $buildroot/Calpont/lib/libidbboot.a
rm -f $buildroot/Calpont/lib/libiberty.a
mkdir -p $HOME/rpm/BUILD $HOME/rpm/RPMS $HOME/rpm/SRPMS $HOME/rpm/SPECS $HOME/rpm/tmp
if [ ! -f $HOME/.rpmmacros ]; then
cat > $HOME/.rpmmacros <<EOD
%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp
# Change to 1 if you want to abort on unpackaged files
%_unpackaged_files_terminate_build 0
EOD
fi
#twiddle with the spec file
packager="support@mariadb.com"
tag=poc
buildinfo=`./build/docBuild $tag | (
read l
b="$l"
while read l; do
b="$b\\n$l"
done
echo $b )`
cp ./build/infinidb.spec.in $HOME/rpm/SPECS/infinidb.spec
sed -i -e "s/@@PACKAGER@@/Packager: $packager/" \
-e "s/@@VERSION@@/Version: $version/" \
-e "s/@@RELEASE@@/Release: $release/" \
-e "s?@@BUILDINFO@@?$buildinfo?" $HOME/rpm/SPECS/infinidb.spec
echo done.
echo -n "Building rpms..."
rpmbuild -ba $HOME/rpm/SPECS/infinidb.spec >/tmp/rpmbuild.out.$$ 2>&1
rc=$?
echo done.
if [ $verbose -gt 0 -o $rc -ne 0 ]; then
cat /tmp/rpmbuild.out.$$
fi
rm -f /tmp/*.$$
exit $rc

37
build/clean Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
#
# $Id: clean 1843 2013-03-14 21:43:13Z pleblanc $
#
for x in \
dbcon \
ddlproc \
decomsvr \
dmlproc \
exemgr \
mysql \
net-snmp \
oam \
oamapps \
primitives \
procmgr \
procmon \
snmpd \
tools \
utils \
versioning \
writeengine \
; do
# BOOTSTRAP is used to have make ignore sections of make code like:
# -include $(SRCS:.cpp=.d) tdriver.d. Make will try to generate the .d
# files if they don't exist since we typically have a rule that says
# how to do that. That involves processing header files and we don't
# want the success of the clean operation to fail because of missing
# headers.
make BOOTSTRAP=1 -C $x clean
done
rm -rf export

6
build/docBuild Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
if [ -f buildFlags ]; then
echo "Build Flags: `cat buildFlags`"
fi

121
build/files.lst Normal file
View File

@ -0,0 +1,121 @@
./lib/mysql/libmysqlclient.so.16.0.0
./lib/mysql/libmysqlclient_r.so.16.0.0
./lib/mysql/plugin/ha_federated.so.0.0.0
./lib/mysql/plugin/ha_blackhole.so.0.0.0
./lib/mysql/plugin/ha_archive.so.0.0.0
./lib/mysql/plugin/ha_innodb.so.0.0.0
./lib/mysql/plugin/ha_innodb_plugin.so.0.0.0
./libexec/mysqlmanager
./libexec/mysqld
./bin/mysql_find_rows
./bin/mysqlbug
./bin/innochecksum
./bin/mysql_secure_installation
./bin/resolve_stack_dump
./bin/my_print_defaults
./bin/mysql_waitpid
./bin/resolveip
./bin/perror
./bin/myisamlog
./bin/mysql
./bin/myisamchk
./bin/mysql_fix_privilege_tables
./bin/mysql_upgrade
./bin/mysqlcheck
./bin/myisampack
./bin/mysql_setpermission
./bin/mysqladmin
./bin/mysqlslap
./bin/mysql_zap
./bin/mysqldump
./bin/mysqld_safe
./bin/mysqlshow
./bin/mysqltest
./bin/mysql_config
./bin/mysql_client_test
./bin/mysqlbinlog
./bin/mysqld_multi
./bin/mysqlaccess
./bin/mysql_install_db
./bin/msql2mysql
./bin/mysqlimport
./bin/replace
./bin/mysql_convert_table_format
./bin/myisam_ftdump
./bin/mysql_tzinfo_to_sql
./bin/mysql_fix_extensions
./bin/mysqldumpslow
./bin/mysqlhotcopy
./share/mysql/config.small.ini
./share/mysql/romanian/errmsg.sys
./share/mysql/korean/errmsg.sys
./share/mysql/norwegian-ny/errmsg.sys
./share/mysql/binary-configure
./share/mysql/french/errmsg.sys
./share/mysql/greek/errmsg.sys
./share/mysql/mysql-log-rotate
./share/mysql/mysql_system_tables_data.sql
./share/mysql/russian/errmsg.sys
./share/mysql/mysql.server
./share/mysql/mi_test_all.res
./share/mysql/danish/errmsg.sys
./share/mysql/portuguese/errmsg.sys
./share/mysql/mysql_fix_privilege_tables.sql
./share/mysql/italian/errmsg.sys
./share/mysql/mi_test_all
./share/mysql/mysql_system_tables.sql
./share/mysql/my-innodb-heavy-4G.cnf
./share/mysql/norwegian/errmsg.sys
./share/mysql/fill_help_tables.sql
./share/mysql/spanish/errmsg.sys
./share/mysql/ndb-config-2-node.ini
./share/mysql/slovak/errmsg.sys
./share/mysql/mysql_test_data_timezone.sql
./share/mysql/czech/errmsg.sys
./share/mysql/english/errmsg.sys
./share/mysql/hungarian/errmsg.sys
./share/mysql/mysqld_multi.server
./share/mysql/estonian/errmsg.sys
./share/mysql/german/errmsg.sys
./share/mysql/errmsg.txt
./share/mysql/swedish/errmsg.sys
./share/mysql/dutch/errmsg.sys
./share/mysql/charsets/cp866.xml
./share/mysql/charsets/hebrew.xml
./share/mysql/charsets/latin2.xml
./share/mysql/charsets/armscii8.xml
./share/mysql/charsets/latin7.xml
./share/mysql/charsets/geostd8.xml
./share/mysql/charsets/latin5.xml
./share/mysql/charsets/swe7.xml
./share/mysql/charsets/keybcs2.xml
./share/mysql/charsets/cp1257.xml
./share/mysql/charsets/macroman.xml
./share/mysql/charsets/cp1251.xml
./share/mysql/charsets/cp1256.xml
./share/mysql/charsets/macce.xml
./share/mysql/charsets/dec8.xml
./share/mysql/charsets/latin1.xml
./share/mysql/charsets/greek.xml
./share/mysql/charsets/cp850.xml
./share/mysql/charsets/hp8.xml
./share/mysql/charsets/cp852.xml
./share/mysql/charsets/koi8r.xml
./share/mysql/charsets/README
./share/mysql/charsets/cp1250.xml
./share/mysql/charsets/koi8u.xml
./share/mysql/charsets/Index.xml
./share/mysql/charsets/ascii.xml
./share/mysql/config.medium.ini
./share/mysql/my-huge.cnf
./share/mysql/polish/errmsg.sys
./share/mysql/my-medium.cnf
./share/mysql/my-large.cnf
./share/mysql/config.huge.ini
./share/mysql/ukrainian/errmsg.sys
./share/mysql/serbian/errmsg.sys
./share/mysql/my-small.cnf
./share/mysql/japanese/errmsg.sys
./my.cnf
./mysql-Calpont
./install_calpont_mysql.sh

BIN
build/gdb Executable file

Binary file not shown.

49
build/genVersion.sh Executable file
View File

@ -0,0 +1,49 @@
#!/bin/bash
#
# $Id: genVersion.sh 1019 2009-12-18 14:42:35Z rdempsey $
#
prefix=export
for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
prefix="`echo $arg | awk -F= '{print $2}'`"
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
#try to find project root
while [ ! -d dbcon ]; do
cd ..
curdir=$(pwd)
if [ $curdir = / -o $curdir = $HOME ]; then
echo "I could not find the project root directory: I can't continue!"
exit 1
fi
done
if [ ! -f ./build/releasenum ]; then
echo "I could not find the file 'releasesum' in the build directory: I can't continue!"
exit 1
fi
. ./build/releasenum
mkdir -p ${prefix}/include
echo "
#ifndef VERSIONNUMBER_H_
#define VERSIONNUMBER_H_
#include <string>
const std::string idb_version(\"$version\");
const std::string idb_release(\"$release\");
#endif
" > ${prefix}/include/versionnumber.h.tmp
diff -bBq ${prefix}/include/versionnumber.h.tmp ${prefix}/include/versionnumber.h >/dev/null 2>&1
if [ $? -ne 0 ]; then
cp ${prefix}/include/versionnumber.h.tmp ${prefix}/include/versionnumber.h
fi
rm -f ${prefix}/include/versionnumber.h.tmp

64
build/infinidb-build.sh Executable file
View File

@ -0,0 +1,64 @@
#!/bin/bash
infinidbBranch=$1
mysqlBranch=$2
if [ -z "$infinidbBranch" ]; then
echo Usage: $0 infinidb-branch mysql-branch 1>&2
exit 1
fi
if [ "$infinidbBranch" != "current" ]; then
if [ -z "$mysqlBranch" ]; then
echo Usage: $0 infinidb-branch mysql-branch 1>&2
exit 1
fi
else
mysqlBranch=$1
fi
{
if [ "$infinidbBranch" != "current" ]; then
rm -rf InfiniDB-MySQL
rm -rf InfiniDB
rm -rf InfiniDB-Enterprise
git clone https://github.com/mariadb-corporation/InfiniDB
git clone https://github.com/mariadb-corporation/InfiniDB-MySQL
git clone https://github.com/mariadb-corporation/InfiniDB-Enterprise
fi
echo "****** Compile InfiniDB-MySQL"
cd InfiniDB-MySQL
if [ "$infinidbBranch" != "current" ]; then
git checkout $mysqlBranch
fi
./build-MySQL $mysqlBranch
echo "****** Compile InfiniDB"
cd ../InfiniDB
if [ "$infinidbBranch" != "current" ]; then
git checkout $infinidbBranch
fi
./build/bootstrap
make -j4
make -j4
make install
echo "****** Compile InfiniDB-Enterprise"
cd ../InfiniDB-Enterprise
if [ "$infinidbBranch" != "current" ]; then
git checkout $infinidbBranch
fi
make -j4
make -j4
make install
echo "****** Generate RPMS"
cd ../InfiniDB
./build/build_rpms
} > infinidb-build-$infinidbBranch.log 2>&1
echo "InfiniDB Build Completed for $infinidbBranch"
exit 0

631
build/infinidb.spec.in Normal file
View File

@ -0,0 +1,631 @@
#
# $Id$
#
Summary: InfiniDB software
Name: infinidb
@@VERSION@@
@@RELEASE@@
Vendor: MariaDB, Inc.
URL: http://www.mariadb.com/
@@PACKAGER@@
Group: Applications
License: Copyright (c) 2014 InfiniDB, Inc., all rights reserved; redistributable under the terms of the GPL, see the file COPYING for details.
BuildRoot: %{_tmppath}/%{name}-%{release}-buildroot
%description
InfiniDB software meta-package
%package platform
Summary: InfiniDB software binaries
Group: Applications
Obsoletes: calpont
Requires: expect, infinidb-libs
%description platform
InfiniDB binary files
@@BUILDINFO@@
%package libs
Summary: InfiniDB software libraries
Group: Applications
Obsoletes: calpont
%description libs
InfiniDB libraries
%package enterprise
Summary: InfiniDB Enterprise software binaries
Group: Applications
Obsoletes: calpont
Requires: infinidb-libs, infinidb-platform
License: Proprietary; Copyright (c) 2014 InfiniDB, Inc., all rights reserved
%description enterprise
InfiniDB Enterprise binary files
%package storage-engine
Summary: InfiniDB software MySQL connector
Group: Applications
Obsoletes: calpont-mysql
Requires: infinidb-libs
%description storage-engine
InfiniDB MySQL connector binary files
%package mysql
Summary: InfiniDB software MySQL server
Group: Applications
Obsoletes: calpont-mysqld
%description mysql
InfiniDB/MySQL 5.1.73 server binary files
%prep
%define _use_internal_dependency_generator 0
%define __find_requires %{nil}
%define __os_install_post %{nil}
%define debug_package %{nil}
%build
%install
mkdir -p %{buildroot}/usr/local
tar -C $RPM_BUILD_DIR/%{name}-%{version}-%{release} -cf - . | tar -C %{buildroot}/usr/local -xf -
%clean
rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release}
%changelog
%files platform
%defattr(-, root, root)
/usr/local/Calpont/bin/DDLProc
/usr/local/Calpont/bin/ExeMgr
/usr/local/Calpont/bin/ProcMgr
/usr/local/Calpont/bin/ProcMon
/usr/local/Calpont/bin/DMLProc
/usr/local/Calpont/bin/WriteEngineServer
/usr/local/Calpont/bin/cpimport
/usr/local/Calpont/bin/post-install
/usr/local/Calpont/bin/post-mysql-install
/usr/local/Calpont/bin/post-mysqld-install
/usr/local/Calpont/bin/pre-uninstall
/usr/local/Calpont/bin/PrimProc
/usr/local/Calpont/bin/DecomSvr
/usr/local/Calpont/bin/upgrade-infinidb.sh
/usr/local/Calpont/bin/run.sh
/usr/local/Calpont/bin/infinidb
/usr/local/Calpont/bin/calpontSyslog
/usr/local/Calpont/bin/calpontSyslog7
/usr/local/Calpont/bin/calpontSyslog-ng
/usr/local/Calpont/bin/syslogSetup.sh
/usr/local/Calpont/bin/cplogger
/usr/local/Calpont/bin/infinidb.def
/usr/local/Calpont/bin/dbbuilder
/usr/local/Calpont/bin/cpimport.bin
/usr/local/Calpont/bin/load_brm
/usr/local/Calpont/bin/save_brm
/usr/local/Calpont/bin/dbrmctl
/usr/local/Calpont/bin/controllernode
/usr/local/Calpont/bin/reset_locks
/usr/local/Calpont/bin/workernode
/usr/local/Calpont/bin/colxml
/usr/local/Calpont/bin/clearShm
/usr/local/Calpont/bin/viewtablelock
/usr/local/Calpont/bin/cleartablelock
/usr/local/Calpont/bin/calpontConsole
/usr/local/Calpont/bin/trapHandler
/usr/local/Calpont/bin/remote_command.sh
/usr/local/Calpont/bin/postConfigure
/usr/local/Calpont/bin/calpontLogRotate
/usr/local/Calpont/bin/transactionLog
/usr/local/Calpont/bin/calpontDBWrite
/usr/local/Calpont/bin/transactionLogArchiver.sh
/usr/local/Calpont/bin/system_installer.sh
/usr/local/Calpont/bin/installer
/usr/local/Calpont/bin/module_installer.sh
/usr/local/Calpont/bin/patchInstaller
/usr/local/Calpont/bin/patch_installer.sh
/usr/local/Calpont/bin/xm_installer.sh
/usr/local/Calpont/bin/calpontUninstall.sh
/usr/local/Calpont/bin/director_installer.sh
/usr/local/Calpont/bin/user_installer.sh
/usr/local/Calpont/bin/performance_installer.sh
/usr/local/Calpont/bin/startupTests.sh
/usr/local/Calpont/bin/os_check.sh
/usr/local/Calpont/bin/sendtrap
/usr/local/Calpont/bin/remote_scp_put.sh
/usr/local/Calpont/bin/remotessh.exp
/usr/local/Calpont/bin/ServerMonitor
/usr/local/Calpont/bin/master-rep-infinidb.sh
/usr/local/Calpont/bin/slave-rep-infinidb.sh
/usr/local/Calpont/bin/rsync.sh
/usr/local/Calpont/bin/calpontSupport
/usr/local/Calpont/bin/hardwareReport.sh
/usr/local/Calpont/bin/softwareReport.sh
/usr/local/Calpont/bin/configReport.sh
/usr/local/Calpont/bin/logReport.sh
/usr/local/Calpont/bin/bulklogReport.sh
/usr/local/Calpont/bin/resourceReport.sh
/usr/local/Calpont/bin/hadoopReport.sh
/usr/local/Calpont/bin/alarmReport.sh
/usr/local/Calpont/bin/amazonInstaller
/usr/local/Calpont/bin/remote_command_verify.sh
/usr/local/Calpont/bin/disable-rep-infinidb.sh
#
%config /usr/local/Calpont/etc/Calpont.xml
%config /usr/local/Calpont/etc/ConsoleCmds.xml
%config /usr/local/Calpont/etc/ProcessConfig.xml
%config /usr/local/Calpont/etc/snmpd.conf
%config /usr/local/Calpont/etc/snmptrapd.conf
%config /usr/local/Calpont/etc/Calpont.xml.singleserver
%config /usr/local/Calpont/etc/ProcessConfig.xml.singleserver
%config /usr/local/Calpont/etc/snmpd.conf.singleserver
%config /usr/local/Calpont/etc/snmptrapd.conf.singleserver
#
/usr/local/Calpont/etc/MessageFile.txt
/usr/local/Calpont/etc/ErrorMessage.txt
#
%attr(0666, root, root) /usr/local/Calpont/local/module
#
/usr/local/Calpont/releasenum
# Tools...
/usr/local/Calpont/bin/rollback
/usr/local/Calpont/bin/editem
/usr/local/Calpont/bin/getConfig
/usr/local/Calpont/bin/setConfig
/usr/local/Calpont/bin/setenv-hdfs-12
/usr/local/Calpont/bin/setenv-hdfs-20
/usr/local/Calpont/bin/hdfsCheck
/usr/local/Calpont/bin/configxml.sh
/usr/local/Calpont/bin/remote_scp_get.sh
/usr/local/Calpont/bin/calpontAlias
/usr/local/Calpont/bin/autoConfigure
/usr/local/Calpont/bin/ddlcleanup
/usr/local/Calpont/bin/idbmeminfo
/usr/local/Calpont/bin/IDBInstanceCmds.sh
/usr/local/Calpont/bin/IDBVolumeCmds.sh
/usr/local/Calpont/bin/binary_installer.sh
/usr/local/Calpont/bin/myCnf-include-args.text
/usr/local/Calpont/bin/myCnf-exclude-args.text
/usr/local/Calpont/bin/mycnfUpgrade
/usr/local/Calpont/bin/getMySQLpw
/usr/local/Calpont/sbin/snmpd
/usr/local/Calpont/sbin/snmptrapd
%config %attr(0666, root, root) /usr/local/Calpont/etc/AlarmConfig.xml
#
%config /usr/local/Calpont/local/snmpdx.conf
%config /usr/local/Calpont/local/snmpdx.conf.singleserver
#
/usr/local/Calpont/share/snmp/mibs/AGENTX-MIB.txt
/usr/local/Calpont/share/snmp/mibs/CALPONT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-EVENT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-SCRIPT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/EtherLike-MIB.txt
/usr/local/Calpont/share/snmp/mibs/HCNUM-TC.txt
/usr/local/Calpont/share/snmp/mibs/HOST-RESOURCES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/HOST-RESOURCES-TYPES.txt
/usr/local/Calpont/share/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANAifType-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANA-LANGUAGE-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANA-RTPROTO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IF-INVERTED-STACK-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IF-MIB.txt
/usr/local/Calpont/share/snmp/mibs/INET-ADDRESS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IP-FORWARD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-ICMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-TCP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-TC.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-UDP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-AGENT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-TC.txt
/usr/local/Calpont/share/snmp/mibs/NOTIFICATION-LOG-MIB.txt
/usr/local/Calpont/share/snmp/mibs/RFC1155-SMI.txt
/usr/local/Calpont/share/snmp/mibs/RFC1213-MIB.txt
/usr/local/Calpont/share/snmp/mibs/RFC-1215.txt
/usr/local/Calpont/share/snmp/mibs/RMON-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SMUX-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-COMMUNITY-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-MPD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-PROXY-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-TARGET-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USM-AES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-CONF.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-SMI.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-TC.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-TM.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
/usr/local/Calpont/share/snmp/mibs/TCP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DEMO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DISKIO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DLMOD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-IPFWACC-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-SNMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UDP-MIB.txt
#
/usr/local/Calpont/post/functions
/usr/local/Calpont/post/test-001.sh
/usr/local/Calpont/post/test-002.sh
/usr/local/Calpont/post/test-003.sh
/usr/local/Calpont/post/test-004.sh
%files enterprise
%defattr(-, root, root)
/usr/local/Calpont/bin/displayJobGraph.sh
/usr/local/Calpont/bin/dbhealth.sh
/usr/local/Calpont/bin/dbhealth.sql
# Tools...
/usr/local/Calpont/bin/dumpcol
/usr/local/Calpont/bin/oid2file
/usr/local/Calpont/bin/evalcol
/usr/local/Calpont/bin/SesMgr
/usr/local/Calpont/bin/dumpVss
/usr/local/Calpont/bin/editTxn
/usr/local/Calpont/bin/dbprof.pl
/usr/local/Calpont/bin/dumpobm
/usr/local/Calpont/bin/file2oid.pl
/usr/local/Calpont/bin/print_journal
/usr/local/Calpont/bin/healthcheck
/usr/local/Calpont/bin/glusterctl
/usr/local/Calpont/bin/glusteradd
/usr/local/Calpont/bin/glusterconf
/usr/local/Calpont/bin/redistributeDB
/usr/local/Calpont/bin/databaseSizeReport
/usr/local/Calpont/bin/gdb
#
/usr/local/Calpont/tools/copy2here.sh
/usr/local/Calpont/tools/getlogs.sh
/usr/local/Calpont/tools/getmodules.sh
/usr/local/Calpont/tools/getps.sh
/usr/local/Calpont/tools/getsar.sh
/usr/local/Calpont/tools/getuserinput.sh
/usr/local/Calpont/tools/prat
/usr/local/Calpont/tools/prat.sh
/usr/local/Calpont/tools/ps
/usr/local/Calpont/tools/pscollect
/usr/local/Calpont/tools/README
/usr/local/Calpont/tools/tarfiles.sh
#
%files libs
%defattr(-, root, root)
/usr/local/Calpont/lib/libconfigcpp.so.1.0.0
/usr/local/Calpont/lib/libddlpackageproc.so.1.0.0
/usr/local/Calpont/lib/libddlpackage.so.1.0.0
/usr/local/Calpont/lib/libdmlpackageproc.so.1.0.0
/usr/local/Calpont/lib/libdmlpackage.so.1.0.0
/usr/local/Calpont/lib/libexecplan.so.1.0.0
/usr/local/Calpont/lib/libfuncexp.so.1.0.0
/usr/local/Calpont/lib/libudfsdk.so.1.0.0
/usr/local/Calpont/lib/libjoblist.so.1.0.0
/usr/local/Calpont/lib/libjoiner.so.1.0.0
/usr/local/Calpont/lib/libloggingcpp.so.1.0.0
/usr/local/Calpont/lib/libmessageqcpp.so.1.0.0
/usr/local/Calpont/lib/libnetsnmpagent.so.5.2.1
/usr/local/Calpont/lib/libnetsnmphelpers.so.5.2.1
/usr/local/Calpont/lib/libnetsnmpmibs.so.5.2.1
/usr/local/Calpont/lib/libnetsnmp.so.5.2.1
/usr/local/Calpont/lib/libnetsnmptrapd.so.5.2.1
/usr/local/Calpont/lib/liboamcpp.so.1.0.0
/usr/local/Calpont/lib/libsnmpmanager.so.1.0.0
/usr/local/Calpont/lib/libthreadpool.so.1.0.0
/usr/local/Calpont/lib/libwindowfunction.so.1.0.0
/usr/local/Calpont/lib/libwriteengine.so.1.0.0
/usr/local/Calpont/lib/libwriteengineclient.so.1.0.0
/usr/local/Calpont/lib/libbrm.so.1.0.0
/usr/local/Calpont/lib/librwlock.so.1.0.0
/usr/local/Calpont/lib/libdataconvert.so.1.0.0
/usr/local/Calpont/lib/librowgroup.so.1.0.0
/usr/local/Calpont/lib/libcacheutils.so.1.0.0
/usr/local/Calpont/lib/libcommon.so.1.0.0
/usr/local/Calpont/lib/libboost_idb.so.1.0.0
/usr/local/Calpont/lib/libcompress.so.1.0.0
/usr/local/Calpont/lib/libddlcleanuputil.so.1.0.0
/usr/local/Calpont/lib/libbatchloader.so.1.0.0
/usr/local/Calpont/lib/libmysqlcl_idb.so.1.0.0
/usr/local/Calpont/lib/libquerystats.so.1.0.0
/usr/local/Calpont/lib/libwriteengineredistribute.so.1.0.0
/usr/local/Calpont/lib/libjemalloc.so.3.3.0
/usr/local/Calpont/lib/libidbdatafile.so.1.0.0
/usr/local/Calpont/lib/hdfs-20.so
/usr/local/Calpont/lib/hdfs-12.so
/usr/local/Calpont/lib/libgcc_s.so.1
/usr/local/Calpont/lib/libstdc++.so.6.0.14
/usr/local/Calpont/lib/libthrift.so.1.0.0
/usr/local/Calpont/lib/libquerytele.so.1.0.0
%files storage-engine
/usr/local/Calpont/lib/libcalmysql.so.1.0.0
/usr/local/Calpont/lib/libudf_mysql.so.1.0.0
%files mysql
/usr/local/Calpont/mysql/lib/mysql/libmysqlclient.so.16.0.0
/usr/local/Calpont/mysql/lib/mysql/libmysqlclient_r.so.16.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_federated.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_blackhole.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_archive.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_innodb.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_innodb_plugin.so.0.0.0
/usr/local/Calpont/mysql/libexec/mysqlmanager
/usr/local/Calpont/mysql/libexec/mysqld
/usr/local/Calpont/mysql/bin/mysql_find_rows
/usr/local/Calpont/mysql/bin/mysqlbug
/usr/local/Calpont/mysql/bin/innochecksum
/usr/local/Calpont/mysql/bin/mysql_secure_installation
/usr/local/Calpont/mysql/bin/resolve_stack_dump
/usr/local/Calpont/mysql/bin/my_print_defaults
/usr/local/Calpont/mysql/bin/mysql_waitpid
/usr/local/Calpont/mysql/bin/resolveip
/usr/local/Calpont/mysql/bin/perror
/usr/local/Calpont/mysql/bin/myisamlog
/usr/local/Calpont/mysql/bin/mysql
/usr/local/Calpont/mysql/bin/myisamchk
/usr/local/Calpont/mysql/bin/mysql_fix_privilege_tables
/usr/local/Calpont/mysql/bin/mysql_upgrade
/usr/local/Calpont/mysql/bin/mysqlcheck
/usr/local/Calpont/mysql/bin/myisampack
/usr/local/Calpont/mysql/bin/mysql_setpermission
/usr/local/Calpont/mysql/bin/mysqladmin
/usr/local/Calpont/mysql/bin/mysqlslap
/usr/local/Calpont/mysql/bin/mysql_zap
/usr/local/Calpont/mysql/bin/mysqldump
/usr/local/Calpont/mysql/bin/mysqld_safe
/usr/local/Calpont/mysql/bin/mysqlshow
/usr/local/Calpont/mysql/bin/mysqltest
/usr/local/Calpont/mysql/bin/mysql_config
/usr/local/Calpont/mysql/bin/mysql_client_test
/usr/local/Calpont/mysql/bin/mysqlbinlog
/usr/local/Calpont/mysql/bin/mysqld_multi
/usr/local/Calpont/mysql/bin/mysqlaccess
/usr/local/Calpont/mysql/bin/mysql_install_db
/usr/local/Calpont/mysql/bin/msql2mysql
/usr/local/Calpont/mysql/bin/mysqlimport
/usr/local/Calpont/mysql/bin/replace
/usr/local/Calpont/mysql/bin/mysql_convert_table_format
/usr/local/Calpont/mysql/bin/myisam_ftdump
/usr/local/Calpont/mysql/bin/mysql_tzinfo_to_sql
/usr/local/Calpont/mysql/bin/mysql_fix_extensions
/usr/local/Calpont/mysql/bin/mysqldumpslow
/usr/local/Calpont/mysql/bin/mysqlhotcopy
/usr/local/Calpont/mysql/share/mysql/config.small.ini
/usr/local/Calpont/mysql/share/mysql/romanian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/korean/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/norwegian-ny/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/binary-configure
/usr/local/Calpont/mysql/share/mysql/french/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/greek/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql-log-rotate
/usr/local/Calpont/mysql/share/mysql/mysql_system_tables_data.sql
/usr/local/Calpont/mysql/share/mysql/russian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql.server
/usr/local/Calpont/mysql/share/mysql/mi_test_all.res
/usr/local/Calpont/mysql/share/mysql/danish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/portuguese/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql_fix_privilege_tables.sql
/usr/local/Calpont/mysql/share/mysql/italian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mi_test_all
/usr/local/Calpont/mysql/share/mysql/mysql_system_tables.sql
/usr/local/Calpont/mysql/share/mysql/my-innodb-heavy-4G.cnf
/usr/local/Calpont/mysql/share/mysql/norwegian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/fill_help_tables.sql
/usr/local/Calpont/mysql/share/mysql/spanish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/ndb-config-2-node.ini
/usr/local/Calpont/mysql/share/mysql/slovak/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql_test_data_timezone.sql
/usr/local/Calpont/mysql/share/mysql/czech/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/english/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/hungarian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysqld_multi.server
/usr/local/Calpont/mysql/share/mysql/estonian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/german/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/errmsg.txt
/usr/local/Calpont/mysql/share/mysql/swedish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/dutch/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/charsets/cp866.xml
/usr/local/Calpont/mysql/share/mysql/charsets/hebrew.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin2.xml
/usr/local/Calpont/mysql/share/mysql/charsets/armscii8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin7.xml
/usr/local/Calpont/mysql/share/mysql/charsets/geostd8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin5.xml
/usr/local/Calpont/mysql/share/mysql/charsets/swe7.xml
/usr/local/Calpont/mysql/share/mysql/charsets/keybcs2.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1257.xml
/usr/local/Calpont/mysql/share/mysql/charsets/macroman.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1251.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1256.xml
/usr/local/Calpont/mysql/share/mysql/charsets/macce.xml
/usr/local/Calpont/mysql/share/mysql/charsets/dec8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin1.xml
/usr/local/Calpont/mysql/share/mysql/charsets/greek.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp850.xml
/usr/local/Calpont/mysql/share/mysql/charsets/hp8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp852.xml
/usr/local/Calpont/mysql/share/mysql/charsets/koi8r.xml
/usr/local/Calpont/mysql/share/mysql/charsets/README
/usr/local/Calpont/mysql/share/mysql/charsets/cp1250.xml
/usr/local/Calpont/mysql/share/mysql/charsets/koi8u.xml
/usr/local/Calpont/mysql/share/mysql/charsets/Index.xml
/usr/local/Calpont/mysql/share/mysql/charsets/ascii.xml
/usr/local/Calpont/mysql/share/mysql/config.medium.ini
/usr/local/Calpont/mysql/share/mysql/my-huge.cnf
/usr/local/Calpont/mysql/share/mysql/polish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/my-medium.cnf
/usr/local/Calpont/mysql/share/mysql/my-large.cnf
/usr/local/Calpont/mysql/share/mysql/config.huge.ini
/usr/local/Calpont/mysql/share/mysql/ukrainian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/serbian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/my-small.cnf
/usr/local/Calpont/mysql/share/mysql/japanese/errmsg.sys
/usr/local/Calpont/mysql/mysql-Calpont
/usr/local/Calpont/mysql/install_calpont_mysql.sh
/usr/local/Calpont/mysql/syscatalog_mysql.sql
/usr/local/Calpont/mysql/dumpcat_mysql.sql
/usr/local/Calpont/mysql/dumpcat.pl
/usr/local/Calpont/mysql/calsetuserpriority.sql
/usr/local/Calpont/mysql/calremoveuserpriority.sql
/usr/local/Calpont/mysql/calshowprocesslist.sql
%config /usr/local/Calpont/mysql/my.cnf
#
# Scriptlets
# for an install, pre & post run with $1 set to 1
# for an erase, preun & postun run with $1 set to 0
# for an upgrade, pre & post run first, with $1 set to 2 then the _old_ preun & postun run with $1 set to 1
%post platform
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
test -x /usr/local/Calpont/bin/post-install && /usr/local/Calpont/bin/post-install --prefix=$prefix --rpmmode=$rpmmode
echo "InfinIDB RPM install completed"
%post libs
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post storage-engine
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post mysql
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post enterprise
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%preun platform
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
if [ $rpmmode = erase ]; then
test -x /usr/local/Calpont/bin/pre-uninstall && /usr/local/Calpont/bin/pre-uninstall
fi
exit 0
%preun libs
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun storage-engine
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun enterprise
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun mysql
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
if [ $rpmmode = erase ]; then
/etc/init.d/mysql-Calpont stop > /dev/null 2>&1
if [ -x /sbin/chkconfig ]; then
/sbin/chkconfig mysql-Calpont off > /dev/null 2>&1
/sbin/chkconfig --del mysql-Calpont > /dev/null 2>&1
elif [ -x /usr/sbin/update-rc.d ]; then
/usr/sbin/update-rc.d -f mysql-Calpont remove > /dev/null 2>&1
fi
rm -f /etc/init.d/mysql-Calpont
fi
exit 0

626
build/infinidb.spec.in.4.5 Executable file
View File

@ -0,0 +1,626 @@
#
# $Id$
#
Summary: InfiniDB software
Name: infinidb
@@VERSION@@
@@RELEASE@@
Vendor: MariaDB Corporation Ab
URL: http://www.mariadb.com/
@@PACKAGER@@
Group: Applications
License: Copyright (c) 2014 InfiniDB, Inc., all rights reserved
BuildRoot: %{_tmppath}/%{name}-%{release}-buildroot
%description
InfiniDB software meta-package
%package platform
Summary: InfiniDB software binaries
Group: Applications
Obsoletes: calpont
Requires: expect, infinidb-libs
%description platform
InfiniDB binary files
@@BUILDINFO@@
%package libs
Summary: InfiniDB software libraries
Group: Applications
Obsoletes: calpont
%description libs
InfiniDB libraries
%package enterprise
Summary: InfiniDB Enterprise software binaries
Group: Applications
Obsoletes: calpont
Requires: infinidb-libs, infinidb-platform
%description enterprise
InfiniDB Enterprise binary files
%package storage-engine
Summary: InfiniDB software MySQL connector
Group: Applications
Obsoletes: calpont-mysql
Requires: infinidb-libs
%description storage-engine
InfiniDB MySQL connector binary files
%package mysql
Summary: InfiniDB software MySQL server
Group: Applications
Obsoletes: calpont-mysqld
%description mysql
InfiniDB/MySQL 5.1.73 server binary files
%prep
%define _use_internal_dependency_generator 0
%define __find_requires %{nil}
%define __os_install_post %{nil}
%define debug_package %{nil}
%build
%install
mkdir -p %{buildroot}/usr/local
tar -C $RPM_BUILD_DIR/%{name}-%{version}-%{release} -cf - . | tar -C %{buildroot}/usr/local -xf -
%clean
rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release}
%changelog
%files platform
%defattr(-, root, root)
/usr/local/Calpont/bin/DDLProc
/usr/local/Calpont/bin/ExeMgr
/usr/local/Calpont/bin/ProcMgr
/usr/local/Calpont/bin/ProcMon
/usr/local/Calpont/bin/DMLProc
/usr/local/Calpont/bin/WriteEngineServer
/usr/local/Calpont/bin/cpimport
/usr/local/Calpont/bin/post-install
/usr/local/Calpont/bin/post-mysql-install
/usr/local/Calpont/bin/post-mysqld-install
/usr/local/Calpont/bin/pre-uninstall
/usr/local/Calpont/bin/PrimProc
/usr/local/Calpont/bin/DecomSvr
/usr/local/Calpont/bin/upgrade-infinidb.sh
/usr/local/Calpont/bin/run.sh
/usr/local/Calpont/bin/infinidb
/usr/local/Calpont/bin/calpontSyslog
/usr/local/Calpont/bin/calpontSyslog-ng
/usr/local/Calpont/bin/syslogSetup.sh
/usr/local/Calpont/bin/cplogger
/usr/local/Calpont/bin/infinidb.def
/usr/local/Calpont/bin/dbbuilder
/usr/local/Calpont/bin/cpimport.bin
/usr/local/Calpont/bin/load_brm
/usr/local/Calpont/bin/save_brm
/usr/local/Calpont/bin/dbrmctl
/usr/local/Calpont/bin/controllernode
/usr/local/Calpont/bin/reset_locks
/usr/local/Calpont/bin/workernode
/usr/local/Calpont/bin/colxml
/usr/local/Calpont/bin/clearShm
/usr/local/Calpont/bin/viewtablelock
/usr/local/Calpont/bin/cleartablelock
/usr/local/Calpont/bin/calpontConsole
/usr/local/Calpont/bin/trapHandler
/usr/local/Calpont/bin/remote_command.sh
/usr/local/Calpont/bin/postConfigure
/usr/local/Calpont/bin/calpontLogRotate
/usr/local/Calpont/bin/transactionLog
/usr/local/Calpont/bin/calpontDBWrite
/usr/local/Calpont/bin/transactionLogArchiver.sh
/usr/local/Calpont/bin/system_installer.sh
/usr/local/Calpont/bin/installer
/usr/local/Calpont/bin/module_installer.sh
/usr/local/Calpont/bin/patchInstaller
/usr/local/Calpont/bin/patch_installer.sh
/usr/local/Calpont/bin/xm_installer.sh
/usr/local/Calpont/bin/calpontUninstall.sh
/usr/local/Calpont/bin/director_installer.sh
/usr/local/Calpont/bin/user_installer.sh
/usr/local/Calpont/bin/performance_installer.sh
/usr/local/Calpont/bin/startupTests.sh
/usr/local/Calpont/bin/os_check.sh
/usr/local/Calpont/bin/sendtrap
/usr/local/Calpont/bin/remote_scp_put.sh
/usr/local/Calpont/bin/remotessh.exp
/usr/local/Calpont/bin/ServerMonitor
/usr/local/Calpont/bin/master-rep-infinidb.sh
/usr/local/Calpont/bin/slave-rep-infinidb.sh
/usr/local/Calpont/bin/rsync.sh
/usr/local/Calpont/bin/calpontSupport
/usr/local/Calpont/bin/hardwareReport.sh
/usr/local/Calpont/bin/softwareReport.sh
/usr/local/Calpont/bin/configReport.sh
/usr/local/Calpont/bin/logReport.sh
/usr/local/Calpont/bin/bulklogReport.sh
/usr/local/Calpont/bin/resourceReport.sh
/usr/local/Calpont/bin/hadoopReport.sh
/usr/local/Calpont/bin/alarmReport.sh
/usr/local/Calpont/bin/amazonInstaller
/usr/local/Calpont/bin/remote_command_verify.sh
#
%config /usr/local/Calpont/etc/Calpont.xml
%config /usr/local/Calpont/etc/ConsoleCmds.xml
%config /usr/local/Calpont/etc/ProcessConfig.xml
%config /usr/local/Calpont/etc/snmpd.conf
%config /usr/local/Calpont/etc/snmptrapd.conf
%config /usr/local/Calpont/etc/Calpont.xml.singleserver
%config /usr/local/Calpont/etc/ProcessConfig.xml.singleserver
%config /usr/local/Calpont/etc/snmpd.conf.singleserver
%config /usr/local/Calpont/etc/snmptrapd.conf.singleserver
#
/usr/local/Calpont/etc/MessageFile.txt
/usr/local/Calpont/etc/ErrorMessage.txt
#
%attr(0666, root, root) /usr/local/Calpont/local/module
#
/usr/local/Calpont/releasenum
# Tools...
/usr/local/Calpont/bin/rollback
/usr/local/Calpont/bin/editem
/usr/local/Calpont/bin/getConfig
/usr/local/Calpont/bin/setConfig
/usr/local/Calpont/bin/setenv-hdfs-12
/usr/local/Calpont/bin/setenv-hdfs-20
/usr/local/Calpont/bin/hdfsCheck
/usr/local/Calpont/bin/configxml.sh
/usr/local/Calpont/bin/remote_scp_get.sh
/usr/local/Calpont/bin/calpontAlias
/usr/local/Calpont/bin/autoConfigure
/usr/local/Calpont/bin/ddlcleanup
/usr/local/Calpont/bin/idbmeminfo
/usr/local/Calpont/bin/IDBInstanceCmds.sh
/usr/local/Calpont/bin/IDBVolumeCmds.sh
/usr/local/Calpont/bin/binary_installer.sh
/usr/local/Calpont/bin/myCnf-include-args.text
/usr/local/Calpont/bin/myCnf-exclude-args.text
/usr/local/Calpont/bin/mycnfUpgrade
/usr/local/Calpont/sbin/snmpd
/usr/local/Calpont/sbin/snmptrapd
%config %attr(0666, root, root) /usr/local/Calpont/etc/AlarmConfig.xml
#
%config /usr/local/Calpont/local/snmpdx.conf
%config /usr/local/Calpont/local/snmpdx.conf.singleserver
#
/usr/local/Calpont/share/snmp/mibs/AGENTX-MIB.txt
/usr/local/Calpont/share/snmp/mibs/CALPONT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-EVENT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt
/usr/local/Calpont/share/snmp/mibs/DISMAN-SCRIPT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/EtherLike-MIB.txt
/usr/local/Calpont/share/snmp/mibs/HCNUM-TC.txt
/usr/local/Calpont/share/snmp/mibs/HOST-RESOURCES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/HOST-RESOURCES-TYPES.txt
/usr/local/Calpont/share/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANAifType-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANA-LANGUAGE-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IANA-RTPROTO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IF-INVERTED-STACK-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IF-MIB.txt
/usr/local/Calpont/share/snmp/mibs/INET-ADDRESS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IP-FORWARD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-ICMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-TCP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-TC.txt
/usr/local/Calpont/share/snmp/mibs/IPV6-UDP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-AGENT-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/NET-SNMP-TC.txt
/usr/local/Calpont/share/snmp/mibs/NOTIFICATION-LOG-MIB.txt
/usr/local/Calpont/share/snmp/mibs/RFC1155-SMI.txt
/usr/local/Calpont/share/snmp/mibs/RFC1213-MIB.txt
/usr/local/Calpont/share/snmp/mibs/RFC-1215.txt
/usr/local/Calpont/share/snmp/mibs/RMON-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SMUX-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-COMMUNITY-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-MPD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-PROXY-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-TARGET-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USM-AES-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-CONF.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-MIB.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-SMI.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-TC.txt
/usr/local/Calpont/share/snmp/mibs/SNMPv2-TM.txt
/usr/local/Calpont/share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
/usr/local/Calpont/share/snmp/mibs/TCP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DEMO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DISKIO-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-DLMOD-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-IPFWACC-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UCD-SNMP-MIB.txt
/usr/local/Calpont/share/snmp/mibs/UDP-MIB.txt
#
/usr/local/Calpont/post/functions
/usr/local/Calpont/post/test-001.sh
/usr/local/Calpont/post/test-002.sh
/usr/local/Calpont/post/test-003.sh
/usr/local/Calpont/post/test-004.sh
%files enterprise
%defattr(-, root, root)
/usr/local/Calpont/bin/displayJobGraph.sh
/usr/local/Calpont/bin/dbhealth.sh
/usr/local/Calpont/bin/dbhealth.sql
# Tools...
/usr/local/Calpont/bin/dumpcol
/usr/local/Calpont/bin/oid2file
/usr/local/Calpont/bin/evalcol
/usr/local/Calpont/bin/SesMgr
/usr/local/Calpont/bin/dumpVss
/usr/local/Calpont/bin/editTxn
/usr/local/Calpont/bin/dbprof.pl
/usr/local/Calpont/bin/dumpobm
/usr/local/Calpont/bin/file2oid.pl
/usr/local/Calpont/bin/print_journal
/usr/local/Calpont/bin/healthcheck
/usr/local/Calpont/bin/glusterctl
/usr/local/Calpont/bin/glusteradd
/usr/local/Calpont/bin/glusterconf
/usr/local/Calpont/bin/redistributeDB
/usr/local/Calpont/bin/databaseSizeReport
/usr/local/Calpont/bin/gdb
#
/usr/local/Calpont/tools/copy2here.sh
/usr/local/Calpont/tools/getlogs.sh
/usr/local/Calpont/tools/getmodules.sh
/usr/local/Calpont/tools/getps.sh
/usr/local/Calpont/tools/getsar.sh
/usr/local/Calpont/tools/getuserinput.sh
/usr/local/Calpont/tools/prat
/usr/local/Calpont/tools/prat.sh
/usr/local/Calpont/tools/ps
/usr/local/Calpont/tools/pscollect
/usr/local/Calpont/tools/README
/usr/local/Calpont/tools/tarfiles.sh
#
%files libs
%defattr(-, root, root)
/usr/local/Calpont/lib/libconfigcpp.so.1.0.0
/usr/local/Calpont/lib/libddlpackageproc.so.1.0.0
/usr/local/Calpont/lib/libddlpackage.so.1.0.0
/usr/local/Calpont/lib/libdmlpackageproc.so.1.0.0
/usr/local/Calpont/lib/libdmlpackage.so.1.0.0
/usr/local/Calpont/lib/libexecplan.so.1.0.0
/usr/local/Calpont/lib/libfuncexp.so.1.0.0
/usr/local/Calpont/lib/libudfsdk.so.1.0.0
/usr/local/Calpont/lib/libjoblist.so.1.0.0
/usr/local/Calpont/lib/libjoiner.so.1.0.0
/usr/local/Calpont/lib/libloggingcpp.so.1.0.0
/usr/local/Calpont/lib/libmessageqcpp.so.1.0.0
/usr/local/Calpont/lib/libnetsnmpagent.so.5.2.1
/usr/local/Calpont/lib/libnetsnmphelpers.so.5.2.1
/usr/local/Calpont/lib/libnetsnmpmibs.so.5.2.1
/usr/local/Calpont/lib/libnetsnmp.so.5.2.1
/usr/local/Calpont/lib/libnetsnmptrapd.so.5.2.1
/usr/local/Calpont/lib/liboamcpp.so.1.0.0
/usr/local/Calpont/lib/libsnmpmanager.so.1.0.0
/usr/local/Calpont/lib/libthreadpool.so.1.0.0
/usr/local/Calpont/lib/libwindowfunction.so.1.0.0
/usr/local/Calpont/lib/libwriteengine.so.1.0.0
/usr/local/Calpont/lib/libwriteengineclient.so.1.0.0
/usr/local/Calpont/lib/libbrm.so.1.0.0
/usr/local/Calpont/lib/librwlock.so.1.0.0
/usr/local/Calpont/lib/libdataconvert.so.1.0.0
/usr/local/Calpont/lib/librowgroup.so.1.0.0
/usr/local/Calpont/lib/libcacheutils.so.1.0.0
/usr/local/Calpont/lib/libcommon.so.1.0.0
/usr/local/Calpont/lib/libboost_idb.so.1.0.0
/usr/local/Calpont/lib/libcompress.so.1.0.0
/usr/local/Calpont/lib/libddlcleanuputil.so.1.0.0
/usr/local/Calpont/lib/libbatchloader.so.1.0.0
/usr/local/Calpont/lib/libmysqlcl_idb.so.1.0.0
/usr/local/Calpont/lib/libquerystats.so.1.0.0
/usr/local/Calpont/lib/libwriteengineredistribute.so.1.0.0
/usr/local/Calpont/lib/libjemalloc.so.3.3.0
/usr/local/Calpont/lib/libidbdatafile.so.1.0.0
/usr/local/Calpont/lib/hdfs-20.so
/usr/local/Calpont/lib/hdfs-12.so
/usr/local/Calpont/lib/libgcc_s.so.1
/usr/local/Calpont/lib/libstdc++.so.6.0.14
/usr/local/Calpont/lib/libthrift.so.1.0.0
/usr/local/Calpont/lib/libquerytele.so.1.0.0
%files storage-engine
/usr/local/Calpont/lib/libcalmysql.so.1.0.0
/usr/local/Calpont/lib/libudf_mysql.so.1.0.0
%files mysql
/usr/local/Calpont/mysql/lib/mysql/libmysqlclient.so.16.0.0
/usr/local/Calpont/mysql/lib/mysql/libmysqlclient_r.so.16.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_federated.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_blackhole.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_archive.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_innodb.so.0.0.0
/usr/local/Calpont/mysql/lib/mysql/plugin/ha_innodb_plugin.so.0.0.0
/usr/local/Calpont/mysql/libexec/mysqlmanager
/usr/local/Calpont/mysql/libexec/mysqld
/usr/local/Calpont/mysql/bin/mysql_find_rows
/usr/local/Calpont/mysql/bin/mysqlbug
/usr/local/Calpont/mysql/bin/innochecksum
/usr/local/Calpont/mysql/bin/mysql_secure_installation
/usr/local/Calpont/mysql/bin/resolve_stack_dump
/usr/local/Calpont/mysql/bin/my_print_defaults
/usr/local/Calpont/mysql/bin/mysql_waitpid
/usr/local/Calpont/mysql/bin/resolveip
/usr/local/Calpont/mysql/bin/perror
/usr/local/Calpont/mysql/bin/myisamlog
/usr/local/Calpont/mysql/bin/mysql
/usr/local/Calpont/mysql/bin/myisamchk
/usr/local/Calpont/mysql/bin/mysql_fix_privilege_tables
/usr/local/Calpont/mysql/bin/mysql_upgrade
/usr/local/Calpont/mysql/bin/mysqlcheck
/usr/local/Calpont/mysql/bin/myisampack
/usr/local/Calpont/mysql/bin/mysql_setpermission
/usr/local/Calpont/mysql/bin/mysqladmin
/usr/local/Calpont/mysql/bin/mysqlslap
/usr/local/Calpont/mysql/bin/mysql_zap
/usr/local/Calpont/mysql/bin/mysqldump
/usr/local/Calpont/mysql/bin/mysqld_safe
/usr/local/Calpont/mysql/bin/mysqlshow
/usr/local/Calpont/mysql/bin/mysqltest
/usr/local/Calpont/mysql/bin/mysql_config
/usr/local/Calpont/mysql/bin/mysql_client_test
/usr/local/Calpont/mysql/bin/mysqlbinlog
/usr/local/Calpont/mysql/bin/mysqld_multi
/usr/local/Calpont/mysql/bin/mysqlaccess
/usr/local/Calpont/mysql/bin/mysql_install_db
/usr/local/Calpont/mysql/bin/msql2mysql
/usr/local/Calpont/mysql/bin/mysqlimport
/usr/local/Calpont/mysql/bin/replace
/usr/local/Calpont/mysql/bin/mysql_convert_table_format
/usr/local/Calpont/mysql/bin/myisam_ftdump
/usr/local/Calpont/mysql/bin/mysql_tzinfo_to_sql
/usr/local/Calpont/mysql/bin/mysql_fix_extensions
/usr/local/Calpont/mysql/bin/mysqldumpslow
/usr/local/Calpont/mysql/bin/mysqlhotcopy
/usr/local/Calpont/mysql/share/mysql/config.small.ini
/usr/local/Calpont/mysql/share/mysql/romanian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/korean/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/norwegian-ny/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/binary-configure
/usr/local/Calpont/mysql/share/mysql/french/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/greek/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql-log-rotate
/usr/local/Calpont/mysql/share/mysql/mysql_system_tables_data.sql
/usr/local/Calpont/mysql/share/mysql/russian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql.server
/usr/local/Calpont/mysql/share/mysql/mi_test_all.res
/usr/local/Calpont/mysql/share/mysql/danish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/portuguese/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql_fix_privilege_tables.sql
/usr/local/Calpont/mysql/share/mysql/italian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mi_test_all
/usr/local/Calpont/mysql/share/mysql/mysql_system_tables.sql
/usr/local/Calpont/mysql/share/mysql/my-innodb-heavy-4G.cnf
/usr/local/Calpont/mysql/share/mysql/norwegian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/fill_help_tables.sql
/usr/local/Calpont/mysql/share/mysql/spanish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/ndb-config-2-node.ini
/usr/local/Calpont/mysql/share/mysql/slovak/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysql_test_data_timezone.sql
/usr/local/Calpont/mysql/share/mysql/czech/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/english/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/hungarian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/mysqld_multi.server
/usr/local/Calpont/mysql/share/mysql/estonian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/german/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/errmsg.txt
/usr/local/Calpont/mysql/share/mysql/swedish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/dutch/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/charsets/cp866.xml
/usr/local/Calpont/mysql/share/mysql/charsets/hebrew.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin2.xml
/usr/local/Calpont/mysql/share/mysql/charsets/armscii8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin7.xml
/usr/local/Calpont/mysql/share/mysql/charsets/geostd8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin5.xml
/usr/local/Calpont/mysql/share/mysql/charsets/swe7.xml
/usr/local/Calpont/mysql/share/mysql/charsets/keybcs2.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1257.xml
/usr/local/Calpont/mysql/share/mysql/charsets/macroman.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1251.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp1256.xml
/usr/local/Calpont/mysql/share/mysql/charsets/macce.xml
/usr/local/Calpont/mysql/share/mysql/charsets/dec8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/latin1.xml
/usr/local/Calpont/mysql/share/mysql/charsets/greek.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp850.xml
/usr/local/Calpont/mysql/share/mysql/charsets/hp8.xml
/usr/local/Calpont/mysql/share/mysql/charsets/cp852.xml
/usr/local/Calpont/mysql/share/mysql/charsets/koi8r.xml
/usr/local/Calpont/mysql/share/mysql/charsets/README
/usr/local/Calpont/mysql/share/mysql/charsets/cp1250.xml
/usr/local/Calpont/mysql/share/mysql/charsets/koi8u.xml
/usr/local/Calpont/mysql/share/mysql/charsets/Index.xml
/usr/local/Calpont/mysql/share/mysql/charsets/ascii.xml
/usr/local/Calpont/mysql/share/mysql/config.medium.ini
/usr/local/Calpont/mysql/share/mysql/my-huge.cnf
/usr/local/Calpont/mysql/share/mysql/polish/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/my-medium.cnf
/usr/local/Calpont/mysql/share/mysql/my-large.cnf
/usr/local/Calpont/mysql/share/mysql/config.huge.ini
/usr/local/Calpont/mysql/share/mysql/ukrainian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/serbian/errmsg.sys
/usr/local/Calpont/mysql/share/mysql/my-small.cnf
/usr/local/Calpont/mysql/share/mysql/japanese/errmsg.sys
/usr/local/Calpont/mysql/mysql-Calpont
/usr/local/Calpont/mysql/install_calpont_mysql.sh
/usr/local/Calpont/mysql/syscatalog_mysql.sql
/usr/local/Calpont/mysql/dumpcat_mysql.sql
/usr/local/Calpont/mysql/dumpcat.pl
/usr/local/Calpont/mysql/calsetuserpriority.sql
/usr/local/Calpont/mysql/calremoveuserpriority.sql
/usr/local/Calpont/mysql/calshowprocesslist.sql
%config /usr/local/Calpont/mysql/my.cnf
#
# Scriptlets
# for an install, pre & post run with $1 set to 1
# for an erase, preun & postun run with $1 set to 0
# for an upgrade, pre & post run first, with $1 set to 2 then the _old_ preun & postun run with $1 set to 1
%post platform
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
test -x /usr/local/Calpont/bin/post-install && /usr/local/Calpont/bin/post-install --prefix=$prefix --rpmmode=$rpmmode
echo "InfinIDB RPM install completed"
%post libs
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post storage-engine
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post mysql
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%post enterprise
rpmmode=install
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=upgrade
fi
fi
prefix=/usr/local
echo "InfinIDB RPM install completed"
%preun platform
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
if [ $rpmmode = erase ]; then
test -x /usr/local/Calpont/bin/pre-uninstall && /usr/local/Calpont/bin/pre-uninstall
fi
exit 0
%preun libs
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun storage-engine
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun enterprise
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
exit 0
%preun mysql
rpmmode=upgrade
if [ "$1" -eq "$1" 2> /dev/null ]; then
if [ $1 -ne 1 ]; then
rpmmode=erase
fi
else
rpmmode=erase
fi
if [ $rpmmode = erase ]; then
/etc/init.d/mysql-Calpont stop > /dev/null 2>&1
if [ -x /sbin/chkconfig ]; then
/sbin/chkconfig mysql-Calpont off > /dev/null 2>&1
/sbin/chkconfig --del mysql-Calpont > /dev/null 2>&1
elif [ -x /usr/sbin/update-rc.d ]; then
/usr/sbin/update-rc.d -f mysql-Calpont remove > /dev/null 2>&1
fi
rm -f /etc/init.d/mysql-Calpont
fi
exit 0

BIN
build/libgcc_s.so.1 Executable file

Binary file not shown.

BIN
build/libstdc++.so.6.0.14 Executable file

Binary file not shown.

135
build/make_src_tar Executable file
View File

@ -0,0 +1,135 @@
#!/bin/bash
#
# $Id: make_src_tar 1932 2013-06-20 18:26:27Z dhill $
#
# basedir is the working dir for all the activity
basedir=$HOME
# vname is the name of the top-level dir in the tar file
vname=
# ofile is the output tar file name and is relative to a hidden dir, so it should be absolute
ofile=
# branch is the branch to checkout (develop by default)
branch=
for arg in "$@"; do
if [ $(expr -- "$arg" : '--basedir=') -eq 10 ]; then
basedir="$(echo $arg | awk -F= '{print $2}')"
elif [ $(expr -- "$arg" : '--vname=') -eq 8 ]; then
vname="$(echo $arg | awk -F= '{print $2}')"
elif [ $(expr -- "$arg" : '--ofile=') -eq 8 ]; then
ofile="$(echo $arg | awk -F= '{print $2}')"
elif [ $(expr -- "$arg" : '--branch=') -eq 9 ]; then
branch="$(echo $arg | awk -F= '{print $2}')"
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
if [ -f releasenum ]; then
. releasenum
elif [ -f build/releasenum ]; then
. build/releasenum
else
echo "Couldn't locate 'releasenum' file in the build dir, make sure running in top-level dir"
fi
if [ -z "$version" ]; then
echo "Version defaulting to 4.0-develop"
version=4.0
release=develop
fi
if [ -z "$release" ]; then
release=0
fi
blddir=bld.$$
if [ -z "$vname" ]; then
vname=infinidb-${version}
fi
if [ -z "$ofile" ]; then
ofile=${basedir}/${vname}-${release}.src.tar.gz
fi
co_dir=$blddir/$vname
trap "{ echo; cd ${basedir}; rm -rf $blddir; exit 1; }" TERM INT ERR
cd ${basedir}
rm -rf $blddir
mkdir -p $co_dir
cd $co_dir
branch_arg=
if [ ! -z "$branch" ]; then
branch_arg="-b $branch"
else
branch=develop
fi
echo -n "getting git source from $branch..."
git clone http://srvengcm1.calpont.com/repos/infinidb.git infinidb
cd infinidb
git checkout $branch
echo "done."
test -d build || exit 1
echo -n "cleaning git source for "
echo -n "release..."
rm -rf .git .gitignore
rm -rf qa export
rm -f rules.mak
find . -name Makefile | xargs rm -f
find . -name \*.xmi | xargs rm -f
rm -f dbcon/joblist/bandeddl.h.set dbcon/joblist/bandeddl.h.vector primitives/blockcache/iomanager.cpp.single-read \
primitives/udf/Makefile.sdk
rm -rf utils/scenarios
cd mysql
rm -rf scripts queries storage/maria
cd ..
rm -rf writeengine/test/*
rm -rf utils/net-snmp-built-libs
rm -rf utils/multicast
rm -rf utils/openpgm
rm -rf tools/reserveStacks
rm -rf dbcon/doc dbcon/ingres dbcon/plsql
cd tools
rm -rf brmtest dataPump evalidx fixdate nettest pgm pingproc rebuildEM snconvert updateGenii valprint
rm -rf cfread dbgen dbgen-ssb ddldriver dmldriver idb_comp sendPlan vbgen
cd ..
rm -rf utils/libstatgrab utils/libxml utils/testbc utils/configcpp/md5
echo "done."
cd ..
echo -n "getting MySQL..."
git clone https://github.com/infinidb/mysql mysql
cd mysql
git checkout $branch
echo "done."
cd ..
echo -n "building tarball..."
cd infinidb
cp -r utils/autoconf/* .
cp INSTALL INSTALL.keep
cp install-sh install-sh.keep
rm -rf utils/autoconf
autoreconf --force --install
rm -f INSTALL install-sh
mv INSTALL.keep INSTALL
mv install-sh.keep install-sh
cd ..
ln -s infinidb/INSTALL
ln -s infinidb/README
cd ..
tar -zcf $ofile $vname
echo "done."
echo "tarball left in $ofile"
cd ${basedir}
rm -rf $blddir

48
build/mini-tests.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
prefix=/usr/local
for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
prefix="`echo $arg | awk -F= '{print $2}'`"
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
client="${prefix}/Calpont/mysql/bin/mysql --defaults-file=${prefix}/Calpont/mysql/my.cnf --user=root"
echo "
create database calpont;
use calpont;
create table caltest (col1 int, col2 int) engine=infinidb;
show create table caltest;
" > /tmp/minitest.$$
${client} < /tmp/minitest.$$ > /tmp/minitest.out.$$ 2>&1
if [ $? -ne 0 ]; then
echo "test failed!" 1>&2
exit 1
fi
egrep -qsi 'engine=infinidb' /tmp/minitest.out.$$
if [ $? -ne 0 ]; then
cat /tmp/minitest.out.$$
echo "test failed!" 1>&2
exit 1
fi
echo "
use calpont;
set autocommit=0;
insert into caltest values (1, 2);
insert into caltest values (3, 4);
commit;
select * from caltest;
" > /tmp/minitest.$$
${client} < /tmp/minitest.$$
rc=$?
rm -f /tmp/*.$$
exit $rc

111
build/nightly-mini-tester.sh Executable file
View File

@ -0,0 +1,111 @@
#!/bin/bash
NO_NONROOT_SUDO=yes
export NO_NONROOT_SUDO
prefix=/usr/local
builddir=
for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
prefix="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--builddir='` -eq 11 ]; then
builddir="`echo $arg | awk -F= '{print $2}'`"
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
if [ -z "$builddir" ]; then
echo "I really need a builddir to continue!" 1>&2
exit 1
fi
if [ ! -d ${builddir}/export/Calpont ]; then
echo "I did't find a Calpont dir in ${builddir}/export!" 1>&2
exit 1
fi
# stop any current procs
${prefix}/Calpont/bin/calpontConsole shutdownsystem y
if [ -x ${prefix}/Calpont/bin/infinidb ]; then
${prefix}/Calpont/bin/infinidb stop
fi
# really stop current procs
sleep 5
for proc in DMLProc DDLProc ExeMgr PrimProc controllernode workernode; do
pkill -9 $proc
sleep 1
done
if [ -x ${prefix}/Calpont/mysql/mysql-Calpont ]; then
${prefix}/Calpont/mysql/mysql-Calpont stop
fi
# cleanup
# remove shm segs
if [ -x ${prefix}/Calpont/bin/clearShm ]; then
${prefix}/Calpont/bin/clearShm stop
fi
# remove Calpont dir
/usr/local/bin/rootStuff
rm -rf ${prefix}/Calpont 2>/dev/null
/usr/local/bin/rootStuff
# (we'll leave the logging stuff in place for now)
# install the binaries
tar -C ${builddir}/export -cf - Calpont | tar -C ${prefix} -xf -
if [ $? -ne 0 ]; then
echo "There was a problem installing the binaries!" 1>&2
exit 1
fi
#chown -R root.root ${prefix}/Calpont
find ${prefix}/Calpont -type d | xargs chmod +rx
find ${prefix}/Calpont -type f | xargs chmod +r
mkdir -p ${prefix}/Calpont/data1/systemFiles/dbrm
if [ ! -e ${prefix}/Calpont/lib/libjemalloc.so ]; then
pushd ${prefix}/Calpont/lib >/dev/null
ln -s libjemalloc.so.1 libjemalloc.so
popd >/dev/null
fi
if [ ! -f ${prefix}/Calpont/etc/Calpont.xml.rpmsave ]; then
cp ${prefix}/Calpont/etc/Calpont.xml.singleserver ${prefix}/Calpont/etc/Calpont.xml.rpmsave
fi
if [ ! -f ${prefix}/Calpont/mysql/my.cnf ]; then
cp ${builddir}/dbcon/mysql/my.cnf ${prefix}/Calpont/mysql
fi
#fix the port numbers
sed -i -e 's/port.*=.*3306/port=14406/' ${prefix}/Calpont/mysql/my.cnf
# configure the s/w
${prefix}/Calpont/bin/postConfigure -n
# restart (argh)
#${prefix}/Calpont/bin/calpontConsole RestartSystem y
sleep 30
pkill DMLProc
sleep 30
# perform the tests
if [ ! -x ${builddir}/build/mini-tests.sh ]; then
echo "There was a problem trying to start testing the s/w!" 1>&2
exit 1
fi
${builddir}/build/mini-tests.sh --prefix=${prefix}
if [ $? -ne 0 ]; then
echo "There were problems running the tests!" 1>&2
exit 1
fi
# stop the system
${prefix}/Calpont/bin/infinidb stop
${prefix}/Calpont/mysql/mysql-Calpont stop
exit 0

52
build/nightlyDiff.sh Executable file
View File

@ -0,0 +1,52 @@
#!/bin/bash
# $Id$
#
# displays the changes in git develop for yesterday
usage()
{
echo "usage: nightlyDiff.sh [-sfh] [-d days] [-b branch]"
echo " -h display this help"
echo " -s display only a summary of the files changed"
echo " -f display fancy diffstat"
echo " -d days go back days days"
# echo " -b branch display changes for branch branch instead of develop"
}
urlencode()
{
local arg
arg="$1"
while [[ "$arg" =~ ^([0-9a-zA-Z/:_\.\-]*)([^0-9a-zA-Z/:_\.\-])(.*) ]] ; do
echo -n "${BASH_REMATCH[1]}"
printf "%%%X" "'${BASH_REMATCH[2]}'"
arg="${BASH_REMATCH[3]}"
done
echo -n "$arg"
}
DAYSAGO=1
BRANCH=develop
while getopts ":sfhd:b:" options; do
case $options in
s ) SUMMARY_ONLY="--name-only" ;;
f ) FANCY="--stat" ;;
d ) DAYSAGO=$OPTARG ;;
b ) BRANCH=$OPTARG ; echo "-b doesn't work yet" 1>&2; exit 1 ;;
h ) usage; exit 0 ;;
* ) usage; exit 1 ;;
esac
done
secs=$(($(date +%s)-60*60*24*DAYSAGO))
dt1=$(date --date=@$secs +%Y-%m-%d)
BRANCH=$(urlencode "$BRANCH")
if [ $BRANCH != develop ]; then
BRANCH=branches/$BRANCH
fi
git diff $SUMMARY_ONLY $FANCY "$BRANCH@{${dt1} 00:00:00}..$BRANCH@{${dt1} 23:59:59}"

9
build/randomSleep.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
# This a tool for buildbot to keep the nightlies from swamping svn
sleep=$((($RANDOM % 16) * 45))
echo sleep $sleep
sleep $sleep

5
build/releasenum Normal file
View File

@ -0,0 +1,5 @@
#
version=4.6
release=0

8
build/rpmmacros Normal file
View File

@ -0,0 +1,8 @@
# Need to set these before using rpmbuild
%_topdir <HOME>/rpm
%_tmppath <HOME>/rpm/tmp
# Change to 1 if you want to abort on unpackaged files
%_unpackaged_files_terminate_build 0
# Don't build debuginfo packages
%debug_package %{nil}

22
build/setmktop Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
# This script is for adding an include statement to Makefiles in order
# to point them at the toplevel rules.mak. It was used to add these
# lines when rules.mak was introduced.
root=${root:-.}
files=$(find $root -name '[mM]akefile' | grep -v ./mysql)
for x in $files; do
istmt=$(dirname $(echo $x | sed -r -e 's,\./,,' -e 's,[^/]+/,\.\./,g'))/rules.mak
tmpfile=/tmp/setmktop.$UID
# put new include stmt
echo "include $istmt" > $tmpfile
# append the old file less any include rules.mak lines
grep -v '^include .*rules.mak' $x >> $tmpfile
# copy over old
mv $tmpfile $x
printf "%s %s\n" "$x :" $istmt
done

138
build/src-build Executable file
View File

@ -0,0 +1,138 @@
#!/bin/bash
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
prefix=/usr/local
for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
prefix="`echo $arg | awk -F= '{print $2}'`"
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
if [ ! -d build ]; then
echo "No build directory found, giving up. (maybe you're not in the right directory?)" 1>&2
exit 1
fi
bison --version >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No 'bison' program installed, giving up." 1>&2
exit 1
fi
flex --version >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No 'flex' program installed, giving up." 1>&2
exit 1
fi
autoreconf --version >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No 'autoreconf' program installed, giving up." 1>&2
exit 1
fi
expect -v >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No 'expect' program installed, giving up." 1>&2
exit 1
fi
mysqldir=
for testdir in ./mysql ./mysql-master ../mysql ../mysql-master; do
if [ -d $testdir ]; then
mysqldir=$testdir
break
fi
done
if [ -z "$mysqldir" ]; then
echo "Didn't find a MySQL tree, looking for a ZIP file..."
for testfile in ./mysql-master.zip ../mysql-master.zip; do
if [ -f $testfile ]; then
unzip -qq $testfile
break
fi
done
for testdir in ./mysql ./mysql-master; do
if [ -d $testdir ]; then
mysqldir=$testdir
break
fi
done
fi
if [ -z "$mysqldir" ]; then
echo "Didn't find a MySQL tree and didn't find a ZIP file. Going to github..."
git --version >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No 'git' program installed, giving up (maybe you could download infinidb-mysql?)." 1>&2
exit 1
fi
git clone https://github.com/infinidb/mysql --branch=master --quiet
if [ $? -ne 0 ]; then
echo "Cloning from github didn't work, giving up." 1>&2
exit 1
fi
if [ ! -x ./mysql/idbbuild.sh ]; then
echo "Didn't find mysql build script, giving up." 1>&2
exit 1
fi
mysqldir=./mysql
fi
echo "Using MySQL tree in $mysqldir"
echo "Building MySQL..."
( cd $mysqldir;
./idbbuild.sh --prefix=$prefix/Calpont && make install ) >./mysql_build.log 2>&1
if [ $? -ne 0 -o ! -x $prefix/Calpont/mysql/libexec/mysqld ]; then
echo "Something went wrong building MySQL, giving up. (check ./mysql_build.log)" 1>&2
exit 1
fi
if [ $mysqldir = "./mysql" -o $mysqldir = "./mysql-master" ]; then
( bn=$(basename $(pwd)); cd ..; ln -s $bn/$mysqldir mysql ) >/dev/null 2>&1
fi
if [ ! -f ../mysql/include/mysql_version.h ]; then
echo "Couldn't find mysql_version.h in ../mysql/include, giving up." 1>&2
exit 1
fi
echo "Building InfiniDB..."
( cp -r utils/autoconf/* .;
autoreconf;
libtoolize --force --install;
mv -f $mysqldir/Makefile $mysqldir/Makefile.bak;
./configure --prefix=$prefix && make && make install ) >./infinidb_build.log 2>&1
if [ $? -ne 0 -o ! -x $prefix/Calpont/bin/PrimProc ]; then
echo "Something went wrong building InfiniDB, giving up. (check ./infinidb_build.log)" 1>&2
exit 1
fi
cp dbcon/mysql/my.cnf $prefix/Calpont/mysql
cp utils/jemalloc/libjemalloc.so.3.3.0 $prefix/Calpont/lib/libjemalloc.so
echo "InfiniDB binaries and libs are in $prefix/Calpont"
exit 0

1
buildFlags Normal file
View File

@ -0,0 +1 @@
-g0 -O3 -fno-strict-aliasing -fno-tree-vectorize -DDBUG_OFF

142
compile Executable file
View File

@ -0,0 +1,142 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

1463
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

398
config.h Normal file
View File

@ -0,0 +1,398 @@
/* config.h. Generated by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* Define to 1 if you have the `alarm' function. */
#define HAVE_ALARM 1
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `btowc' function. */
/* #undef HAVE_BTOWC */
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETENV */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the `dup2' function. */
#define HAVE_DUP2 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `floor' function. */
#define HAVE_FLOOR 1
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if you have the `ftime' function. */
#define HAVE_FTIME 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `gethostbyname' function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `getpagesize' function. */
#define HAVE_GETPAGESIZE 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `inet_ntoa' function. */
#define HAVE_INET_NTOA 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `isascii' function. */
#define HAVE_ISASCII 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#define HAVE_MALLOC 1
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the `mbsrtowcs' function. */
/* #undef HAVE_MBSRTOWCS */
/* Define to 1 if <wchar.h> declares mbstate_t. */
#define HAVE_MBSTATE_T 1
/* Define to 1 if you have the `memchr' function. */
#define HAVE_MEMCHR 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mempcpy' function. */
/* #undef HAVE_MEMPCPY */
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the <ncurses.h> header file. */
#define HAVE_NCURSES_H 1
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the `pow' function. */
#define HAVE_POW 1
/* Define to 1 if the system has the type `ptrdiff_t'. */
#define HAVE_PTRDIFF_T 1
/* Define to 1 if you have the <readline/readline.h> header file. */
#define HAVE_READLINE_READLINE_H 1
/* Define to 1 if you have the `regcomp' function. */
#define HAVE_REGCOMP 1
/* Define to 1 if you have the `rmdir' function. */
#define HAVE_RMDIR 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if stdbool.h conforms to C99. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strcasecmp' function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strcspn' function. */
#define HAVE_STRCSPN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if you have the `strspn' function. */
#define HAVE_STRSPN 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the `strtoull' function. */
#define HAVE_STRTOULL 1
/* Define to 1 if you have the <syslog.h> header file. */
#define HAVE_SYSLOG_H 1
/* Define to 1 if you have the <sys/file.h> header file. */
#define HAVE_SYS_FILE_H 1
/* Define to 1 if you have the <sys/mount.h> header file. */
#define HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timeb.h> header file. */
#define HAVE_SYS_TIMEB_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
/* #undef HAVE_UTIME_NULL */
/* Define to 1 if you have the <values.h> header file. */
#define HAVE_VALUES_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the <vfork.h> header file. */
/* #undef HAVE_VFORK_H */
/* Define to 1 if you have the <wchar.h> header file. */
/* #undef HAVE_WCHAR_H */
/* Define to 1 if you have the <wctype.h> header file. */
/* #undef HAVE_WCTYPE_H */
/* Define to 1 if you have the `wmempcpy' function. */
/* #undef HAVE_WMEMPCPY */
/* Define to 1 if `fork' works. */
/* #undef HAVE_WORKING_FORK */
/* Define to 1 if `vfork' works. */
#define HAVE_WORKING_VFORK 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if the system has the type `_Bool'. */
/* #undef HAVE__BOOL */
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
/* Name of package */
#define PACKAGE "infinidb"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "support@infinidb.co"
/* Define to the full name of this package. */
#define PACKAGE_NAME "infinidb"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "infinidb 4.6.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "infinidb"
/* Define to the version of this package. */
#define PACKAGE_VERSION "4.6.1"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to the type of arg 1 for `select'. */
#define SELECT_TYPE_ARG1 int
/* Define to the type of args 2, 3 and 4 for `select'. */
#define SELECT_TYPE_ARG234 (fd_set *)
/* Define to the type of arg 5 for `select'. */
#define SELECT_TYPE_ARG5 (struct timeval *)
/* Define to 1 if the `setvbuf' function takes the buffering type as its
second argument and the buffer pointer as the third, as on System V before
release 3. */
/* #undef SETVBUF_REVERSED */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
/* #undef STAT_MACROS_BROKEN */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if strerror_r returns char *. */
#define STRERROR_R_CHAR_P 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
#define VERSION "4.6.1"
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */
/* #undef YYTEXT_POINTER */
/* Define like PROTOTYPES; this can be used by system headers. */
#define __PROTOTYPES 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to rpl_fnmatch if the replacement function should be used. */
/* #undef fnmatch */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to rpl_malloc if the replacement function should be used. */
/* #undef malloc */
/* Define to a type if <wchar.h> does not define. */
/* #undef mbstate_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef pid_t */
/* Define to equivalent of C99 restrict keyword, or to nothing if this is not
supported. Do not define if restrict is supported directly. */
#define restrict __restrict
/* Define to `unsigned' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define as `fork' if `vfork' does not work. */
/* #undef vfork */
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
/* #undef volatile */

397
config.h.in Normal file
View File

@ -0,0 +1,397 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the `btowc' function. */
#undef HAVE_BTOWC
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
*/
#undef HAVE_DECL_GETENV
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `floor' function. */
#undef HAVE_FLOOR
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define to 1 if you have the `ftime' function. */
#undef HAVE_FTIME
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `isascii' function. */
#undef HAVE_ISASCII
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#undef HAVE_MALLOC
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the `mbsrtowcs' function. */
#undef HAVE_MBSRTOWCS
/* Define to 1 if <wchar.h> declares mbstate_t. */
#undef HAVE_MBSTATE_T
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the <ncurses.h> header file. */
#undef HAVE_NCURSES_H
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the `pow' function. */
#undef HAVE_POW
/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T
/* Define to 1 if you have the <readline/readline.h> header file. */
#undef HAVE_READLINE_READLINE_H
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the `rmdir' function. */
#undef HAVE_RMDIR
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strcspn' function. */
#undef HAVE_STRCSPN
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R
/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strspn' function. */
#undef HAVE_STRSPN
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/statfs.h> header file. */
#undef HAVE_SYS_STATFS_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define to 1 if you have the <values.h> header file. */
#undef HAVE_VALUES_H
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
/* Define to 1 if you have the `wmempcpy' function. */
#undef HAVE_WMEMPCPY
/* Define to 1 if `fork' works. */
#undef HAVE_WORKING_FORK
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to the type of arg 1 for `select'. */
#undef SELECT_TYPE_ARG1
/* Define to the type of args 2, 3 and 4 for `select'. */
#undef SELECT_TYPE_ARG234
/* Define to the type of arg 5 for `select'. */
#undef SELECT_TYPE_ARG5
/* Define to 1 if the `setvbuf' function takes the buffering type as its
second argument and the buffer pointer as the third, as on System V before
release 3. */
#undef SETVBUF_REVERSED
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Version number of package */
#undef VERSION
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */
#undef YYTEXT_POINTER
/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to rpl_fnmatch if the replacement function should be used. */
#undef fnmatch
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
/* Define to a type if <wchar.h> does not define. */
#undef mbstate_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to equivalent of C99 restrict keyword, or to nothing if this is not
supported. Do not define if restrict is supported directly. */
#undef restrict
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define as `fork' if `vfork' does not work. */
#undef vfork
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile

5068
config.log Normal file

File diff suppressed because it is too large Load Diff

1685
config.status Executable file

File diff suppressed because it is too large Load Diff

1579
config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

27236
configure vendored Executable file

File diff suppressed because it is too large Load Diff

266
configure.ac Normal file
View File

@ -0,0 +1,266 @@
# $Id$
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(infinidb, 4.6.1, support@infinidb.co)
### we don't want the deault CXXFLAGS set by AC_INIT, but we do want to allow the user to set them
SAVE_CXXFLAGS=
if test -n "$CXXFLAGS"; then
SAVE_CXXFLAGS="$CXXFLAGS"
fi
CXXFLAGS=
SAVE_CFLAGS=
if test -n "$CFLAGS"; then
SAVE_CFLAGS="$CFLAGS"
fi
CFLAGS=
## AC_CONFIG_SRCDIR([configcpp/configcpp.cpp])
AM_INIT_AUTOMAKE
AC_CONFIG_HEADER([config.h])
AC_PREFIX_DEFAULT([/usr/local])
AC_LANG_CPLUSPLUS
# Checks for programs.
AC_PROG_CC
if test -n "$SAVE_CFLAGS"; then
CFLAGS="$SAVE_CFLAGS"
else
CFLAGS=
fi
AC_PROG_CXX
if test -n "$SAVE_CXXFLAGS"; then
CXXFLAGS="$SAVE_CXXFLAGS"
else
CXXFLAGS=
fi
AC_ENABLE_STATIC([no])
AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_PROG_LEX
if test "x$LEX" = "x:"; then
AC_MSG_ERROR([Could not find a usable lex program!])
fi
AC_PROG_YACC
$YACC --version >/dev/null 2>&1
if test $? -ne 0; then
AC_MSG_ERROR([Could not find a usable yacc program!])
fi
AC_PROG_AWK
AC_PROG_CPP
AC_PROG_LN_S
AC_PROG_MAKE_SET
# Checks for header files.
AC_FUNC_ALLOCA
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/file.h sys/mount.h sys/socket.h sys/statfs.h sys/time.h sys/timeb.h syslog.h unistd.h utime.h values.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STAT
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_C_RESTRICT
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
AC_CHECK_TYPES([ptrdiff_t])
# Checks for library functions.
AC_FUNC_ERROR_AT_LINE
AC_REPLACE_FNMATCH
AC_FUNC_FORK
AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_FUNC_MKTIME
AC_FUNC_SELECT_ARGTYPES
AC_FUNC_SETVBUF_REVERSED
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_STRERROR_R
AC_FUNC_STRFTIME
AC_FUNC_STRTOD
AC_FUNC_UTIME_NULL
AC_CHECK_FUNCS([alarm dup2 floor ftime ftruncate gethostbyname getpagesize gettimeofday inet_ntoa isascii localtime_r memchr memmove memset mkdir pow regcomp rmdir select setenv setlocale socket strcasecmp strchr strcspn strdup strerror strrchr strspn strstr strtol strtoul strtoull utime])
AM_PATH_XML2([2.6.26])
if test "x$XML_CPPFLAGS" = "x"; then
AC_MSG_ERROR([Could not find a usable libxml2 development environment!])
fi
AC_CHECK_HEADERS([zlib.h])
if test "x$ac_cv_header_zlib_h" != "xyes"; then
AC_MSG_ERROR([Could not find a usable zlib development environment!])
fi
AC_CHECK_HEADERS([readline/readline.h])
if test "x$ac_cv_header_readline_readline_h" != "xyes"; then
AC_MSG_ERROR([Could not find a usable readline development environment!])
fi
AC_CHECK_HEADERS([ncurses.h])
if test "x$ac_cv_header_ncurses_h" != "xyes"; then
AC_MSG_ERROR([Could not find a usable ncurses development environment!])
fi
CXX_FLAG_CHECK([-Wno-unused-local-typedefs])
CXX_FLAG_CHECK([-Wno-unused-result])
CXX_FLAG_CHECK([-Wno-format])
AC_MSG_CHECKING(whether to enable debugging)
AC_SUBST([idb_cppflags], [' '])
AC_ARG_WITH([debug],
AS_HELP_STRING([--with-debug],[include debugging symbols/no optimization]))
if test "x$with_debug" = "xyes"; then
AC_SUBST([idb_cxxflags],['-ggdb3 -Wall -DSAFE_MUTEX -DINFINIDB_DEBUG'])
AC_SUBST([idb_cflags],['-ggdb3 -Wall -DSAFE_MUTEX -DINFINIDB_DEBUG'])
AC_MSG_RESULT(yes)
else
AC_SUBST([idb_cxxflags],["-g0 -O3 -fno-strict-aliasing -Wall $cxx_extra_flags"])
AC_SUBST([idb_cflags],['-g0 -O3 -fno-strict-aliasing -Wall'])
AC_MSG_RESULT(no)
fi
AC_SUBST([idbinstall], ['${prefix}'])
AC_SUBST([idb_ldflags],['-Wl,--rpath -Wl,${idbinstall}/lib -Wl,--no-as-needed -Wl,--add-needed'])
AC_MSG_CHECKING(for CPU architecture)
uname=`uname -m`
AS_IF(
[test `expr $uname : 'i.86'` -gt 0], [AC_SUBST([march_flags], ['-march=pentium4'])] [AC_MSG_RESULT(pentium4)],
[AC_SUBST([march_flags], [' '])] [AC_MSG_RESULT(x86_64)]
)
AC_SUBST([libdir], ['${idbinstall}/lib'])
AC_SUBST([bindir], ['${idbinstall}/bin'])
AC_SUBST([includedir], ['${idbinstall}/include'])
AC_SUBST([etcdir], ['${idbinstall}/etc'])
AC_SUBST([sysconfdir], ['${idbinstall}/etc'])
AC_SUBST([mandir], ['${idbinstall}/man'])
AC_SUBST([sbindir], ['${idbinstall}/sbin'])
AC_SUBST([sharedir], ['${idbinstall}/share'])
AC_SUBST([postdir], ['${idbinstall}/post'])
AC_SUBST([localdir], ['${idbinstall}/local'])
AC_SUBST([mysqldir], ['${idbinstall}/mysql'])
AC_SUBST([mibdir], ['${idbinstall}/share/snmp/mibs'])
AC_SUBST([netsnmpdir], ['${idbinstall}/include/net-snmp'])
AC_SUBST([netsnmpsysdir], ['${idbinstall}/include/net-snmp/system'])
AC_SUBST([netsnmpmachdir], ['${idbinstall}/include/net-snmp/machine'])
AC_SUBST([netsnmplibrdir], ['${idbinstall}/include/net-snmp/library'])
AC_SUBST([netsnmpagntdir], ['${idbinstall}/include/net-snmp/agent'])
AC_SUBST([toolsdir], ['${idbinstall}/tools'])
AC_SUBST([netsnmp_libs], ['-lnetsnmpmibs -lnetsnmpagent -lnetsnmp -lnetsnmpmibs -lnetsnmphelpers'])
AC_SUBST([idb_common_libs], ['-lmessageqcpp -lloggingcpp -lconfigcpp -lidbboot -lboost_idb -lxml2 -lpthread -lrt'])
AC_SUBST([idb_oam_libs], ['-loamcpp -lsnmpmanager ${netsnmp_libs}'])
AC_SUBST([idb_brm_libs], ['-lbrm -lidbdatafile -lcacheutils -lrwlock ${idb_oam_libs} ${idb_common_libs}'])
AC_SUBST([idb_exec_libs], ['-ljoblist -lexecplan -lwindowfunction -ljoiner -lrowgroup -lfuncexp -ludfsdk -ldataconvert -lcommon -lcompress -lmysqlcl_idb -lquerystats -lquerytele -lthrift -lthreadpool ${idb_brm_libs}'])
AC_SUBST([idb_write_libs], ['-lddlpackageproc -lddlpackage -ldmlpackageproc -ldmlpackage -lwriteengine -lwriteengineclient -lidbdatafile -lcacheutils ${idb_exec_libs}'])
AC_SUBST([idb_common_includes], ['-I${idbinstall}/include -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/include/libxml2'])
AC_SUBST([idb_common_ldflags], ['-L${idbinstall}/lib -L/usr/local/lib'])
AC_CONFIG_FILES([
Makefile
utils/Makefile
utils/boost_idb/Makefile
utils/startup/Makefile
utils/common/Makefile
utils/configcpp/Makefile
utils/loggingcpp/Makefile
utils/messageqcpp/Makefile
utils/threadpool/Makefile
utils/rwlock/Makefile
utils/dataconvert/Makefile
utils/joiner/Makefile
utils/rowgroup/Makefile
utils/cacheutils/Makefile
utils/net-snmp/Makefile
utils/funcexp/Makefile
utils/udfsdk/Makefile
utils/compress/Makefile
utils/ddlcleanup/Makefile
utils/batchloader/Makefile
utils/mysqlcl_idb/Makefile
utils/querystats/Makefile
utils/jemalloc/Makefile
utils/windowfunction/Makefile
utils/idbdatafile/Makefile
utils/idbhdfs/Makefile
utils/idbhdfs/hdfs-12/Makefile
utils/idbhdfs/hdfs-20/Makefile
utils/winport/Makefile
utils/thrift/Makefile
utils/querytele/Makefile
exemgr/Makefile
ddlproc/Makefile
dbcon/Makefile
dbcon/ddlpackage/Makefile
dbcon/ddlpackageproc/Makefile
dbcon/dmlpackage/Makefile
dbcon/dmlpackageproc/Makefile
dbcon/execplan/Makefile
dbcon/joblist/Makefile
dbcon/mysql/Makefile
dmlproc/Makefile
oam/Makefile
oam/etc/Makefile
oam/install_scripts/Makefile
oam/oamcpp/Makefile
oam/post/Makefile
oam/cloud/Makefile
oamapps/Makefile
oamapps/calpontConsole/Makefile
oamapps/calpontDB/Makefile
oamapps/postConfigure/Makefile
oamapps/serverMonitor/Makefile
oamapps/sessionWalker/Makefile
oamapps/traphandler/Makefile
oamapps/sendtrap/Makefile
oamapps/calpontSupport/Makefile
primitives/Makefile
primitives/blockcache/Makefile
primitives/linux-port/Makefile
primitives/primproc/Makefile
decomsvr/Makefile
procmgr/Makefile
procmon/Makefile
snmpd/Makefile
snmpd/etc/Makefile
snmpd/snmpmanager/Makefile
tools/Makefile
tools/editem/Makefile
tools/cplogger/Makefile
tools/clearShm/Makefile
tools/setConfig/Makefile
tools/getConfig/Makefile
tools/dbbuilder/Makefile
tools/dbloadxml/Makefile
tools/configMgt/Makefile
tools/viewtablelock/Makefile
tools/cleartablelock/Makefile
tools/ddlcleanup/Makefile
tools/idbmeminfo/Makefile
versioning/Makefile
versioning/BRM/Makefile
writeengine/Makefile
writeengine/shared/Makefile
writeengine/index/Makefile
writeengine/dictionary/Makefile
writeengine/wrapper/Makefile
writeengine/xml/Makefile
writeengine/bulk/Makefile
writeengine/client/Makefile
writeengine/splitter/Makefile
writeengine/server/Makefile
writeengine/redistribute/Makefile
net-snmp/Makefile
])
AC_OUTPUT

15436
dbcon/DBConnector.xmi Normal file

File diff suppressed because it is too large Load Diff

12497
dbcon/DBConnectorDDL.xmi Normal file

File diff suppressed because it is too large Load Diff

12543
dbcon/DBConnectorDML.xmi Normal file

File diff suppressed because it is too large Load Diff

29
dbcon/Makefile Executable file
View File

@ -0,0 +1,29 @@
include ../rules.mak
#******************************************************************************************
# $Id: Makefile 9255 2013-02-05 13:20:13Z rdempsey $
#
# Copyright (C) 2009-2012 Calpont Corporation
# All rights reserved
#*****************************************************************************************/
TARGETS = bootstrap clean test docs coverage leakcheck install
.PHONY: all $(TARGETS)
all:
$(MAKE) -C execplan
$(MAKE) -C ddlpackage
$(MAKE) -C ddlpackageproc
$(MAKE) -C dmlpackage
$(MAKE) -C dmlpackageproc
$(MAKE) -C joblist
$(MAKE) -C mysql
$(TARGETS):
$(MAKE) -C execplan $@
$(MAKE) -C ddlpackage $@
$(MAKE) -C ddlpackageproc $@
$(MAKE) -C dmlpackage $@
$(MAKE) -C dmlpackageproc $@
$(MAKE) -C joblist $@
$(MAKE) -C mysql $@

34
dbcon/Makefile.am Normal file
View File

@ -0,0 +1,34 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id: Makefile.am 861 2009-04-02 14:14:12Z rdempsey $
SUBDIRS = ddlpackage ddlpackageproc dmlpackage dmlpackageproc execplan joblist mysql
test:
coverage:
leakcheck:
docs:
bootstrap:
for subdir in $(SUBDIRS); \
do $(MAKE) -C $$subdir bootstrap || exit $$?; \
done

536
dbcon/Makefile.in Normal file
View File

@ -0,0 +1,536 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# $Id: Makefile.am 861 2009-04-02 14:14:12Z rdempsey $
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = dbcon
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/compilerflags.m4 \
$(top_srcdir)/m4/functions.m4 $(top_srcdir)/m4/install.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XML2_CONFIG = @XML2_CONFIG@
XML_CPPFLAGS = @XML_CPPFLAGS@
XML_LIBS = @XML_LIBS@
YACC = @YACC@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
etcdir = @etcdir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
idb_brm_libs = @idb_brm_libs@
idb_cflags = @idb_cflags@
idb_common_includes = @idb_common_includes@
idb_common_ldflags = @idb_common_ldflags@
idb_common_libs = @idb_common_libs@
idb_cppflags = @idb_cppflags@
idb_cxxflags = @idb_cxxflags@
idb_exec_libs = @idb_exec_libs@
idb_ldflags = @idb_ldflags@
idb_oam_libs = @idb_oam_libs@
idb_write_libs = @idb_write_libs@
idbinstall = @idbinstall@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localdir = @localdir@
localstatedir = @localstatedir@
mandir = @mandir@
march_flags = @march_flags@
mibdir = @mibdir@
mkdir_p = @mkdir_p@
mysqldir = @mysqldir@
netsnmp_libs = @netsnmp_libs@
netsnmpagntdir = @netsnmpagntdir@
netsnmpdir = @netsnmpdir@
netsnmplibrdir = @netsnmplibrdir@
netsnmpmachdir = @netsnmpmachdir@
netsnmpsysdir = @netsnmpsysdir@
oldincludedir = @oldincludedir@
postdir = @postdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedir = @sharedir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
toolsdir = @toolsdir@
SUBDIRS = ddlpackage ddlpackageproc dmlpackage dmlpackageproc execplan joblist mysql
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu dbcon/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu dbcon/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
ctags-recursive distclean distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am
test:
coverage:
leakcheck:
docs:
bootstrap:
for subdir in $(SUBDIRS); \
do $(MAKE) -C $$subdir bootstrap || exit $$?; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

187
dbcon/ddlpackage/Makefile Executable file
View File

@ -0,0 +1,187 @@
include ../../rules.mak
#
# Copyright (C) 2009-2012 Calpont Corporation.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
#
# $Id: Makefile 8436 2012-04-04 18:18:21Z rdempsey $
.PHONY: install clean test docs coverage leakcheck
PROGRAM=libddlpackage.so
VERSION=1.0.0
LIBRARY=$(PROGRAM).$(VERSION)
CPPFLAGS=-I$(EXPORT_ROOT)/include -I/usr/include/libxml2
CXXFLAGS+=$(DEBUG_FLAGS) -Wall -fpic
TLIBS=-L. -lddlpackage -L$(EXPORT_ROOT)/lib -lmessageqcpp -lloggingcpp -lconfigcpp -lxml2 -lcppunit -ldl
GLIBS=-L$(EXPORT_ROOT)/lib -lmessageqcpp -lloggingcpp -lconfigcpp -lxml2 -lcppunit -ldl
LLIBS=-L$(CALPONT_LIBRARY_PATH) -lmessageqcpp
SRCS=\
serialize.cpp \
ddl-scan.cpp \
ddl-gram.cpp \
ddlpkg.cpp \
columndef.cpp \
createtable.cpp \
tabledef.cpp \
sqlstatement.cpp \
sqlstatementlist.cpp \
altertable.cpp \
createindex.cpp \
dropindex.cpp \
droptable.cpp \
sqlparser.cpp \
markpartition.cpp \
restorepartition.cpp \
droppartition.cpp
LINCLUDES=\
ddlpkg.h \
sqlparser.h
#all: $(LIBRARY) tdriver gramtest
OBJS=$(SRCS:.cpp=.o)
$(LIBRARY): $(OBJS)
$(LINK.cpp) -shared -o $(LIBRARY) $(OBJS)
rm -f $(PROGRAM)
ln -s $(LIBRARY) $(PROGRAM)
install: bootstrap $(LIBRARY)
umask 002; \
mkdir -p $(INSTALL_ROOT_LIB) $(INSTALL_ROOT_INCLUDE); \
pushd $(INSTALL_ROOT_LIB) >/dev/null; \
rm -f $(LIBRARY) $(PROGRAM); \
ln -s $(LIBRARY) $(PROGRAM); \
popd >/dev/null; \
$(INSTALL) $(LIBRARY) $(INSTALL_ROOT_LIB)
bootstrap: ddl-scan.cpp ddl-gram.cpp ddl-gram.h
$(INSTALL) $(LINCLUDES) $(INSTALL_ROOT_INCLUDE)
ddl-scan.cpp: ddl.l
flex -i -L -Pddl -oddl-scan-temp.cpp ddl.l
set +e; \
if [ -f ddl-scan.cpp ]; \
then diff -abBq ddl-scan-temp.cpp ddl-scan.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
else touch ddl-scan.cpp; \
fi; \
else mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
fi
rm -f ddl-scan-temp.cpp
ddl-gram.cpp ddl-gram.h: ddl.y
bison -l -v -d -p ddl -o ddl-gram-temp.cpp ddl.y
set +e; \
if [ -f ddl-gram.cpp ]; \
then diff -abBq ddl-gram-temp.cpp ddl-gram.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
else touch ddl-gram.cpp; \
fi; \
else mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
fi
set +e; \
if [ -f ddl-gram.h ]; \
then diff -abBq ddl-gram-temp.hpp ddl-gram.h >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.hpp ddl-gram.h; \
else touch ddl-gram.h; \
fi; \
else mv -f ddl-gram-temp.hpp ddl-gram.h; \
fi
rm -f ddl-gram-temp.cpp ddl-gram-temp.hpp ddl-gram-temp.output
ddl.l: ddl-gram.h
sqlparser.cpp: ddl-gram.h
ddl-scan.o: ddl-scan.cpp ddl-gram.h
$(COMPILE.cpp) -o $@ ddl-scan.cpp
ddl-gram.o: ddl-gram.cpp
$(COMPILE.cpp) -o $@ ddl-gram.cpp
gramtest: gramtest.o $(LIBRARY)
$(LINK.cpp) -L. -L$(EXPORT_ROOT)/lib -o $@ $^ -lddlpackage -lmessageqcpp -lconfigcpp -lxml2
sertest: sertest.o $(LIBRARY)
$(LINK.cpp) -L. -L$(EXPORT_ROOT)/lib -o $@ $^ -lddlpackage -lmessageqcpp -lconfigcpp -lxml2
etags:
etags ddlpkg.h sqlparser.h
clean:
rm -f *.o $(PROGRAM) $(LIBRARY) TAGS tdriver core.* core *~ *.tag *-gcov.* *.gcov tdriver-gcov *.d *.d.*
rm -rf html
rm -f gramtest
rm -f ddl-scan-temp.cpp
rm -f ddl-gram-temp.cpp ddl-gram-temp.hpp ddl-gram-temp.output
docs:
doxygen
tdriver: tdriver.o $(LIBRARY)
$(LINK.cpp) -o $@ $^ $(TLIBS)
test:
xtest: $(LIBRARY) tdriver
LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver
# LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver > ./tdriver.output
%-gcov.o: %.cpp
$(COMPILE.cpp) -o $@ $^
tdriver-gcov: CXXFLAGS+=-fprofile-arcs -ftest-coverage
tdriver-gcov: tdriver-gcov.o $(subst .o,-gcov.o,$(OBJS))
$(LINK.cpp) -o $@ $^ $(GLIBS)
# In the flex/bison generated sources, there is code that we don't use
# and can't avoid generating. So, these are omitted from coverage
# testing.
coverage:
xcoverage: tdriver-gcov
rm -f *.gcda
LD_LIBRARY_PATH=$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver-gcov
for file in $(filter-out ddl-gram.cpp ddl-scan.cpp, $(SRCS)); do \
bfile=`basename $$file .cpp`; \
gcov -o $${bfile}-gcov $$file >/dev/null; \
done
/usr/local/bin/genCoverage.pl $(filter-out ddl-gram.cpp ddl-scan.cpp, $(SRCS))
leakcheck:
xleakcheck: $(LIBRARY) tdriver
LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver
%.d: %.cpp
@set -e; rm -f $@; \
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
ifndef BOOTSTRAP
-include $(SRCS:.cpp=.d) tdriver.d
endif

View File

@ -0,0 +1,88 @@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
AM_CPPFLAGS = $(idb_common_includes) $(idb_cppflags)
AM_CFLAGS = $(idb_cflags)
AM_CXXFLAGS = $(idb_cxxflags)
AM_LDFLAGS = -version-info 1:0:0 $(idb_ldflags)
lib_LTLIBRARIES = libddlpackage.la
libddlpackage_la_SOURCES = serialize.cpp \
ddl-scan.cpp \
ddl-gram.cpp \
ddlpkg.cpp \
columndef.cpp \
createtable.cpp \
tabledef.cpp \
sqlstatement.cpp \
sqlstatementlist.cpp \
altertable.cpp \
createindex.cpp \
dropindex.cpp \
droptable.cpp \
sqlparser.cpp \
markpartition.cpp \
restorepartition.cpp \
droppartition.cpp
include_HEADERS = ddlpkg.h \
sqlparser.h
ddl-gram.h ddl-gram.cpp: ddl.y
$(YACC) -l -v -d -p ddl -o ddl-gram-temp.cpp ddl.y
set +e; \
if [ -f ddl-gram.cpp ]; \
then diff -abBq ddl-gram-temp.cpp ddl-gram.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
else touch ddl-gram.cpp; \
fi; \
else mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
fi
set +e; \
if [ -f ddl-gram.h ]; \
then diff -abBq ddl-gram-temp.hpp ddl-gram.h >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.hpp ddl-gram.h; \
else touch ddl-gram.h; \
fi; \
else mv -f ddl-gram-temp.hpp ddl-gram.h; \
fi
rm -f ddl-gram-temp.cpp ddl-gram-temp.hpp ddl-gram-temp.output
ddl-scan.cpp: ddl.l
$(LEX) -i -L -Pddl -oddl-scan-temp.cpp ddl.l
set +e; \
if [ -f ddl-scan.cpp ]; \
then diff -abBq ddl-scan-temp.cpp ddl-scan.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
else touch ddl-scan.cpp; \
fi; \
else mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
fi
rm -f ddl-scan-temp.cpp
ddl.l: ddl-gram.h
test:
coverage:
leakcheck:
docs:
bootstrap: ddl-gram.h ddl-gram.cpp ddl-scan.cpp install-data-am

View File

@ -0,0 +1,617 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = dbcon/ddlpackage
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/compilerflags.m4 \
$(top_srcdir)/m4/functions.m4 $(top_srcdir)/m4/install.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libddlpackage_la_LIBADD =
am_libddlpackage_la_OBJECTS = serialize.lo ddl-scan.lo ddl-gram.lo \
ddlpkg.lo columndef.lo createtable.lo tabledef.lo \
sqlstatement.lo sqlstatementlist.lo altertable.lo \
createindex.lo dropindex.lo droptable.lo sqlparser.lo \
markpartition.lo restorepartition.lo droppartition.lo
libddlpackage_la_OBJECTS = $(am_libddlpackage_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libddlpackage_la_SOURCES)
DIST_SOURCES = $(libddlpackage_la_SOURCES)
includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XML2_CONFIG = @XML2_CONFIG@
XML_CPPFLAGS = @XML_CPPFLAGS@
XML_LIBS = @XML_LIBS@
YACC = @YACC@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
etcdir = @etcdir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
idb_brm_libs = @idb_brm_libs@
idb_cflags = @idb_cflags@
idb_common_includes = @idb_common_includes@
idb_common_ldflags = @idb_common_ldflags@
idb_common_libs = @idb_common_libs@
idb_cppflags = @idb_cppflags@
idb_cxxflags = @idb_cxxflags@
idb_exec_libs = @idb_exec_libs@
idb_ldflags = @idb_ldflags@
idb_oam_libs = @idb_oam_libs@
idb_write_libs = @idb_write_libs@
idbinstall = @idbinstall@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localdir = @localdir@
localstatedir = @localstatedir@
mandir = @mandir@
march_flags = @march_flags@
mibdir = @mibdir@
mkdir_p = @mkdir_p@
mysqldir = @mysqldir@
netsnmp_libs = @netsnmp_libs@
netsnmpagntdir = @netsnmpagntdir@
netsnmpdir = @netsnmpdir@
netsnmplibrdir = @netsnmplibrdir@
netsnmpmachdir = @netsnmpmachdir@
netsnmpsysdir = @netsnmpsysdir@
oldincludedir = @oldincludedir@
postdir = @postdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedir = @sharedir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
toolsdir = @toolsdir@
# Copyright (C) 2014 InfiniDB, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 of
# the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
AM_CPPFLAGS = $(idb_common_includes) $(idb_cppflags)
AM_CFLAGS = $(idb_cflags)
AM_CXXFLAGS = $(idb_cxxflags)
AM_LDFLAGS = -version-info 1:0:0 $(idb_ldflags)
lib_LTLIBRARIES = libddlpackage.la
libddlpackage_la_SOURCES = serialize.cpp \
ddl-scan.cpp \
ddl-gram.cpp \
ddlpkg.cpp \
columndef.cpp \
createtable.cpp \
tabledef.cpp \
sqlstatement.cpp \
sqlstatementlist.cpp \
altertable.cpp \
createindex.cpp \
dropindex.cpp \
droptable.cpp \
sqlparser.cpp \
markpartition.cpp \
restorepartition.cpp \
droppartition.cpp
include_HEADERS = ddlpkg.h \
sqlparser.h
all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu dbcon/ddlpackage/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu dbcon/ddlpackage/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libddlpackage.la: $(libddlpackage_la_OBJECTS) $(libddlpackage_la_DEPENDENCIES)
$(CXXLINK) -rpath $(libdir) $(libddlpackage_la_LDFLAGS) $(libddlpackage_la_OBJECTS) $(libddlpackage_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/altertable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/columndef.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/createindex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/createtable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddl-gram.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddl-scan.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddlpkg.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dropindex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/droppartition.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/droptable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markpartition.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restorepartition.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/serialize.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sqlparser.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sqlstatement.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sqlstatementlist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tabledef.Plo@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
$(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
rm -f "$(DESTDIR)$(includedir)/$$f"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-includeHEADERS
install-exec-am: install-libLTLIBRARIES
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-includeHEADERS uninstall-info-am \
uninstall-libLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-includeHEADERS install-info \
install-info-am install-libLTLIBRARIES install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-includeHEADERS uninstall-info-am \
uninstall-libLTLIBRARIES
ddl-gram.h ddl-gram.cpp: ddl.y
$(YACC) -l -v -d -p ddl -o ddl-gram-temp.cpp ddl.y
set +e; \
if [ -f ddl-gram.cpp ]; \
then diff -abBq ddl-gram-temp.cpp ddl-gram.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
else touch ddl-gram.cpp; \
fi; \
else mv -f ddl-gram-temp.cpp ddl-gram.cpp; \
fi
set +e; \
if [ -f ddl-gram.h ]; \
then diff -abBq ddl-gram-temp.hpp ddl-gram.h >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-gram-temp.hpp ddl-gram.h; \
else touch ddl-gram.h; \
fi; \
else mv -f ddl-gram-temp.hpp ddl-gram.h; \
fi
rm -f ddl-gram-temp.cpp ddl-gram-temp.hpp ddl-gram-temp.output
ddl-scan.cpp: ddl.l
$(LEX) -i -L -Pddl -oddl-scan-temp.cpp ddl.l
set +e; \
if [ -f ddl-scan.cpp ]; \
then diff -abBq ddl-scan-temp.cpp ddl-scan.cpp >/dev/null 2>&1; \
if [ $$? -ne 0 ]; \
then mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
else touch ddl-scan.cpp; \
fi; \
else mv -f ddl-scan-temp.cpp ddl-scan.cpp; \
fi
rm -f ddl-scan-temp.cpp
ddl.l: ddl-gram.h
test:
coverage:
leakcheck:
docs:
bootstrap: ddl-gram.h ddl-gram.cpp ddl-scan.cpp install-data-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,295 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: altertable.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
namespace ddlpackage {
using namespace std;
AlterTableStatement::AlterTableStatement(QualifiedName *qName, AlterTableActionList *ataList):
fTableName(qName),
fActions(*ataList)
{
delete ataList;
}
AlterTableStatement::~AlterTableStatement()
{
delete fTableName;
AlterTableActionList::iterator itr;
for(itr=fActions.begin(); itr != fActions.end(); ++itr) {
delete *itr;
}
}
std::ostream& AlterTableStatement::put(std::ostream& os) const
{
AlterTableActionList::const_iterator itr;
os << "Alter Table " << *fTableName << endl;
for(itr = fActions.begin(); itr != fActions.end(); ++itr) {
os << **itr << endl;
}
return os;
}
/** @brief Format to ostream. Diagnostic. */
std::ostream& AlterTableAction::put(std::ostream& os) const
{
os << "AlterTableAction put stub";
return os;
}
/** @brief Invokes the virtual function put, to dispatch to subclass
ostream writers. */
std::ostream &operator<<(std::ostream& os, const AlterTableAction &ata)
{
return ata.put(os);
}
AtaAddColumn::~AtaAddColumn()
{
delete fColumnDef;
}
/** @brief ostream output */
std::ostream& AtaAddColumn::put(std::ostream& os) const
{
os << "Add Column" << endl;
os << *fColumnDef << endl;
return os;
}
AtaDropColumn::AtaDropColumn(std::string columnName, DDL_REFERENTIAL_ACTION dropBehavior) :
fColumnName(columnName),
fDropBehavior(dropBehavior)
{
}
std::ostream& AtaDropColumn::put(std::ostream& os) const
{
os << "Drop Column: " << fColumnName << " "
<< ReferentialActionStrings[fDropBehavior];
return os;
}
AtaModifyColumnType::~AtaModifyColumnType()
{
delete fColumnType;
}
std::ostream& AtaModifyColumnType::put(std::ostream& os) const
{
os << "Modify column type: " << fName << " " << *fColumnType;
return os;
}
AtaRenameColumn::~AtaRenameColumn()
{
delete fNewType;
}
std::ostream& AtaRenameColumn::put(std::ostream& os) const
{
os << "Rename Column: " << fName << " -> " << fNewName << " (" << *fNewType << ')';
return os;
}
AtaSetColumnDefault::AtaSetColumnDefault(const char *colName, ColumnDefaultValue *defaultValue) :
fColumnName(colName),
fDefaultValue(defaultValue)
{
}
AtaSetColumnDefault::~AtaSetColumnDefault()
{
delete fDefaultValue;
}
std::ostream& AtaSetColumnDefault::put(std::ostream& os) const
{
os << "Set Column Default: " << fColumnName << " "
<< *fDefaultValue << endl;
return os;
}
AtaDropColumnDefault::AtaDropColumnDefault(const char *colName) :
fColumnName(colName)
{
}
std::ostream& AtaDropColumnDefault::put(std::ostream& os) const
{
os << "Drop Column Default: " << fColumnName << " ";
return os;
}
AtaRenameTable::AtaRenameTable(QualifiedName *qualifiedName) :
fQualifiedName(qualifiedName)
{
}
AtaRenameTable::~AtaRenameTable()
{
delete fQualifiedName;
}
std::ostream& AtaRenameTable::put(std::ostream& os) const
{
os << "Rename Table: " << *fQualifiedName << endl;
return os;
}
AtaAddColumns::~AtaAddColumns()
{
ColumnDefList::iterator itr;
for(itr=fColumns.begin(); itr != fColumns.end(); itr++)
delete *itr;
}
AtaAddColumns::AtaAddColumns(TableElementList *tableElements)
{
/* It is convenient to reuse the grammar rules for
table_element_list, and we do. So, it is possible for
there to be errant table constraint defs in the input list.
We ignore them. That is all we are doing here.
*/
ColumnDef *column;
TableElementList::const_iterator itr;
for(itr = tableElements->begin();
itr != tableElements->end();
++itr)
{
column = dynamic_cast<ColumnDef *>(*itr);
if(0 != column) {
fColumns.push_back(column);
}
}
delete tableElements;
}
std::ostream& AtaAddColumns::put(std::ostream& os) const
{
os << "Add Columns: " << endl;
ColumnDefList::const_iterator itr;
for(itr = fColumns.begin();
itr != fColumns.end();
++itr)
{
os << **itr << endl;
}
return os;
}
//////////////////////////
AtaDropColumns::~AtaDropColumns()
{
}
AtaDropColumns::AtaDropColumns(ColumnNameList *columnNames)
{
fColumns = *columnNames;
delete columnNames;
}
std::ostream& AtaDropColumns::put(std::ostream& os) const
{
os << "Drop Columns: " << endl;
ColumnNameList::const_iterator itr;
for(itr = fColumns.begin();
itr != fColumns.end();
++itr)
{
os << *itr << endl;
}
return os;
}
AtaAddTableConstraint::AtaAddTableConstraint(TableConstraintDef *tableConstraint) :
fTableConstraint(tableConstraint)
{
}
AtaAddTableConstraint::~AtaAddTableConstraint()
{
delete fTableConstraint;
}
std::ostream& AtaAddTableConstraint::put(std::ostream& os) const
{
os << "Add Table Constraint:" << endl;
os << *fTableConstraint << endl;
return os;
}
AtaDropTableConstraint::AtaDropTableConstraint
(const char *constraintName, DDL_REFERENTIAL_ACTION dropBehavior) :
fConstraintName(constraintName),
fDropBehavior(dropBehavior)
{
}
std::ostream& AtaDropTableConstraint::put(std::ostream& os) const
{
os << "Drop Table Constraint: " << fConstraintName;
return os;
}
}

View File

@ -0,0 +1,147 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: columndef.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#include <iostream>
#include <iomanip>
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
namespace ddlpackage {
using namespace std;
ColumnDef::~ColumnDef()
{
delete fType;
delete fDefaultValue;
ColumnConstraintList::iterator itr;
for(itr=fConstraints.begin(); itr != fConstraints.end(); ++itr) {
delete *itr;
}
}
ColumnDef::ColumnDef(const char *name, ColumnType* columnType, ColumnConstraintList *constraints,
ColumnDefaultValue *defaultValue, const char * comment ) :
SchemaObject(name),
fType(columnType),
fDefaultValue(defaultValue)
{
if(constraints) {
fConstraints = *constraints;
delete constraints;
}
if ( comment )
fComment = comment;
}
ostream &operator<<(ostream& os, const ColumnType& columnType)
{
os << setw(12) << left << DDLDatatypeString[columnType.fType]
<< "["
<< "L=" << setw(2) << columnType.fLength << ","
<< "P=" << setw(2) << columnType.fPrecision << ","
<< "S=" << setw(2) << columnType.fScale << ","
<< "T=" << setw(2) << columnType.fWithTimezone
<< "]";
return os;
}
ostream &operator<<(ostream& os, const ColumnDef &column)
{
os << "Column: " << column.fName << " " << *column.fType;
if(column.fDefaultValue) {
os << " def=";
if (column.fDefaultValue->fNull)
os << "NULL";
else
os << column.fDefaultValue->fValue;
}
os << endl << " " << column.fConstraints.size()
<< " constraints ";
ColumnConstraintList::const_iterator itr;
for(itr = column.fConstraints.begin();
itr != column.fConstraints.end();
++itr) {
ColumnConstraintDef *con = *itr;
os << *con;
}
return os;
}
ostream &operator<<(ostream& os, const ColumnConstraintDef &con)
{
os << " Constraint: "
<< con.fName << " "
<< ConstraintString[con.fConstraintType] << " "
<< "defer=" << con.fDeferrable << " "
<< ConstraintAttrStrings[con.fCheckTime] << " ";
if(!con.fCheck.empty())
os << "check=" << "\"" << con.fCheck << "\"";
return os;
}
std::ostream &operator<<(std::ostream& os, const ColumnDefList &clist)
{
ColumnDefList::const_iterator itr;
for(itr = clist.begin(); itr != clist.end(); ++itr){
os << **itr;
}
return os;
}
ColumnDefaultValue::ColumnDefaultValue(const char *value) :
fNull(false)
{
if(0 == value)
fNull = true;
else
fValue = value;
}
std::ostream &operator<<(std::ostream& os, const ColumnDefaultValue &defaultValue)
{
os << " def=";
if (defaultValue.fNull)
os << "NULL";
else
os << defaultValue.fValue;
return os;
}
}

View File

@ -0,0 +1,60 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: createindex.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#include "ddlpkg.h"
namespace ddlpackage {
using namespace std;
CreateIndexStatement::CreateIndexStatement():
fIndexName(NULL),
fTableName(NULL),
fColumnNames(),
fUnique(false)
{
}
CreateIndexStatement::CreateIndexStatement(QualifiedName *indexName, QualifiedName *tableName,
ColumnNameList *columnNames, bool unique) :
fIndexName(indexName),
fTableName(tableName),
fColumnNames(*columnNames),
fUnique(unique)
{
delete columnNames;
}
CreateIndexStatement::~CreateIndexStatement()
{
delete fIndexName;
delete fTableName;
}
std::ostream& CreateIndexStatement::put(std::ostream& os) const
{
os << "Create Index: " << *fIndexName << " on " << *fTableName
<< fColumnNames << endl;
return os;
}
}

View File

@ -0,0 +1,60 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: createtable.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#include <iostream>
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
namespace ddlpackage {
using namespace std;
CreateTableStatement::CreateTableStatement() :
fTableDef(0)
{
}
CreateTableStatement::CreateTableStatement(TableDef* tableDef) :
fTableDef(tableDef)
{
}
CreateTableStatement::~CreateTableStatement()
{
if (fTableDef)
{
delete fTableDef;
}
}
/** \brief Put to ostream. */
ostream& CreateTableStatement::put(ostream& os) const
{
os << "CreateTable "
<< *fTableDef;
return os;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,173 @@
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
ACTION = 258,
ADD = 259,
ALTER = 260,
AUTO_INCREMENT = 261,
BIGINT = 262,
BIT = 263,
IDB_BLOB = 264,
CASCADE = 265,
IDB_CHAR = 266,
CHARACTER = 267,
CHECK = 268,
CLOB = 269,
COLUMN = 270,
COLUMNS = 271,
COMMENT = 272,
CONSTRAINT = 273,
CONSTRAINTS = 274,
CREATE = 275,
CURRENT_USER = 276,
DATETIME = 277,
DEC = 278,
DECIMAL = 279,
DEFAULT = 280,
DEFERRABLE = 281,
DEFERRED = 282,
IDB_DELETE = 283,
DROP = 284,
ENGINE = 285,
FOREIGN = 286,
FULL = 287,
IMMEDIATE = 288,
INDEX = 289,
INITIALLY = 290,
IDB_INT = 291,
INTEGER = 292,
KEY = 293,
MATCH = 294,
MAX_ROWS = 295,
MIN_ROWS = 296,
MODIFY = 297,
NO = 298,
NOT = 299,
NULL_TOK = 300,
NUMBER = 301,
NUMERIC = 302,
ON = 303,
PARTIAL = 304,
PRECISION = 305,
PRIMARY = 306,
REFERENCES = 307,
RENAME = 308,
RESTRICT = 309,
SET = 310,
SMALLINT = 311,
TABLE = 312,
TIME = 313,
TINYINT = 314,
TO = 315,
UNIQUE = 316,
UNSIGNED = 317,
UPDATE = 318,
USER = 319,
SESSION_USER = 320,
SYSTEM_USER = 321,
VARCHAR = 322,
VARBINARY = 323,
VARYING = 324,
WITH = 325,
ZONE = 326,
DOUBLE = 327,
IDB_FLOAT = 328,
REAL = 329,
CHARSET = 330,
IDB_IF = 331,
EXISTS = 332,
CHANGE = 333,
TRUNCATE = 334,
IDENT = 335,
FCONST = 336,
SCONST = 337,
CP_SEARCH_CONDITION_TEXT = 338,
ICONST = 339,
DATE = 340
};
#endif
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
ddlpackage::AlterTableStatement *alterTableStmt;
ddlpackage::AlterTableAction *ata;
ddlpackage::AlterTableActionList *ataList;
ddlpackage::DDL_CONSTRAINT_ATTRIBUTES cattr;
std::pair<std::string, std::string> *tableOption;
const char *columnOption;
ddlpackage::ColumnConstraintDef *columnConstraintDef;
ddlpackage::ColumnNameList *columnNameList;
ddlpackage::ColumnType* columnType;
ddlpackage::ConstraintAttributes *constraintAttributes;
ddlpackage::ColumnConstraintList *constraintList;
ddlpackage::DDL_CONSTRAINTS constraintType;
double dval;
bool flag;
int ival;
ddlpackage::QualifiedName *qualifiedName;
ddlpackage::SchemaObject *schemaObject;
ddlpackage::SqlStatement *sqlStmt;
ddlpackage::SqlStatementList *sqlStmtList;
const char *str;
ddlpackage::TableConstraintDef *tableConstraint;
ddlpackage::TableElementList *tableElementList;
ddlpackage::TableOptionMap *tableOptionMap;
ddlpackage::ColumnDefaultValue *colDefault;
ddlpackage::DDL_MATCH_TYPE matchType;
ddlpackage::DDL_REFERENTIAL_ACTION refActionCode;
ddlpackage::ReferentialAction *refAction;
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE ddllval;

File diff suppressed because it is too large Load Diff

258
dbcon/ddlpackage/ddl-gram.h Normal file
View File

@ -0,0 +1,258 @@
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
ACTION = 258,
ADD = 259,
ALTER = 260,
AUTO_INCREMENT = 261,
BIGINT = 262,
BIT = 263,
IDB_BLOB = 264,
CASCADE = 265,
IDB_CHAR = 266,
CHARACTER = 267,
CHECK = 268,
CLOB = 269,
COLUMN = 270,
COLUMNS = 271,
COMMENT = 272,
CONSTRAINT = 273,
CONSTRAINTS = 274,
CREATE = 275,
CURRENT_USER = 276,
DATETIME = 277,
DEC = 278,
DECIMAL = 279,
DEFAULT = 280,
DEFERRABLE = 281,
DEFERRED = 282,
IDB_DELETE = 283,
DROP = 284,
ENGINE = 285,
FOREIGN = 286,
FULL = 287,
IMMEDIATE = 288,
INDEX = 289,
INITIALLY = 290,
IDB_INT = 291,
INTEGER = 292,
KEY = 293,
MATCH = 294,
MAX_ROWS = 295,
MIN_ROWS = 296,
MODIFY = 297,
NO = 298,
NOT = 299,
NULL_TOK = 300,
NUMBER = 301,
NUMERIC = 302,
ON = 303,
PARTIAL = 304,
PRECISION = 305,
PRIMARY = 306,
REFERENCES = 307,
RENAME = 308,
RESTRICT = 309,
SET = 310,
SMALLINT = 311,
TABLE = 312,
TIME = 313,
TINYINT = 314,
TO = 315,
UNIQUE = 316,
UNSIGNED = 317,
UPDATE = 318,
USER = 319,
SESSION_USER = 320,
SYSTEM_USER = 321,
VARCHAR = 322,
VARBINARY = 323,
VARYING = 324,
WITH = 325,
ZONE = 326,
DOUBLE = 327,
IDB_FLOAT = 328,
REAL = 329,
CHARSET = 330,
IDB_IF = 331,
EXISTS = 332,
CHANGE = 333,
TRUNCATE = 334,
IDENT = 335,
FCONST = 336,
SCONST = 337,
CP_SEARCH_CONDITION_TEXT = 338,
ICONST = 339,
DATE = 340
};
#endif
/* Tokens. */
#define ACTION 258
#define ADD 259
#define ALTER 260
#define AUTO_INCREMENT 261
#define BIGINT 262
#define BIT 263
#define IDB_BLOB 264
#define CASCADE 265
#define IDB_CHAR 266
#define CHARACTER 267
#define CHECK 268
#define CLOB 269
#define COLUMN 270
#define COLUMNS 271
#define COMMENT 272
#define CONSTRAINT 273
#define CONSTRAINTS 274
#define CREATE 275
#define CURRENT_USER 276
#define DATETIME 277
#define DEC 278
#define DECIMAL 279
#define DEFAULT 280
#define DEFERRABLE 281
#define DEFERRED 282
#define IDB_DELETE 283
#define DROP 284
#define ENGINE 285
#define FOREIGN 286
#define FULL 287
#define IMMEDIATE 288
#define INDEX 289
#define INITIALLY 290
#define IDB_INT 291
#define INTEGER 292
#define KEY 293
#define MATCH 294
#define MAX_ROWS 295
#define MIN_ROWS 296
#define MODIFY 297
#define NO 298
#define NOT 299
#define NULL_TOK 300
#define NUMBER 301
#define NUMERIC 302
#define ON 303
#define PARTIAL 304
#define PRECISION 305
#define PRIMARY 306
#define REFERENCES 307
#define RENAME 308
#define RESTRICT 309
#define SET 310
#define SMALLINT 311
#define TABLE 312
#define TIME 313
#define TINYINT 314
#define TO 315
#define UNIQUE 316
#define UNSIGNED 317
#define UPDATE 318
#define USER 319
#define SESSION_USER 320
#define SYSTEM_USER 321
#define VARCHAR 322
#define VARBINARY 323
#define VARYING 324
#define WITH 325
#define ZONE 326
#define DOUBLE 327
#define IDB_FLOAT 328
#define REAL 329
#define CHARSET 330
#define IDB_IF 331
#define EXISTS 332
#define CHANGE 333
#define TRUNCATE 334
#define IDENT 335
#define FCONST 336
#define SCONST 337
#define CP_SEARCH_CONDITION_TEXT 338
#define ICONST 339
#define DATE 340
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
ddlpackage::AlterTableStatement *alterTableStmt;
ddlpackage::AlterTableAction *ata;
ddlpackage::AlterTableActionList *ataList;
ddlpackage::DDL_CONSTRAINT_ATTRIBUTES cattr;
std::pair<std::string, std::string> *tableOption;
const char *columnOption;
ddlpackage::ColumnConstraintDef *columnConstraintDef;
ddlpackage::ColumnNameList *columnNameList;
ddlpackage::ColumnType* columnType;
ddlpackage::ConstraintAttributes *constraintAttributes;
ddlpackage::ColumnConstraintList *constraintList;
ddlpackage::DDL_CONSTRAINTS constraintType;
double dval;
bool flag;
int ival;
ddlpackage::QualifiedName *qualifiedName;
ddlpackage::SchemaObject *schemaObject;
ddlpackage::SqlStatement *sqlStmt;
ddlpackage::SqlStatementList *sqlStmtList;
const char *str;
ddlpackage::TableConstraintDef *tableConstraint;
ddlpackage::TableElementList *tableElementList;
ddlpackage::TableOptionMap *tableOptionMap;
ddlpackage::ColumnDefaultValue *colDefault;
ddlpackage::DDL_MATCH_TYPE matchType;
ddlpackage::DDL_REFERENTIAL_ACTION refActionCode;
ddlpackage::ReferentialAction *refAction;
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE ddllval;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

241
dbcon/ddlpackage/ddl.l Normal file
View File

@ -0,0 +1,241 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/* $Id: ddl.l 9341 2013-03-27 14:10:35Z chao $ */
%{
#include <iostream>
#include <vector>
#include <stdio.h>
#include "ddlpkg.h"
#ifdef _MSC_VER
#include "ddl-gram-win.h"
#else
#include "ddl-gram.h"
#endif
int lineno = 1;
void ddlerror(char *s);
/* Handles to the buffer that the lexer uses internally */
static YY_BUFFER_STATE scanbufhandle;
static char *scanbuf;
static char* scanner_copy (char *str);
%}
%option noyywrap
%option nounput
/* %option header-file="ddl-scan.h" */
%x check1
%x check2
%x inquote
%x endquote
space [ \t\n\r\f]
horiz_space [ \t\f]
newline [\n\r]
non_newline [^\n\r]
comment ("--"{non_newline}*)
self [,()\[\].;\:\+\-\*\/\%\^\<\>\=]
whitespace ({space}+|{comment})
digit [0-9]
ident_start [A-Za-z\200-\377_]
ident_cont [A-Za-z\200-\377_0-9\$]
identifier {ident_start}{ident_cont}*
integer [-+]?{digit}+
decimal ([-+]?({digit}*\.{digit}+)|({digit}+\.{digit}*))
real ({integer}|{decimal})[Ee][-+]?{digit}+
realfail1 ({integer}|{decimal})[Ee]
realfail2 ({integer}|{decimal})[Ee][-+]
quote '
grave_accent `
%%
ACTION {return ACTION;}
ADD {return ADD;}
ALTER {return ALTER;}
AUTO_INCREMENT {return AUTO_INCREMENT;}
CASCADE {return CASCADE;}
CHAR {return IDB_CHAR;}
CHARACTER {return IDB_CHAR;}
BIGINT {return BIGINT;}
CHECK {BEGIN(check1);return CHECK;}
<check1>\( {BEGIN(check2); return '(';}
<check2>[^)]*/\) {BEGIN(check1); ddllval.str = scanner_copy(ddltext); return CP_SEARCH_CONDITION_TEXT;}
<check1>\) {BEGIN(0); return ')';}
{quote} {BEGIN(inquote);return yytext[0];}
<inquote>[^']*/' {BEGIN(endquote); ddllval.str = scanner_copy(ddltext); return SCONST;}
<endquote>' {BEGIN(0); return yytext[0];}
{integer} {ddllval.str = scanner_copy(ddltext); return ICONST;}
{decimal} {ddllval.str = scanner_copy(ddltext); return FCONST;}
{real} {ddllval.str = scanner_copy(ddltext); return FCONST;}
COMMENT {return COMMENT;}
COLUMN {return COLUMN;}
COLUMNS {return COLUMNS;}
CONSTRAINT {return CONSTRAINT;}
CONSTRAINTS {return CONSTRAINTS;}
CREATE {return CREATE;}
CURRENT_USER {return CURRENT_USER;}
DATE {ddllval.str=strdup("date"); return DATE;}
DATETIME {return DATETIME;}
DECIMAL {return DECIMAL;}
DEC {return DECIMAL;}
DEFAULT {return DEFAULT;}
DEFERRABLE {return DEFERRABLE;}
DEFERRED {return DEFERRED;}
DELETE {return IDB_DELETE;}
DROP {return DROP;}
ENGINE {return ENGINE;}
FOREIGN {return FOREIGN;}
FULL {return FULL;}
IMMEDIATE {return IMMEDIATE;}
INDEX {return INDEX;}
INITIALLY {return INITIALLY;}
INT {return IDB_INT;}
INTEGER {return INTEGER;}
KEY {return KEY;}
MATCH {return MATCH;}
MAX_ROWS {return MAX_ROWS;}
MIN_ROWS {return MIN_ROWS;}
MODIFY {return MODIFY;}
NO {return NO;}
NOT {return NOT;}
NULL {return NULL_TOK;}
NUMERIC {return NUMERIC;}
ON {return ON;}
PARTIAL {return PARTIAL;}
PRECISION {return PRECISION;}
PRIMARY {return PRIMARY;}
REFERENCES {return REFERENCES;}
RENAME {return RENAME;}
RESTRICT {return RESTRICT;}
SESSION_USER {return SESSION_USER;}
SYSTEM_USER {return SYSTEM_USER;}
SET {return SET;}
SMALLINT {return SMALLINT;}
TABLE {return TABLE;}
TINYINT {return TINYINT;}
TO {return TO;}
UNIQUE {return UNIQUE;}
UNSIGNED {return UNSIGNED;}
UPDATE {return UPDATE;}
USER {return USER;}
VARCHAR {return VARCHAR;}
FLOAT {return IDB_FLOAT;}
DOUBLE {return DOUBLE;}
REAL {return REAL;}
CHARSET {return CHARSET;}
IF {return IDB_IF;}
EXISTS {return EXISTS;}
CHANGE {return CHANGE;}
TRUNCATE {return TRUNCATE;}
VARBINARY {return VARBINARY;}
\n { lineno++;}
{whitespace} {
/* ignore */
}
{identifier} {ddllval.str = scanner_copy(ddltext); return IDENT;}
{self} {
return ddltext[0];
}
{grave_accent} {
/* ignore */
}
%%
void ddlerror(char const *s)
{
printf("yyerror: %d: %s at %s\n", lineno, s, yytext);
}
typedef std::vector<char*> valbuf_t;
static valbuf_t valbuf;
/*
* Called before any actual parsing is done
*/
void scanner_init(const char *str)
{
size_t slen = strlen(str);
/*
* Might be left over after ereport()
*/
if (YY_CURRENT_BUFFER)
yy_delete_buffer(YY_CURRENT_BUFFER);
/*
* Make a scan buffer with special termination needed by flex.
*/
scanbuf = (char *)malloc(slen + 2);
memcpy(scanbuf, str, slen);
scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
scanbufhandle = yy_scan_buffer(scanbuf, slen + 2);
BEGIN(INITIAL);
valbuf.clear();
}
/*
* Called after parsing is done to clean up after scanner_init()
*/
void scanner_finish(void)
{
char* str;
yy_delete_buffer(scanbufhandle);
free(scanbuf);
unsigned int i;
for(i=0; i<valbuf.size(); i++) {
str = valbuf[i];
if(str) {
// std::cout << "valbuf:(" << str << ")" << std::endl;
free(valbuf[i]);
}
}
valbuf.clear();
}
char* scanner_copy (char *str)
{
char* nv = strdup(str);
if(nv)
valbuf.push_back(nv);
return nv;
}

1075
dbcon/ddlpackage/ddl.y Normal file

File diff suppressed because it is too large Load Diff

208
dbcon/ddlpackage/ddlpkg.cpp Normal file
View File

@ -0,0 +1,208 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: ddlpkg.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#include <iostream>
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
namespace ddlpackage
{
using namespace std;
QualifiedName::QualifiedName(const char *name):
fName(name)
{
}
QualifiedName::QualifiedName(const char *schema, const char *name):
fName(name),
fSchema(schema)
{
}
QualifiedName::QualifiedName(const char* catalog, const char *schema, const char *name):
fCatalog(catalog),
fName(name),
fSchema(schema)
{
}
ostream& operator<<(ostream &os, const QualifiedName& qname)
{
if(!qname.fCatalog.empty())
os << qname.fCatalog << ".";
if(!qname.fSchema.empty())
os << qname.fSchema << ".";
os << qname.fName;
return os;
}
/** @brief Map a DECIMAL precision to data width in bytes */
unsigned int precision_width(unsigned p)
{
switch(p)
{
case 1:
case 2:
return 1;
case 3:
case 4:
return 2;
case 5:
case 6:
case 7:
case 8:
case 9:
return 4;
default:
return 8;
}
}
ColumnType::ColumnType(int prec, int scale) :
fType(DDL_INVALID_DATATYPE),
fLength(0),
fPrecision(prec),
fScale(scale),
fWithTimezone(false)
{
fLength = precision_width(fPrecision);
}
ColumnType::ColumnType(int type) :
fType(type),
fLength(0),
fScale(0),
fWithTimezone(false)
{
switch ( type )
{
case DDL_TINYINT:
case DDL_UNSIGNED_TINYINT:
fPrecision = 3;
break;
case DDL_SMALLINT:
case DDL_UNSIGNED_SMALLINT:
fPrecision = 5;
break;
case DDL_INT:
case DDL_UNSIGNED_INT:
case DDL_MEDINT:
fPrecision = 10;
break;
case DDL_BIGINT:
fPrecision = 19;
case DDL_UNSIGNED_BIGINT:
fPrecision = 20;
break;
default:
fPrecision = 10;
break;
}
}
#if 0
ColumnType::ColumnType(int type, int length, int precision, int scale, int compressiontype, const char* autoIncrement, int64_t nextValue, bool withTimezone) :
fType(type) ,
fLength(length),
fPrecision(precision),
fScale(scale),
fWithTimezone(withTimezone),
fCompressiontype(compressiontype),
fAutoincrement(autoIncrement),
fNextvalue(nextValue)
{
}
#endif
ColumnConstraintDef::ColumnConstraintDef(DDL_CONSTRAINTS type) :
SchemaObject(),
fDeferrable(false),
fCheckTime(DDL_INITIALLY_IMMEDIATE),
fConstraintType(type),
fCheck("")
{
}
ColumnConstraintDef::ColumnConstraintDef(const char *check) :
SchemaObject(),
fDeferrable(false),
fCheckTime(DDL_INITIALLY_IMMEDIATE),
fConstraintType(DDL_CHECK),
fCheck(check)
{
}
AtaAddColumn::AtaAddColumn(ColumnDef *columnDef) :
fColumnDef(columnDef)
{
}
ostream &operator<<(ostream& os, const ReferentialAction& ref)
{
os << "ref action: u=" << ReferentialActionStrings[ref.fOnUpdate] << " "
<< "d=" << ReferentialActionStrings[ref.fOnDelete];
return os;
}
void ColumnDef::convertDecimal()
{
//@Bug 2089 decimal precision default to 10 if 0 is used.
if (fType->fPrecision <= 0)
fType->fPrecision = 10;
if (fType->fPrecision == -1 || fType->fPrecision == 0)
{
fType->fType = DDL_BIGINT;
fType->fLength = 8;
fType->fScale = 0;
}
else if ((fType->fPrecision > 0) && (fType->fPrecision < 3))
{
//dataType = CalpontSystemCatalog::TINYINT;
fType->fType = DDL_TINYINT;
fType->fLength = 1;
}
else if (fType->fPrecision < 5 && (fType->fPrecision > 2))
{
//dataType = CalpontSystemCatalog::SMALLINT;
fType->fType = DDL_SMALLINT;
fType->fLength = 2;
}
else if (fType->fPrecision > 4 && fType->fPrecision < 10)
{
//dataType = CalpontSystemCatalog::INT;
fType->fType = DDL_INT;
fType->fLength = 4;
}
else if (fType->fPrecision > 9 && fType->fPrecision < 19)
{
//dataType = CalpontSystemCatalog::BIGINT;
fType->fType = DDL_BIGINT;
fType->fLength = 8;
}
}
}

1602
dbcon/ddlpackage/ddlpkg.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: dropindex.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#include "ddlpkg.h"
namespace ddlpackage {
using namespace std;
DropIndexStatement::~DropIndexStatement()
{
delete fIndexName;
}
DropIndexStatement::DropIndexStatement(QualifiedName *qualifiedName) :
fIndexName(qualifiedName)
{
}
std::ostream& DropIndexStatement::put(std::ostream& os) const
{
os << "Drop Index: " << *fIndexName << endl;
return os;
}
}

View File

@ -0,0 +1,48 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: markpartition.cpp 6566 2010-04-27 18:02:51Z rdempsey $
*
*
***********************************************************************/
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
using namespace std;
namespace ddlpackage {
DropPartitionStatement::DropPartitionStatement(QualifiedName *qualifiedName) :
fTableName(qualifiedName)
{
}
ostream& DropPartitionStatement::put(ostream& os) const
{
os << "Mark partitions out of service: " << *fTableName << endl;
os << " partitions: ";
set<BRM::LogicalPartition>::const_iterator it;
for (it=fPartitions.begin(); it!=fPartitions.end(); ++it)
os << (*it) << " ";
os << endl;
return os;
}
}

View File

@ -0,0 +1,55 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: droptable.cpp 9210 2013-01-21 14:10:42Z rdempsey $
*
*
***********************************************************************/
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
using namespace std;
namespace ddlpackage {
DropTableStatement::DropTableStatement(QualifiedName *qualifiedName, bool cascade) :
fTableName(qualifiedName),
fCascade(cascade)
{
}
ostream& DropTableStatement::put(ostream& os) const
{
os << "Drop Table: " << *fTableName << " " << "C=" << fCascade << endl;
return os;
}
TruncTableStatement::TruncTableStatement(QualifiedName *qualifiedName) :
fTableName(qualifiedName)
{
}
ostream& TruncTableStatement::put(ostream& os) const
{
os << "Truncate Table: " << *fTableName << endl;
return os;
}
}

23
dbcon/ddlpackage/grambatch Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
# This is a temporary testing device for the ddl parser.
success=
fail=
files=$(echo sql/at*.sql sql/ct*.sql sql/atdtc*.sql sql/dt*.sql sql/di*.sql sql/ci*.sql \
sql/atrc01.sql sql/atmct01.sql)
echo files is $files
for x in $files; do
if ./gramtest --sql $x; then
success="$success $x"
else
fail="$fail $x"
fi
done
echo;echo
echo Success: $success
echo Failure: $fail

View File

@ -0,0 +1,74 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
#include <iostream>
#include <fstream>
#include <errno.h>
#include <boost/program_options.hpp>
#include "sqlparser.h"
using namespace std;
using namespace ddlpackage;
namespace po = boost::program_options;
#include "ddl-gram.h"
int main(int argc, char* argv[])
{
string sqlfile;
int count;
po::options_description desc ("Allowed options");
desc.add_options ()
("help", "produce help message")
("bisond", /* po::value <string>(),*/ "Have bison produce debug output")
("count", po::value <int>(), "number of runs")
("sql", po::value < string > (), "sql file");
po::variables_map vm;
po::store (po::parse_command_line (argc, argv, desc), vm);
po::notify (vm);
if (vm.count ("sql"))
sqlfile = vm["sql"].as <string> ();
if (vm.count("count"))
count = vm["count"].as<int>();
SqlFileParser parser;
if (vm.count ("bisond"))
parser.SetDebug(true);
parser.Parse(sqlfile);
if(parser.Good()) {
const ParseTree &ptree = parser.GetParseTree();
cout << "Parser succeeded." << endl;
cout << ptree.fList.size() << " " << "SQL statements" << endl;
cout << ptree;
cout << endl;
}
else {
cout << "Parser failed." << endl;
}
return parser.Good() ? 0 : -1;
}

View File

@ -0,0 +1,48 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: markpartition.cpp 6566 2010-04-27 18:02:51Z rdempsey $
*
*
***********************************************************************/
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
using namespace std;
namespace ddlpackage {
MarkPartitionStatement::MarkPartitionStatement(QualifiedName *qualifiedName) :
fTableName(qualifiedName)
{
}
ostream& MarkPartitionStatement::put(ostream& os) const
{
os << "Mark partition out of service: " << *fTableName;
os << " partitions: ";
set<BRM::LogicalPartition>::const_iterator it;
for (it=fPartitions.begin(); it!=fPartitions.end(); ++it)
os << (*it) << " ";
os << endl;
return os;
}
}

View File

@ -0,0 +1,719 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***************************************************************************
* dhill@srvengcm1.calpont.com
*
* Purpose: dll package tester
*
***************************************************************************/
#include <string>
#include <sstream>
#include <exception>
#include <iostream>
#include <fstream>
#include <unistd.h>
#include <vector>
#include <cppunit/extensions/HelperMacros.h>
#include "ddlpackage.h"
#include "mysqlddlstatement.h"
#include "calpontddlpackage.h"
#include "calpontddlfactory.h"
#include "createobjectddlpackage.h"
#include "alterobjectddlpackage.h"
#include "dropobjectddlpackage.h"
#include "messagequeue.h"
using namespace std;
using namespace ddlpackage;
using namespace messageqcpp;
std::string itoa(const int i);
// READ & WRITE STATEMENT TESTS
class DDLWriteReadTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLWriteReadTest );
CPPUNIT_TEST( test_write_read_create_table_object );
CPPUNIT_TEST( test_write_read_create_index_object );
CPPUNIT_TEST( test_write_read_alter_table_object );
CPPUNIT_TEST( test_write_read_drop_table_object );
CPPUNIT_TEST( test_write_read_drop_index_object );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp()
{
}
void tearDown()
{
}
// CREATE TABLE
void test_write_read_create_table_object()
{
ByteStream bytestream;
std::string ddl_statement = "CREATE TABLE calpont.PART(p_partkey int not null, p_a varchar(55), p_b decimal(8,2) unique, p_c int default 1, p_d varchar(25) default 'unknown' check (varchar = 'a' ), foreign key (p_partkey) references Customers(p_partkey)) engine=infinidb;";
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
CPPUNIT_ASSERT( 0 != pDDLStatement );
pDDLStatement->populateFromDDLStatement( ddl_statement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
CPPUNIT_ASSERT( 0 != pDDLPackage );
// parse the data
pDDLPackage->Parse();
write_create_table_object( bytestream, pDDLPackage );
delete pDDLStatement;
delete pDDLPackage;
read_create_table_object( bytestream );
}
void write_create_table_object( ByteStream& bs, CalpontDDLPackage* pDDLPackage )
{
pDDLPackage->Write( bs );
}
void read_create_table_object( ByteStream& bs )
{
ByteStream::byte package_type;
bs >> package_type;
CPPUNIT_ASSERT( DDL_CREATE == package_type );
CreateObjectDDLPackage *pObject = new CreateObjectDDLPackage();
pObject->Read( bs );
delete pObject;
}
// CREATE INDEX
void test_write_read_create_index_object()
{
ByteStream bytestream;
std::string ddl_statement = "CREATE INDEX calpont.index1 ON calpont.PART(p_partkey,p_a) engine=infinidb;";
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
CPPUNIT_ASSERT( 0 != pDDLStatement );
pDDLStatement->populateFromDDLStatement( ddl_statement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
CPPUNIT_ASSERT( 0 != pDDLPackage );
// parse the data
pDDLPackage->Parse();
write_create_index_object( bytestream, pDDLPackage );
delete pDDLStatement;
delete pDDLPackage;
read_create_index_object( bytestream );
}
void write_create_index_object( ByteStream& bs, CalpontDDLPackage* pDDLPackage )
{
pDDLPackage->Write( bs );
}
void read_create_index_object( ByteStream& bs )
{
ByteStream::byte package_type;
bs >> package_type;
CPPUNIT_ASSERT( DDL_CREATE == package_type );
CreateObjectDDLPackage *pObject = new CreateObjectDDLPackage();
pObject->Read( bs );
delete pObject;
}
// ALTER TABLE
void test_write_read_alter_table_object()
{
ByteStream bytestream;
std::string ddl_statement = "ALTER TABLE calpont.PART_a ADD id int engine=infinidb;";
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
CPPUNIT_ASSERT( 0 != pDDLStatement );
pDDLStatement->populateFromDDLStatement( ddl_statement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
CPPUNIT_ASSERT( 0 != pDDLPackage );
// parse the data
pDDLPackage->Parse();
write_alter_table_object( bytestream, pDDLPackage );
delete pDDLStatement;
delete pDDLPackage;
read_alter_table_object( bytestream );
}
void write_alter_table_object( ByteStream& bs, CalpontDDLPackage* pDDLPackage )
{
pDDLPackage->Write( bs );
}
void read_alter_table_object( ByteStream& bs )
{
ByteStream::byte package_type;
bs >> package_type;
CPPUNIT_ASSERT( DDL_ALTER == package_type );
AlterObjectDDLPackage *pObject = new AlterObjectDDLPackage();
pObject->Read( bs );
delete pObject;
}
// DROP TABLE
void test_write_read_drop_table_object()
{
ByteStream bytestream;
std::string ddl_statement = "DROP TABLE calpont.PART_a CASCADE CONSTRAINTS engine=infinidb;";
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
CPPUNIT_ASSERT( 0 != pDDLStatement );
pDDLStatement->populateFromDDLStatement( ddl_statement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
CPPUNIT_ASSERT( 0 != pDDLPackage );
// parse the data
pDDLPackage->Parse();
write_drop_table_object( bytestream, pDDLPackage );
delete pDDLStatement;
delete pDDLPackage;
read_drop_table_object( bytestream );
}
void write_drop_table_object( ByteStream& bs, CalpontDDLPackage* pDDLPackage )
{
pDDLPackage->Write( bs );
}
void read_drop_table_object( ByteStream& bs )
{
ByteStream::byte package_type;
bs >> package_type;
CPPUNIT_ASSERT( DDL_DROP == package_type );
DropObjectDDLPackage *pObject = new DropObjectDDLPackage();
pObject->Read( bs );
delete pObject;
}
// DROP INDEX
void test_write_read_drop_index_object()
{
ByteStream bytestream;
std::string ddl_statement = "DROP INDEX calpont.INDEX_1 on calpont.PART engine=infinidb;";
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
CPPUNIT_ASSERT( 0 != pDDLStatement );
pDDLStatement->populateFromDDLStatement( ddl_statement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
CPPUNIT_ASSERT( 0 != pDDLPackage );
// parse the data
pDDLPackage->Parse();
write_drop_index_object( bytestream, pDDLPackage );
delete pDDLStatement;
delete pDDLPackage;
read_drop_index_object( bytestream );
}
void write_drop_index_object( ByteStream& bs, CalpontDDLPackage* pDDLPackage )
{
pDDLPackage->Write( bs );
}
void read_drop_index_object( ByteStream& bs )
{
ByteStream::byte package_type;
bs >> package_type;
CPPUNIT_ASSERT( DDL_DROP == package_type );
DropObjectDDLPackage *pObject = new DropObjectDDLPackage();
pObject->Read( bs );
delete pObject;
}
};
// PARSE STATEMENT TESTS
class DDLCreateTableParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLCreateTableParserTest );
CPPUNIT_TEST( create_t1 );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp()
{
}
void tearDown()
{
}
void create_t1()
{
ifstream fin("sql/examples/create-table.sql");
CPPUNIT_ASSERT( fin != NULL );
// read CREATE TABLE statements from buffer and parse
for (;;)
{
string fileBuffer;
char Buffer[64000];
string::size_type pos_begin;
fin.getline (Buffer, 64000, ';');
fileBuffer = Buffer;
string::size_type pos = fileBuffer.find ("create ",0);
string::size_type pos1 = fileBuffer.find ("CREATE ",0);
if (pos == string::npos && pos1 == string::npos )
// end of file
break;
if (pos < pos1)
pos_begin = pos;
else
pos_begin = pos1;
std::string DDLStatement = fileBuffer.substr (pos_begin,64000);
fileBuffer.append(";");
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
pDDLStatement->populateFromDDLStatement( DDLStatement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
// parse the data
pDDLPackage->Parse();
delete pDDLStatement;
delete pDDLPackage;
}
fin.close();
}
};
class DDLCreateIndexParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLCreateIndexParserTest );
CPPUNIT_TEST( createIndex_t1 );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp()
{
}
void tearDown()
{
}
void createIndex_t1()
{
ifstream fin("sql/examples/create-index.sql");
CPPUNIT_ASSERT( fin != NULL );
// read CREATE INDEX statements from buffer and parse
for (;;)
{
string fileBuffer;
char Buffer[64000];
string::size_type pos_begin;
fin.getline (Buffer, 64000, ';');
fileBuffer = Buffer;
string::size_type pos = fileBuffer.find ("create ",0);
string::size_type pos1 = fileBuffer.find ("CREATE ",0);
if (pos == string::npos && pos1 == string::npos )
// end of file
break;
if (pos < pos1)
pos_begin = pos;
else
pos_begin = pos1;
std::string DDLStatement = fileBuffer.substr (pos_begin,64000);
fileBuffer.append(";");
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
pDDLStatement->populateFromDDLStatement( DDLStatement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
// parse the data
pDDLPackage->Parse();
delete pDDLStatement;
delete pDDLPackage;
}
fin.close();
}
};
class DDLAlterTableParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLAlterTableParserTest );
CPPUNIT_TEST( alter_t1 );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp()
{
}
void tearDown()
{
}
void alter_t1()
{
ifstream fin("sql/examples/alter-table.sql");
CPPUNIT_ASSERT( fin != NULL );
// read ALTER TABLE statements from buffer and parse
for (;;)
{
string fileBuffer;
char Buffer[64000];
string::size_type pos_begin;
fin.getline (Buffer, 64000, ';');
fileBuffer = Buffer;
string::size_type pos = fileBuffer.find ("alter ",0);
string::size_type pos1 = fileBuffer.find ("ALTER ",0);
if (pos == string::npos && pos1 == string::npos )
// end of file
break;
if (pos < pos1)
pos_begin = pos;
else
pos_begin = pos1;
std::string DDLStatement = fileBuffer.substr (pos_begin,64000);
fileBuffer.append(";");
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
pDDLStatement->populateFromDDLStatement( DDLStatement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
// parse the data
pDDLPackage->Parse();
delete pDDLStatement;
delete pDDLPackage;
}
fin.close();
}
};
class DDLDropTableParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLDropTableParserTest );
CPPUNIT_TEST( drop_t1 );
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp()
{
}
void tearDown()
{
}
void drop_t1()
{
ifstream fin("sql/examples/drop-table.sql");
CPPUNIT_ASSERT( fin != NULL );
// read DROP TABLE statements from buffer and parse
for (;;)
{
string fileBuffer;
char Buffer[64000];
string::size_type pos_begin;
fin.getline (Buffer, 64000, ';');
fileBuffer = Buffer;
string::size_type pos = fileBuffer.find ("drop ",0);
string::size_type pos1 = fileBuffer.find ("DROP ",0);
if (pos == string::npos && pos1 == string::npos )
// end of file
break;
if (pos < pos1)
pos_begin = pos;
else
pos_begin = pos1;
std::string DDLStatement = fileBuffer.substr (pos_begin,64000);
fileBuffer.append(";");
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
pDDLStatement->populateFromDDLStatement( DDLStatement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
// parse the data
pDDLPackage->Parse();
delete pDDLStatement;
delete pDDLPackage;
}
fin.close();
}
};
class DDLDropIndexParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE( DDLDropIndexParserTest );
CPPUNIT_TEST( dropIndex_t1 );
CPPUNIT_TEST_SUITE_END();
private:
std::string fDDLStatement;
public:
void setUp()
{
}
void tearDown()
{
}
void dropIndex_t1()
{
ifstream fin("sql/examples/drop-index.sql");
CPPUNIT_ASSERT( fin != NULL );
// read DROP INDEX statements from buffer and parse
for (;;)
{
string fileBuffer;
char Buffer[64000];
string::size_type pos_begin;
fin.getline (Buffer, 64000, ';');
fileBuffer = Buffer;
string::size_type pos = fileBuffer.find ("drop ",0);
string::size_type pos1 = fileBuffer.find ("DROP ",0);
if (pos == string::npos && pos1 == string::npos )
// end of file
break;
if (pos < pos1)
pos_begin = pos;
else
pos_begin = pos1;
std::string DDLStatement = fileBuffer.substr (pos_begin,64000);
fileBuffer.append(";");
MySQLDDLStatement* pDDLStatement = new MySQLDDLStatement();
pDDLStatement->populateFromDDLStatement( DDLStatement );
CalpontDDLPackage* pDDLPackage = CalpontDDLFactory::makeCalpontDDLPackage(*pDDLStatement);
// parse the data
pDDLPackage->Parse();
delete pDDLStatement;
delete pDDLPackage;
}
fin.close();
}
};
CPPUNIT_TEST_SUITE_REGISTRATION( DDLDropIndexParserTest );
CPPUNIT_TEST_SUITE_REGISTRATION( DDLDropTableParserTest );
// DOESN'T NOT PARSE CPPUNIT_TEST_SUITE_REGISTRATION( DDLAlterTableParserTest );
CPPUNIT_TEST_SUITE_REGISTRATION( DDLCreateIndexParserTest );
CPPUNIT_TEST_SUITE_REGISTRATION( DDLCreateTableParserTest );
CPPUNIT_TEST_SUITE_REGISTRATION( DDLWriteReadTest );
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
int main(int argc, char *argv[])
{
CppUnit::TextUi::TestRunner runner;
CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
runner.addTest( registry.makeTest() );
bool wasSuccessful = runner.run( "", false );
return (wasSuccessful ? 0 : 1);
}
string itoa(const int i)
{
stringstream ss;
ss << i;
return ss.str();
}

View File

@ -0,0 +1,48 @@
/* Copyright (C) 2014 InfiniDB, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/***********************************************************************
* $Id: markpartition.cpp 6566 2010-04-27 18:02:51Z rdempsey $
*
*
***********************************************************************/
#define DDLPKG_DLLEXPORT
#include "ddlpkg.h"
#undef DDLPKG_DLLEXPORT
using namespace std;
namespace ddlpackage {
RestorePartitionStatement::RestorePartitionStatement(QualifiedName *qualifiedName) :
fTableName(qualifiedName)
{
}
ostream& RestorePartitionStatement::put(ostream& os) const
{
os << "Mark partition out of service: " << *fTableName;
os << " partitions: ";
set<BRM::LogicalPartition>::const_iterator it;
for (it=fPartitions.begin(); it!=fPartitions.end(); ++it)
os << (*it) << " ";
os << endl;
return os;
}
}

View File

@ -0,0 +1,6 @@
PATH=C:\PROGRA~2\GNUWIN32\BIN;%PATH%
del ddl-gram-win.h >nul 2>&1
bison -l -v -d -p ddl -o ddl-gram-win.cpp ddl.y
ren ddl-gram-win.hpp ddl-gram-win.h
flex -i -L -Pddl -oddl-scan-win.cpp ddl.l

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
ALTER TABLE TAB753 ADD COLUMN COL4 NUMERIC(7);

View File

@ -0,0 +1,4 @@
-- Add integer column with 0 default
ALTER TABLE CHANGG
ADD COLUMN DIVORCES INT DEFAULT 0;

View File

@ -0,0 +1,7 @@
-- Big add
ALTER TABLE USIG
ADD COLUMN NUL INT,
ADD COLUMN c4 INT,
ADD c3 decimal(6,2),
add c4 char(10),
add c5 varchar(1024);

View File

@ -0,0 +1,5 @@
-- Add a column of char(4). Make ddpkglist of size 2
ALTER TABLE T0878 ADD C2 CHAR (4);
ALTER TABLE T0878 ADD C2 CHAR (4)

Some files were not shown because too many files have changed in this diff Show More