NAME

DDC::XS::CQueryCompiler - XS interface to DDC C++ CQueryCompiler objects

SYNOPSIS

 #---------------------------------------------------------------------
 # Preliminaries
 
 use DDC::XS;

 #---------------------------------------------------------------------
 # Constructors etc.
 
 $compiler = DDC::XS::CQueryCompiler->new();
 undef $compiler;                            #-- auto-magically freed

 #---------------------------------------------------------------------
 # Accessors
 
 $CQuery = $compiler->getQuery();
 undef   = $compiler->setQuery($query);      #-- may leak memory!
 
 $bool   = $compiler->getKeepLexerComments();
 undef   = $compiler->setKeepLexerComments($bool);

 #----------------------------------------------------------------------
 # Methods
 
 $CQuery = $compiler->ParseQuery($string);  #-- croak()s on syntax errors
 undef   = $compiler->CleanParser();        #-- drops associated query
 $string = $compiler->QueryToString();      #-- canonical string for current query
 $string = $compiler->QueryToJson();        #-- json string for current query

DESCRIPTION

The DDC::XS::CQueryCompiler object provides a perl interface to the DDC C++ CQueryCompiler class, used to parse DDC queries. It inherits from "DDC::XS::Object" in DDC::XS::Object. If you only use this class to parse queries and read their properties, you shouldn't need to worry about memory leaks. If you're "stealing" queries from the compiler and/or manipulating them using the perl API, see the caveats in DDC::XS::Object.

The package DDC::XS::QueryCompiler is a backwards-compatible alias for DDC::XS::CQueryCompiler. Names have been changed to protect the innocent and to mirror more precisely the names of the underlying C++ classes.

SEE ALSO

perl(1), DDC::XS(3perl), DDC::XS::Object(3perl), DDC::XS::CQuery(3perl), DDC::XS::CQCount(3perl), DDC::XS::CQFilter(3perl), DDC::XS::CQueryOptions(3perl).

AUTHOR

Bryan Jurish <moocow@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2015-2020 by Bryan Jurish

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.