class FluentQuery::Drivers::Shared::Tokens::SQL::Truncate

Generic SQL query TRUNCATE token.

Public Instance Methods

render!(mode = nil) click to toggle source

Renders this token.

# File lib/fluent-query/drivers/shared/tokens/sql/truncate.rb, line 23
def render!(mode = nil)
    processor = @_query.processor
    result = "TRUNCATE TABLE "

    @_subtokens.each do |token|
        arguments = token.arguments

        # FROM token
        
        if token.name == :truncate

            # Checks for arguments
            if (not arguments.first.symbol?)
                raise FluentQuery::Drivers::Exception::new("Symbol argument expected for #truncate method.")
            end

            # Process
            table = processor.quote_identifier(arguments.first)
            result << table

        # Unknown tokens renders directly
        else
            result << self.unknown_token::new(@_driver, @_query, [token]).render!
        end
        
    end

    result << " CASCADE"
    return result
end